Linux 下常用shell命令

Linux Shell常用shell命令

一、文件、目錄操作命令

1、ls命令

功能:顯示文件和目錄的信息

ls 以默認方式顯示當前目錄文件列表

ls -a 顯示所有文件包括隱藏文件

ls -l 顯示文件屬性,包括大小,日期,符號連接,是否可讀寫及是否可執行

ls -lh 顯示文件的大小,以容易理解的格式印出文件大小 (例如 1K 234M2G)

ls -lt 顯示文件,按照修改時間排序

2、cd命令

功能:改名目錄

cd dir 切換到當前目錄下的dir目錄

cd / 切換到根目錄

cd .. 切換到到上一級目錄

cd ../.. 切換到上二級目錄

cd ~ 切換到用戶目錄,比如是root用戶,則切換到/root下

3、cp命令

功能:copy文件

cp source target 將文件source復制為target

cp /root /source. 將/root下的文件source復制到當前目錄

cp –av soure_dir target_dir 將整個目錄復制,兩目錄完全一樣

4、rm命令

功能:刪除文件或目錄

rm file 刪除某一個文件

rm -f file 刪除時候不進行提示。可以于r參數配合使用

rm -rf dir 刪除當前目錄下叫dir的整個目錄

5、mv命令

功能:將文件移動走,或者改名,在uinx下面沒有改名的命令,如果想改名,可以使用該命令

mv source target 將文件source更名為target

6、diff

功能:比較文件內容

diff dir1 dir2 比較目錄1與目錄2的文件列表是否相同,但不比較文件的實際內容,不同則列出

diff file1 file2 比較文件1與文件2的內容是否相同,如果是文本格式的文件,則將不相同的內容顯示,如果是二進制代碼則只表示兩個文件是不同的

comm file1 file2 比較文件,顯示兩個文件不相同的內容

7、ln命令

功能:建立鏈接。windows的快捷方式就是根據鏈接的原理來做的

ln source_path target_path 硬連接

ln -s source_path target_path 軟連接


二、查看文件內容命令

1、cat命令

顯示文件的內容,和DOS的type相同

cat file

2、more命令

功能:分頁顯示命令

more file

more命令也可以通過管道符(|)與其他的命令一起使用,例如:

ps ux|more

ls|more

3、tail 命令

功能:顯示文件的最后幾行

tail -n 100 aaa.txt 顯示文件aaa.txt文件的最后100行

4、vi命令

vi file 編輯文件file

vi 原基本使用及命令:

輸入命令的方式為先按[ESC]鍵,然后輸入:w(寫入文件),:w!(不詢問方式寫入文件),:wq保存并退出,:q退出,q!不保存退出

5、touch命令

功能:創建一個空文件

touch aaa.txt??創建一個空文件,文件名為aaa.txt

三、基本系統命令

1、man命令

功能:查看某個命令的幫助,如果你不知道某個命令的用法不懂,可以問他,他知道就回告訴你

例如:

man ls 顯示ls命令的幫助內容

2、w命令

功能:顯示登錄用戶的詳細信息

例如:

Sarge:~# w

22:06:51 up 43 min,??1 user,??load average: 0.00, 0.00, 0.00

USER? ???TTY? ?? ?FROM? ?? ?? ?? ???LOGIN@? ?IDLE? ?JCPU? ?PCPU WHAT

zhoulj? ?pts/0? ? 10.140.0.109? ???21:24? ? 0.00s??0.85s??0.09s sshd: zhoulj [priv]

3、who命令

功能:顯示登錄用戶

例如:

Sarge:~# who

zhoulj? ?pts/0? ?? ???Mar 13 21:24 (10.140.0.109)

4、last命令

功能:查看最近那些用戶登錄系統

例如:

Sarge:~# last

zhoulj? ?pts/0? ?? ???10.140.0.109? ???Mon Mar 13 21:24? ?still logged in? ?

reboot? ?system boot??2.6.8-2-386? ?? ?Mon Mar 13 21:23? ?? ?? ? (00:43)? ?

zhoulj? ?pts/0? ?? ???10.140.0.105? ???Sun Mar 12 22:51 - down? ?(00:00)? ?

