shell命令

一、文件、目錄操作命令
1、ls命令
功能:顯示文件和目錄的信息
ls 以默認方式顯示當前目錄文件列表
ls -a 顯示所有文件包括隱藏文件
ls -l 顯示文件屬性,包括大小,日期,符號連接,是否可讀寫及是否可執行
ls -lh 顯示文件的大小,以容易理解的格式印出文件大小 (例如 1K 234M 2G)
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的快捷方式就是根據*inx下的鏈接的原理來做的
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 <1024|2048|4096> 塊大小
-i <number>  節點大寫
-m <number>  預留管理空間大小
例如:
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 <device> 查看文件系統信息
-c <count> 設置強制自檢的掛載次數
-i <n day> 設置強制自檢的間隔時間,單位天
-m <percentage> 保留塊的百分比
-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 <filename> 壓縮文件,並且顯示進度
 -d <filename> 解壓縮
gnuzip  -f <filename> 解壓縮
例如:
# 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  <DSTfilename> <SRCfilename>
unzip  <filename>
例如:
# 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   <filename>
bunzip2 <filename>
例如:
# 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  <DSTfilename.tar> <SRCfilename> 壓縮文件或目錄
-xvf  <SRCfilename>   解壓縮文件或目錄
-zcvf  <DSTfilename> <SRCfilename> 壓縮文件或,格式tar.gz
-zxvf  <DSTfilename> <SRCfilename> 解壓縮文件或,格式tar.gz
-zcvf  <DST.tgz> <SRCfilename>  壓縮文件或,格式tgz
-zxvf  <DST.tgz> <SRCfilename>  解壓縮文件或,格式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 www.163.com
(2)、traceroute命令
功能:路由跟蹤
traceroute www.163.com
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.
> www.dlut.edu.cn      
Server:         192.168.1.11
Address:        192.168.1.11#53
Non-authoritative answer:
Name:   www.dlut.edu.cn
Address: 202.118.66.66
> server 202.118.66.6
Default server: 202.118.66.6
Address: 202.118.66.6#53
> www.baidu.com
Server:         202.118.66.6
Address:        202.118.66.6#53
Non-authoritative answer:
www.baidu.com   canonical name = www.a.shifen.com.
Name:   www.a.shifen.com
Address: 202.108.22.5

九、其他命令
1、ssh命令
功能:遠程登陸到其他UNIX主機
ssh -l user1 192.168.1.2 使用用戶名user1登陸到192.168.1.2
ssh [email protected]   使用用戶名user1登陸到192.168.1.2
2、scp命令
功能:安全copy
例如:
scp abc.tar.gz [email protected]:~ 將本地的abc.tar.gz 複製到 192.168.1.5的user1用戶的根(/home/user1)下。
3、telnet命令
功能:登陸到遠程主機
例如:
telnet 192.168.1.5

發佈了50 篇原創文章 · 獲贊 1 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章