zhoulj? ?pts/0? ?? ???10.140.0.105? ???Sun Mar 12 22:51 - 22:51??(00:00)? ?

root? ???tty1? ?? ?? ?? ?? ?? ?? ?? ???Sun Mar 12 22:50 - down? ?(00:01)? ?

root? ???tty1? ?? ?? ?? ?? ?? ?? ?? ???Sun Mar 12 22:46 - 22:48??(00:02)? ?

root? ???tty1? ?? ?? ?? ?? ?? ?? ?? ???Sun Mar 12 22:43 - 22:46??(00:02)? ?

reboot? ?system boot??2.6.8-2-386? ?? ?Mon Mar 13 06:34? ?? ?? ? (-7:-41)? ?

wtmp begins Mon Mar 13 06:34:11 2006

5、date命令

功能:系統日期設定

date 顯示當前日期時間

date -s 20:30:30 設置系統時間為20:30:30

date -s 2002-3-5 設置系統時期為2003-3-5

date -s "060520 06:00:00" 設置系統時期為2006年5月20日6點整。

6、clock命令

功能:時鐘設置

clock –r 對系統Bios中讀取時間參數

clock –w 將系統時間(如由date設置的時間)寫入Bios

7、uname命令

功能:查看系統版本

uname -R 顯示操作系統內核的version

例如:

Sarge:~# uname -a

Linux Sarge 2.6.8-2-386 #1 Tue Aug 16 12:46:35 UTC 2005 i686 GNU/Linux

8、關閉和重新啟動系統命令

reboot ??重新啟動計算機

shutdown -r now??重新啟動計算機,停止服務后重新啟動計算機

shutdown -h now??關閉計算機,停止服務后再關閉系統

halt? ?關閉計算機

一般用shutdown -r now,在重啟系統是,關閉相關服務,shutdown -h now也是如此。

9、su命令

功能:切換用戶

su -??切換到root用戶

su - zhoulj 切換到zhoulj用戶,

注意:- ,他很關鍵,使用-,將使用用戶的環境變量

四、監視系統狀態命令

1、top命令

功能:查看系統cpu、內存等使用情況

2、free命令

功能:查看內存和swap分區使用情況

例如:

Sarge:~# free -tm

? ?? ?? ?? ?? ? total? ?? ? used? ?? ? free? ???shared? ? buffers? ???cached

Mem:? ?? ?? ???187? ?? ?? ?42? ?? ???145? ?? ?? ? 0? ?? ?? ? 6? ?? ?? ?16

-/+ buffers/cache:? ?? ?? ?19? ?? ???167

Swap:? ?? ?? ? 243? ?? ?? ? 0? ?? ???243

Total:? ?? ?? ?430? ?? ?? ?42? ?? ???388

3、uptime

功能:現在的時間 ,系統開機運轉到現在經過的時間,連線的使用者數量,最近一分鐘,五分鐘和十五分鐘的系統負載

例如:

Sarge:~# uptime

21:54:46 up 31 min,??1 user,??load average: 0.00, 0.00, 0.00

4、vmstat命令

功能:監視虛擬內存使用情況

例如:

# vmstat

procs? ?? ?? ?? ?? ?? ?? ? memory? ?? ?swap? ?? ?? ? io? ???system? ?? ?? ?cpu

r??b? ?swpd? ?free? ?buff??cache? ?si? ?so? ? bi? ? bo? ?in? ? cs us sy id wa

1??0? ?? ?0??63704? ?8100??32272? ? 0? ? 0? ???8? ???3??103? ? 17??0??1 98??1

5、ps命令

功能:顯示進程信息

ps ux 顯示當前用戶的進程

ps uxwww 顯示當前用戶的進程的詳細信息

ps aux 顯示所有用戶的進程

ps ef 顯示系統所有進程信息

6、kill命令

功能:干掉某個進程,進程號可以通過ps命令得到

kill -9 1001 將進程編號為1001的程序干掉

kill all -9 apache 將所有名字為apapche的程序殺死,kill不是萬能的,對僵死的程序則無效。

五、磁盤操作命令

1、df命令

功能:檢查文件系統的磁盤空間占用情況。可以利用該命令來獲取硬盤被占用了多少空間,目前還剩下多少空間等信息。

參數 功能

-a 列出全部目錄

-Ta 列出全部目錄,并且顯示文件類型

-B 顯示塊信息

-i 以i節點列出全部目錄

-h 按照日常習慣顯示(如:1K、100M、20G)

-x [filesystype] 不顯示[filesystype]

例如:

# df -Th

Filesystem? ? Type? ? Size??Used Avail Use% Mounted on

/dev/sda1? ???ext3? ? 265M? ?64M??187M??26% /

tmpfs? ?? ???tmpfs? ???94M? ???0? ?94M? ?0% /dev/shm

/dev/sda6? ???ext3? ? 714M??8.1M??667M? ?2% /home

/dev/sda8? ???ext3? ? 956M??215M??691M??24% /usr

/dev/sda7? ???ext3? ? 714M? ?57M??619M? ?9% /var

2、du命令

功能:檢測一個目錄和(遞歸地)所有它的子目錄中的文件占用的磁盤空間。

參數??功能

-s [dirName] 顯示目錄占用總空間

-sk [dirName] 顯示目錄占用總空間,以k為單位

-sb [dirName] 顯示目錄占用總空間,以b為單位

-sm [dirName] 顯示目錄占用總空間,以m為單位

-sc [dirName] 顯示目錄占用總空間,加上目錄統計

-sh [dirName] 只統計目錄大小

例如:

# du -sh /etc

1.3M? ???/etc

3、mount命令

功能:使用mount命令就可在Linux中掛載各種文件系統。

格式:mount -t??設備名 掛載點

(1)、mount /dev/sda1??/mnt/filetest

mount -t vfat /dev/hda??/mnt/fatfile

mount -t ntfs /dev/hda??/mnt/ntfsfile

mount -t iso9660 /dev/cdrom??/mnt/cdrom

mount -o??設備名 掛載點

(2)、使用usb設備

modprobe usb-storage

mkdir /mnt/usb

mount -t auto /dev/sdx1 /mnt/usb

umount /mnt/usb

4、mkswap命令

功能:使用mkswap命令可以創建swap空間,如:

debian:~# mkswap -c /dev/hda4

debian:~# swapon /dev/hda4? ?? ?#啟用新創建的swap空間,停用可使用swapoff命令

5、fdisk命令

功能:對磁盤進行分區

fdisk /dev/xxx 格式化xxx設備(xxx是指磁盤驅動器的名字,例如hdb,sdc)

fdisk -l 顯示磁盤的分區表

6、mkfs命令

功能:格式化文件系統,可以指定文件系統的類型,如ext2、ext3、fat、ntfs等

格式1:mkfs.ext3 options /dev/xxx

格式2:mkfs -t ext2 options /dev/xxx

參數? ?功能

-b??塊大小

-i? ?節點大寫

-m? ?預留管理空間大小

例如:

debian:~#mkfs.ext3 /dev/sdb1

7、e2fsck命令

功能:磁盤檢測

e2fsck /dev/hda1 檢查/dev/hda1是否有文件系統錯誤,提示修復方式

e2fsck -p /dev/hda1 檢查/dev/hda1是否有錯誤,如果有則自動修復

e2fsck -y /dev/hda1 檢查錯誤,所有提問均于yes方式執行

e2fsck -c /dev/hda1 檢查磁盤是否有壞區

8、tune2fs命令

功能:調整ext2/ext3文件的參數

參數??功能

-l??查看文件系統信息

-c??設置強制自檢的掛載次數

-i??設置強制自檢的間隔時間,單位天

-m??保留塊的百分比

-j??將ext2文件系統轉換成ext3格式

# tune2fs -l /dev/sda1

9、dd命令

功能:功能:把指定的輸入文件拷貝到指定的輸出文件中,并且在拷貝過程中可以進行格式轉換。

跟DOS下的diskcopy命令的作用類似。

dd if=/dev/fd0 of=floppy.img 將軟盤的內容復制成一個鏡像

dd if=floppy.img of=/dev/fd0 將一個鏡像的內容復制到軟盤,做驅動盤的時候經常用。

六、用戶和組相關命令

1、groupadd命令

功能:添加組

groupadd test1??添加test1組

groupadd -g 1111 test2??添加test2組,組id為1111

2、useradd命令

功能:添加用戶

useradd user1??添加用戶user1,home為/home/user1,組為user1

useradd -g test1 -m -d /home/test1 test1 添加用戶test1,home為/home/test1,組為test1

user list 顯示已登陸的用戶列表

3、passwd命令

功能:更改用戶密碼

passwd user1 修改用戶user1的密碼

passwd -d root 將root用戶的密碼刪除

4、userdel命令

功能:刪除用戶

userdel user1 刪除user1用戶

5、chown命令

功能:改變文件或目錄的所有者

chown user1 /dir 將/dir目錄設置為user1所有

chown -R user1.user1 /dir 將/dir目錄下所有文件和目錄,設置為user1所有,組為user1。-R遞歸到下面的每個文件和目錄

6、chgrp命令

功能:改變文件或目錄的所有組

chgrp user1 /dir 將/dir目錄設置為user1所有

7、chmod命令

功能:改變用戶的權限

chmod a+x file 將file文件設置為可執行,腳本類文件一定要這樣設置一個,否則得用bash file才能執行

chmod 666 file 將文件file設置為可讀寫

chmod 750 file 將文件file設置為,所有者為完全權限,同組可以讀和執行,其他無權限

8、id命令

功能:顯示用戶的信息,包括uid、gid等

# id zhoulj

uid=500(zhoulj) gid=500(zhoulj) groups=500(zhoulj)

9、finger命令

功能:顯示用的信息

注意:debian下沒有該命令。

# finger zhoulj

Login: zhoulj? ?? ?? ?? ?? ?? ?? ?? ?? ?Name:

Directory: /home/zhoulj? ?? ?? ?? ?? ???Shell: /bin/bash

On since Sun May 21 07:59 (CST) on pts/0 from 192.168.1.4

No mail.

No Plan.

七、壓縮命令

1、gzip格式命令

功能:壓縮文件,gz格式的

注意:生成的文件會把源文件覆蓋

gzip -v??壓縮文件,并且顯示進度

-d??解壓縮

gnuzip??-f??解壓縮

例如:

# gzip a.sh

#ll

-rwxr-xr-x? ? 1 root? ???root? ?? ?? ???71 12月 18 21:08 a.sh.gz

# gzip -d a.sh.gz

#ll

-rwxr-xr-x? ? 1 root? ???root? ?? ?? ???48 12月 18 21:08 a.sh

2、zip格式命令

功能:壓縮和解壓縮zip命令

zip? ?

unzip? ?

例如:

# zip a.sh.zip a.sh

??adding: a.sh (stored 0%)

# ll

-rw-r--r--? ? 1 root? ???root? ?? ?? ? 188??5月 21 10:37 a.sh.zip

# unzip a.sh.zip

Archive:??a.sh.zip

replace a.sh? [y]es, [n]o, [A]ll, [N]one, [r]ename: r

new name: a1.sh

extracting: a1.sh? ?? ?? ?? ?? ?? ?

# ll

-rwxr-xr-x? ? 1 root? ???root? ?? ?? ???48 12月 18 21:08 a1.sh

3、bzip2根式命令

功能:bzip2格式壓縮命令,

注意:生成的文件會把源文件覆蓋

bzip2? ?

bunzip2

例如:

# bzip2 a.sh

# ll

-rwxr-xr-x? ? 1 root? ???root? ?? ?? ???85 12月 18 21:08 a.sh.bz2

# bunzip2 a.sh.bz2

# ll

-rwxr-xr-x? ? 1 root? ???root? ?? ?? ???48 12月 18 21:08 a.sh

4、tar命令

功能:歸檔、壓縮等,比較重要,會經常使用。

-cvf? ? 壓縮文件或目錄

-xvf? ???解壓縮文件或目錄

-zcvf? ? 壓縮文件或,格式tar.gz

-zxvf? ? 解壓縮文件或,格式tar.gz

-zcvf? ???壓縮文件或,格式tgz

-zxvf? ???解壓縮文件或,格式tgz

舉例:

# tar cvf abc.tar *.sh

# tar xvf abc.tar

# tar czvf abc.tar.gz *.sh

# ll

-rw-r--r--? ? 1 root? ???root? ?? ???20480??5月 21 10:50 abc.tar

-rw-r--r--? ? 1 root? ???root? ?? ?? ?1223??5月 21 10:53 abc.tar.gz

# tar xzvf abc.tar.gz


八、網絡相關命令

1、ifconfig命令

功能:顯示修改網卡的信息

ifconfig??顯示網絡信息

ifconfig eth0 顯示eth0網絡信息

修改網絡信息:

ifconfig eth0 192.168.1.1 netmask 255.255.255.0 設置網卡1的地址192.168.1.1,掩碼為255.255.255.0

ifconfig eth0:1 192.168.1.2 ? ?捆綁網卡1的第二個地址為192.168.1.2

ifconfig eth0:x 192.168.1.n ? ?捆綁網卡1的第n個地址為192.168.1.n

例如:

# ifconfig eth0:1 192.168.1.11

# ifconfig

eth0? ?? ?Link encap:Ethernet??HWaddr 00:0C:29:06:9C:24??

? ?? ?? ? inet addr:192.168.1.5??Bcast:192.168.1.255??Mask:255.255.255.0

? ?? ?? ? UP BROADCAST RUNNING MULTICAST??MTU:1500??Metric:1

? ?? ?? ? RX packets:4220 errors:0 dropped:0 overruns:0 frame:0

? ?? ?? ? TX packets:3586 errors:0 dropped:0 overruns:0 carrier:0

? ?? ?? ? collisions:0 txqueuelen:1000

? ?? ?? ? RX bytes:342493 (334.4 Kb)??TX bytes:469020 (458.0 Kb)

? ?? ?? ? Interrupt:9 Base address:0x1400

eth0:1? ? Link encap:Ethernet??HWaddr 00:0C:29:06:9C:24??

? ?? ?? ? inet addr:192.168.1.11??Bcast:192.168.1.255??Mask:255.255.255.0

? ?? ?? ? UP BROADCAST RUNNING MULTICAST??MTU:1500??Metric:1

? ?? ?? ? Interrupt:9 Base address:0x1400

2、route命令

功能:顯示當前路由設置情況

route 顯示當前路由設置情況,比較慢一般不用。

route add -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254??添加靜態路由

route del -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254??添加靜態路由

route add default gw 192.168.1.1 metric1 ? ?設置192.168.1.1為默認的路由

route del default ? ?? ?將默認的路由刪除

舉例:

# route add -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254

# netstat -nr

Kernel IP routing table

Destination? ???Gateway? ?? ?? ?Genmask? ?? ?? ?Flags? ?MSS Window??irtt Iface

192.168.1.0? ???0.0.0.0? ?? ?? ?255.255.255.0? ?U? ?? ?? ?0 0? ?? ?? ? 0 eth0

10.0.0.0? ?? ???192.168.1.254? ?255.255.0.0? ???UG? ?? ???0 0? ?? ?? ? 0 eth0

169.254.0.0? ???0.0.0.0? ?? ?? ?255.255.0.0? ???U? ?? ?? ?0 0? ?? ?? ? 0 eth0

0.0.0.0? ?? ?? ?192.168.1.254? ?0.0.0.0? ?? ?? ?UG? ?? ???0 0? ?? ?? ? 0 eth0

# route del -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254? ?

# netstat -nr

Kernel IP routing table

Destination? ???Gateway? ?? ?? ?Genmask? ?? ?? ?Flags? ?MSS Window??irtt Iface

192.168.1.0? ???0.0.0.0? ?? ?? ?255.255.255.0? ?U? ?? ?? ?0 0? ?? ?? ? 0 eth0

169.254.0.0? ???0.0.0.0? ?? ?? ?255.255.0.0? ???U? ?? ?? ?0 0? ?? ?? ? 0 eth0

0.0.0.0? ?? ?? ?192.168.1.254? ?0.0.0.0? ?? ?? ?UG? ?? ???0 0? ?? ?? ? 0 eth0

3、netstat命令

功能:顯示網絡狀態

netstat -an??查看網絡端口信息

netstat -nr 查看路由表信息,比route快多了,

4、啟動網絡的命令

redhat族的命令:

/etc/init.d/network

debian命令:

/etc/init.d/networking

例如:

/etc/init.d/network stop 停止網絡,

/etc/init.d/network start 啟動網絡,

5、手工修改網絡配置

(1)、debian系統

配置文件位置為:/etc/network/interfaces

# The loopback network interface

auto lo

iface lo inet loopback

# The primary network interface

auto eth0 eth1

iface eth0 inet static

? ?? ???address 10.4.5.6

? ?? ???netmask 255.255.255.0

? ?? ???network 10.4.5.0

? ?? ???broadcast 10.4.5.255

iface eth1 inet static

? ?? ???address 219.25.5.60

? ?? ???netmask 255.255.255.192

? ?? ???network 219.25.5.0

? ?? ???broadcast 219.25.5.63

? ?? ???gateway 219.25.5.30

修改后保存配置后,運行

/etc/init.d/networking restart

網絡配置就改變了

(2)、redhat系統

配置文件位置為:/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=static

BROADCAST=192.168.1.255

IPADDR=192.168.1.5

NETMASK=255.255.255.0

NETWORK=192.168.1.0

GATEWAY=192.168.1.254

ONBOOT=yes

TYPE=Ethernet

修改后保存配置后,運行

/etc/init.d/network restart

或者

service network restart

網絡配置就改變了。

默認DNS的文件的位置為:/etc/resolv.conf??

#cat /etc/resolv.conf

search test.com.cn

nameserver 192.168.1.11

6、網絡排錯

(1)、ping命令

功能:不說了,不知道就用干這行了。

ping

(2)、traceroute命令

功能:路由跟蹤

traceroute

traceroute 207.68.173.7

(3)、nslookup命令

功能:域名解析排錯

例如:

$ nslookup

Note:??nslookup is deprecated and may be removed from future releases.

Consider using the `dig' or `host' programs instead.??Run nslookup with

the `-sil[ent]' option to prevent this message from appearing.

>

Server:? ?? ?? ?192.168.1.11

Address:? ?? ???192.168.1.11#53

Non-authoritative answer:

Name:? ?

Address: 202.118.66.66

> server 202.118.66.6

Default server: 202.118.66.6

Address: 202.118.66.6#53

>

Server:? ?? ?? ?202.118.66.6

Address:? ?? ???202.118.66.6#53

Non-authoritative answer:? ?canonical name =

.

Name:? ?

Address: 202.108.22.5

九、其他命令

1、ssh命令

功能:遠程登陸到其他UNIX主機

ssh -l user1 192.168.1.2 使用用戶名user1登陸到192.168.1.2

ssh

? ?使用用戶名user1登陸到192.168.1.2

2、scp命令

功能:安全copy

例如:

scp abc.tar.gz

:~ 將本地的abc.tar.gz 復制到 192.168.1.5的user1用戶的根(/home/user1)下。

3、telnet命令

功能:登陸到遠程主機

例如:

telnet 192.168.1.5

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Linux Shell常用shell命令 一、文件、目錄操作命令 1、ls命令 功能:顯示文件和目錄的信息 ls以...
    郭苒閱讀 7,059評論 0 1
  • 1.命令格式:ifconfig [網絡設備] [參數] 2.命令功能: ifconfig 命令用來查看和配置網絡設...
    Nuuuu閱讀 3,789評論 0 12
  • 最近都在和Linux打交道,感覺還不錯。我覺得Linux相比windows比較麻煩的就是很多東西都要用命令來控制,...
    天尊_ffe1閱讀 513評論 1 3
  • Linux常用命令大全(非常全!!!)原文鏈接:http://www.cnblogs.com/yjd_hycf_s...
    JokerJin閱讀 608評論 0 3
  • 系統信息cat /etc/os-release 查看系統詳細信息(只在centos和redhat上試過生效)arc...
    MicoCube閱讀 706評論 0 0