一、基本命令
1、幫助命令:man、help、info 命令
(1)man
代表命令:# man 1 passwd
代表配置文件:# man 5 passwd
(2)help
內部命令使用help幫助:# help cd
外部命令使用help幫助:# ls --help
擴展:使用type命令區分內部命令或外部命令

(3)info
info幫助比help更詳細,作為help的補充:# info ls
2、開機/關機/重啟命令:shutdown、reboot、init、halt、poweroff 命令
2.1、shutdown命令(關機)
(1)關機后重啟,類似於reboot:# shutdown -r now(立即重啟)
# shutdown -r +30(30分鍾后重啟)
# shutdown -r 20:35(在今天的20:35重啟)
(3)關機:# shutdown -h now(立刻關機)
# shutdown -h +10(10分鍾后關機)
# shutdown -h 20:25(在今天的20:25關機)
(3)取消shutdown命令,如執行了 # shutdown -h 20:25(在今天的20:25關機),但是發現這個時間點不合適,則可以使用命令取消:# shutdown -c
2.2、其他重啟命令
重啟:# reboot
# init 6
2.3、其他關機命令
關機:# halt
# poweroff
# init 0
二、目錄、文件操作命令
1、目錄切換:cd 命令
若當前目錄在“目錄1”,然后使用 “# cd 目錄2”跳轉到“目錄2”
(1)回到上一次的目錄(即目錄1):# cd -
(2)絕對路徑:# cd /path/to/….
(3)相對路徑(即“.”代表了當前所在目錄,實際上開頭的“./”可以省略):# cd ./path/to/….
(4)相對路徑(“..”代表了當前目錄的上級目錄):# cd ../path/to/….
2、目錄查看:ls 命令
(1)簡略顯示:ls
(2)長格式顯示:ls -l 或 ll

(3)顯示隱藏文件:ls -a

(4)逆序顯示:ls –r

(5)按照時間順序降序顯示:ls –t

(6)遞歸顯示:ls -R

擴展:ls –l –r –t與ls –lrt是一樣的
3、創建、刪除、復制、移動目錄/文件:mkdir、rmdir、touch、rm、cp、mv 命令
3.1、mkdir命令(創建目錄)
(1)在根目錄下創建a目錄:# mkdir /a(目錄名)

(2)創建多個目錄(在當前目錄下建立b c d共3個目錄):# mkdir b c d
(3)創建已存在的目錄時會提示已存在,使用-p就不會提示錯誤:# mkdir a -p
(4)創建多級目錄(必須保證非子節點目錄是存在的,否則創建失敗):# mkdir /a/b/c


3.2、rmdir命令、rm -r命令(刪除目錄)
(1)刪除空目錄(若目錄非空,會提示刪除失敗):# rmdir 目錄名

(2)刪除非空目錄(會對該多級目錄進行挨個確認):# rm -r 目錄名
刪除非空目錄(直接刪除,不進行確認):# rm -r -f 目錄名 或 # rm -rf 目錄名

3.3、touch命令(創建文件):# touch 文件名
3.4、rm命令(刪除文件):# rm 文件名
3.5、cp -r命令(復制目錄,如復制目錄“/root/a”到“/tmp”目錄下):# cp -r /root/a /tmp
3.6、cp命令(復制文件,如復制文件“/root/a.txt”到“/tmp”目錄下):# cp /root/a.txt /tmp

擴展:

3.7、mv命令(移動目錄、移動文件,如移動文件或目錄到/tmp目錄下):# mv 文件或目錄 /tmp

擴展:mv命令還具有重命名功能


4、目錄、文件查找:find 命令
(1)默認搜索當前目錄及其子目錄,且不過濾任何結果,返回所有文件:# find

(2)在具體目錄下,按名稱搜索文件:# find 目錄 -name 文件名

(3)按文件所屬者查找:# find 目錄 -user 用戶名
按文件所屬組查找:# find 目錄 -group 組名
條件與(默認情況下為“與”):# find 目錄 -user 用戶名 -a -group 組名
條件或:# find 目錄 -user 用戶名 -o -group 組名
非:# find 目錄 -not -user 用戶名

(4)按文件所在至多(至少)深度(層次)查找:# find 目錄 -maxdepth n(或 -mindepth n) -name 文件名

(5)按文件大小查找
查找某目錄下文件大小為20k的文件:# find 目錄 -size 20k
查找某目錄下文件大小小於20k的文件:# find 目錄 -size -20k
查找某目錄下文件大小大於20k的文件:# find 目錄 -size +20k
(6)按文件類型查找:# find 目錄 -type f(塊設備文件b、套接字文件s、管道文件f、目錄文件d、普通文件-、字符特殊文件c、符號鏈接l 等)

(7)按文件權限查找(如查找文件權限為404的文件):# find 目錄 -perm 404
(8)按文件更新時間查找
查找文件更新距離現在為1分鍾的文件:# find 目錄 -ctime 1
查找文件更新距離現在為1分鍾以內的文件:# find 目錄 -ctime -1
查找文件更新距離現在超過1分鍾的文件:# find 目錄 -ctime +1
(9)對查找的文件執行某些動作(-exec表開始執行動作,{}表用find命令查找出的所有文件,如給查找到的文件的g位加w的權限):# find 目錄 -perm 404 -exec chmod g+w {} \
5、文件編輯:vi 命令
(1)# vim 文件---------進入正常模式
(2)輸入:i------------------------進入插入模式
輸入:I(大寫的i)--------進入插入模式,光標會移動到定位行的開頭
輸入:a-----------------------進入插入模式,光標會定位到之前所在位置的下一位
輸入:A-----------------------進入插入模式,光標會移動到定位行的結尾
輸入:o-----------------------進入插入模式,光標會移動到定位行的下一行開頭,且另起一行
輸入:O----------------------進入插入模式,光標會移動到定位行的上一行開頭,且另起一行
輸入:v-----------------------進入可視模式
輸入::-------------------------進入命令模式(末行模式)
(3)在正常模式下:h鍵-光標向左移動
l鍵-光標向右移動
k鍵-光標向上移動
j鍵-光標向下移動
shift+g-光標移到最后一行
gg-光標移動到首行
:w-保存
:q-退出
:q!-強制退出
:wq-保存后退出
:set nu-顯示行號

擴展:按:set nu可以顯示行號,但是每次退出后,重新打開這個文件,行號會消失,如果不希望行號消失,則需對配置文件(/etc/virc)進行修改----在/etc/virc文件最后一行添加”set nu“,然后:wq保存退出。
6、文件查看:cat 、more、less、head、tail、wc 命令
(1)cat命令(文件查看)

(2)more命令(文件查看):# more 文件

(3)less命令(文件查看):# less 文件

(4)head命令(文件查看)
1)查看文件開頭(默認顯示文件開頭10行):# head 文件
2)顯示文件的開頭n行:# head -n 文件

(5)tail命令(文件查看)
1)查看文件結尾(默認顯示文件末尾10行):# tail 文件
2)顯示文件的末尾n行:# tail -n 文件
3)邊查看邊同步刷新文件更新信息:# tail -f 文件
(6)wc命令(統計文件內容信息,如查看文件有多少行):# wc -l 文件

7、目錄、文件權限操作(修改目錄或文件的權限、用戶或用戶組、用戶組):chmod、chwon、chgrp 命令

a. 文件類型:-(普通文件);d(目錄文件);b(塊特殊文件);c(字符特殊文件);l(符號鏈接);f(命令管道);s(套接字文件)
b. 文件權限的表示方法:r=4(讀);w=2(寫);x=1(執行)
c. -rw-r-xr--:前三位表示文件所屬用戶的權限、中間三位表示文件所屬用戶組的權限、后面三位表示文件其他用戶的權限
(1)chmod命令修改權限:# chmod u+x 目錄或文件
# chmod 755 目錄或文件
(2)chown命令修改目錄或文件的用戶、用戶組:# chown 用戶:用戶組 目錄或文件
(3)chgrp命令修改目錄或文件的用戶組(命令不常用):# chgrp 用戶組 目錄或文件



---↑上面介紹了如何更改屬主和屬組,↓下面介紹如何修改權限:



擴展1:若用戶1對文件不具有任何權限,用戶組1對文件具有w權限,但用戶1又屬於用戶組1,就出現了權限沖突。此時則以用戶1權限為准(即用戶1不具有任何權限),用戶組1里面的其他用戶對文件具有w權限。
擴展2:對於文件,r是可讀(可以使用cat等命令查看文件)、w是可寫(可以使用echo xxx > 文件將內容xxx寫進文件中)
對於目錄,r是可讀(可以使用ls命令查看該目錄下有哪些目錄或文件)、w是可寫(可以對該目錄下的目錄或文件進行刪除)、x是可進入(具有進入該目錄的權限)
擴展3:特殊權限:

三、壓縮、解壓縮
一些選項:



1、打包、解包:tar 命令
(1)打包:# tar -cvf 文件名.tar 文件1 文件2 文件3 -C /存放路徑

(2)查看壓縮包里面的內容:# tar -tf 文件名.tar

(3)解包:# tar -xvf 文件名.tar -C /提取路徑

注:這里dabao.tar解壓后是“xj-1”文件夾,進入這個文件夾才顯示3個文件
(4)打包時指定存放路徑+進入相對路徑打包:# tar -cvf 目錄/文件名.tar 文件1 文件2 文件3

(5)絕對路徑打包:# tar -cvf 目錄/文件名.tar .../文件1 .../文件2 .../文件3

(6)打包時排除指定文件:tar -cvf 文件名.tar --exclude=文件2 *

2、壓縮、解壓縮:tar 命令
三種壓縮方式如下:
1)gzip:壓縮的速度最快,壓縮大文件的時候與其他的壓縮方式相比更加明顯,歷史最久,應用最廣泛的壓縮方式
2)bzip:壓縮形成的文件小,但是可用性不如gzip
3)xz:最新的壓縮方式,可以自動提供最佳的壓縮率

(1)gzip方式壓縮:# tar -zcvf …/文件名.tar.gz 文件1 文件2 文件3
(2)bzip2方式壓縮:# tar -jcvf …/文件名.tar.bz2 文件1 文件2 文件3
(3)xz方式壓縮:# tar -Jcvf …/文件名.tar.xz 文件1 文件2 文件3



注:壓縮速度:gz > bz2 > xz
壓縮率:xz > bz2 > gz
(4)gzip方式壓縮的包進行解壓縮:# tar -zxvf …/文件名.tar.gz -C /解壓后路徑
(5)bzip2方式壓縮的包進行解壓縮:# tar -jxvf …/文件名.tar.bz2 -C /解壓后路徑
(6)xz方式壓縮的包進行解壓縮:# tar -Jxvf …/文件名.tar.xz -C /解壓后路徑

注:tar命令在解壓的時候可以不需要指明壓縮的方式,會自己選擇跟壓縮方式對應的方式去解壓。即可以不用帶上-z/j/J,直接使用-xf

3、壓縮、解壓縮:zip、unzip 命令
一些選項:

(1)正常壓縮:# zip -r …/文件名.zip 文件夾或文件名
壓縮多個文件:# zip …/文件名.zip 文件1 文件2 文件3


(2)安靜壓縮(不顯示壓縮過程):# zip -rq …/文件名.zip 文件夾或文件名

(3)壓縮時排除指定的文件:# zip -r …/文件名.zip /文件夾 -x “需要排除的文件”

(4)解壓縮並指定解壓后的目錄:# unzip .../文件名.zip -d 目錄

注:不指定解壓后的目錄則解壓到當前目錄
(5)查看壓縮包里面的內容:# unzip -v .../文件名.zip

(6)驗證壓縮包里面的內容是否完整:# unzip -t .../文件名.zip

四、查找命令
1、文本搜索:grep 命令
在文件中查找特定字符串,如在my.cnf文件中查找utf字符串):# grep utf my.cnf

2、目錄、文件查找:find 命令
見【二.4】,此處不再重復描述
3、目錄、文件查找:locate 命令


4、定位可執行文件、源代碼文件、幫助文件在文件系統中的位置(這些文件的屬性應屬於原始代碼,二進制文件,或是幫助文件):whereis 命令
一些選項:


5、在PATH變量指定的路徑中,搜索某個系統命令的位置並返回第一個搜索結果:which 命令

五、su、sudo命令
1、切換登錄登錄:su 命令
(1)切換用戶登錄:# su - xx
(2)切換用戶登錄,不完全切換,不會自動進入家目錄:# su xx(進入切換前那個用戶所在的目錄)
(3)退出當前用戶,直接登錄到上一次切換前登錄的用戶:# exit
擴展1:id命令可以驗證當前自己是哪個用戶

擴展2:從root用戶切換到普通用戶不需要輸入密碼,但普通用戶切換需要輸入密碼

2、讓普通用戶具有臨時使用root權限的權力,只需要輸入自己賬號的密碼即可:sudo 命令


使用visudo賦予普通用戶執行命令shutdown -c的權限:

使用# visudo打開↓如下界面(或使用命令:# vi /etc/sudoers 打開這個文件),按i進入編輯插入模式,在末尾添加一行:

當不知道要賦予的命令位置在哪兒時,使用↓如下方式進行查詢:按esc退出,輸入:!which shutdown,然后回車:



擴展:

六、系統服務
1、查看XXX服務的狀態、開啟/關閉XXX服務、重啟XXX服務:service 命令
(1)查看XXX服務的狀態:# service xxx status
(2)開啟XXX服務:# service xxx start
(3)關閉XXX服務:# service xxx stop
(4)重啟XXX服務:# service xxx restart
2、開啟/關閉XXX服務開機自啟動(永久開啟/永久關閉):chkconfig 命令
(1)開啟XXX服務的開機自啟動:# chkconfig xxx on
(2)關閉XXX服務的開機自啟動:# chkconfig xxx off
【例】以防火牆服務為例:




擴展:關於防火牆其他的操作:



3、查看XXX服務狀態、開啟/關閉XXX服務、重啟XXX服務:--state、systemctl、--reload 命令
(1)查看XXX服務的狀態:# xxx --state
(2)開啟XXX服務:# systemctl start xxx
(3)關閉XXX服務:# systemctl stop xxx
(4)重啟XXX服務:xxx --reload
4、開啟/關閉XXX服務開機自啟動(永久開啟/永久關閉):systemctl 命令
(1)開啟XXX服務的開機自啟動:# systemctl enable xxx
(2)關閉XXX服務的開機自啟動:# systemctl disable xxx
【例】以防火牆服務為例:


擴展:關於防火牆其他的操作:




注:CentOS 6 使用 service 命令,CentOS 7 使用 systemctl 命令
七、用戶、用戶組相關命令
1、新建/刪除用戶、新建/刪除用戶組、修改用戶密碼、修改用戶屬性:useradd、userdel、groupadd、groupdel、passwd、usermod 命令
(1)新建用戶:# useradd xx
注:只有root用戶才具有創建普通用戶的權限,創建用戶時,若沒有指定用戶組,會自動創建與用戶同名的用戶組
擴展:可使用id命令查看是否有某個用戶,新建的用戶會被記錄到/etc/passwd和/etc/shadow文件中:


(2)刪除用戶,/home目錄下的信息會保留:# userdel xx
刪除用戶,/home目錄下的信息不會保留:# userdel –r xx

(3)給用戶設置密碼:# passwd xx
注:如果直接輸入passwd命令,則是更改自己的密碼

(4)修改用戶屬性(如將用戶xx的家目錄修改為目錄1):# usermod -d 目錄1 用戶名1
修改用戶屬性(如將用戶xx的用戶組修改為組1):# usermod -g 組1 用戶名1
(5)新建用戶組:# groupadd 組1
新建用戶時直接指定用戶組:# useradd -g 組1 用戶名1


(6)刪除用戶組:# groupdel 組1
注:當用戶組下含有用戶時,刪除用戶組會失敗,只能刪除空的用戶組
2、用戶相關的配置文件:文件 passwd、shadow、group
(1)配置文件/etc/passwd:# cat /etc/passwd



(2)配置文件/etc/shadow:# cat /etc/shadow

(3)配置文件/etc/group:# cat /etc/group

八、進程查看
1、靜態查看進程:ps 命令
(1)不加任何選項的ps

(2)顯示所有進程1:# ps ax

顯示所有進程2:# ps -aux

顯示所有進程3:# ps -ef

(3)查看特定用戶的進程:# ps -f -u 用戶名
(4)查看某個進程下的所有線程:# ps -T p PID
# ps -T -p PID
# ps -T q PID
# ps -T -q PID


注:命令中的-T也可以替換為-L,結果一樣
2、動態查看進程:top 命令
(1)默認命令(默認按照CPU的占用量降序排序):# top

擴展:# uptime命令,顯示的是top命令后內容的第一行

(2)按數字“1”,查看每個邏輯CPU的狀況:

(2)按“x”,高亮顯示目前的排序列,再次按“x”,關閉高亮:

(3)按”b",時目前加亮的一列高亮顯示,再次按“b”,關閉高亮:

(4)按“shift+<”或“shift+>“,改變排序列為當前列的左邊一列或右邊一列:

(5)按"f”顯示所有top視圖中可顯示的所有字段。有“*”號的是目前顯示出來的,如果需要顯示其他的字段,可以給其他字段打上“*”號:


3、結束進程:kill 命令
(1)結束進程:kill pid
(2)強制結束進程:kill -9 pid
注:pid 是進程號
十、其他命令
1、顯示當前的目錄名稱:pwd 命令

2、通配符:*
(1)匹配任何字符串:*
(2)匹配一個字符:?


擴展:其他通配符
1)[xyz]匹配xyz任意一個字符
2)[a-z]匹配一個范圍
3)[!xyz]或[^xyz]不匹配
3、清屏:clear 命令
(1)使用命令:# clear
(2)使用快捷鍵:ctrl + l
4、查看與某台機器的連接情況:ping 命令
使用命令:# ping ip
5、查看端口:netstat 命令
(1)使用當前系統的端口:# netstat -an
(2)查看指定端口:# netstat -an | grep 端口號
6、查看網卡信息:ifconfig、ip addr 命令

7、查看磁盤使用情況:df 命令
(1)查看磁盤使用情況:# df
(2)查看全部文件系統:# df -a 或 # df -all

注:單位默認為KB
(2)以指定的區塊大小顯示區塊數目:# df --block-size=10240

擴展:

(3)以可讀性高的方式顯示信息:# df -h 或 # df --human-readable
# df -H 或 # df --si

(4)顯示inode的信息:# df -i 或 # df --inodes

(5)僅顯示指定文件系統類型的磁盤信息:# df -t 文件系統

(6)不顯示指定文件系統類型的磁盤信息:# df -x 文件系統 或 # df --exclude-type=文件系統

(7)顯示文件系統的類型:# df -T 或 # df --print-type

8、查看文件系統使用情況:du 命令
(1)顯示當前目錄下的子目錄大小和當前目錄總的大小,最下面的為當前目錄的總大小:# du

(2)顯示指定文件所占空間:# du 文件名
顯示指定目錄所占空間:# du 目錄名

(3)顯示多個文件所占空間:# du 文件1 文件2

(4)只顯示總和大小:# du -s

(5)方便閱讀的格式顯示:# du -h 目錄名

(6)文件和目錄都顯示:# du -ah 目錄名

(7)顯示多個文件文件或目錄所占空間大小並統計它們的總大小:# du -c 文件1 文件2 目錄1

9、管道符號:“ | ”
命令1 | 命令2:意思是命令1的輸出內容將作為命令2的輸入內容
10、查看、修改日期:date 命令





11、查看日歷:cal 命令

12、計算器命令:bc 命令



十一、其他命令-服務管理
1、網絡配置相關知識
(1)ifconfig命令(查看網絡配置)
注:centos 7中自帶的查看網絡的命令是: ip addr,如果想要使用 ifconfig命令,需要安裝net-tools:


(2)修改網卡名(例:將網卡名enp0s5轉化為eth0)


只需要增加后面的biosdevname和net.ifnames兩個值就可以了,這兩個設置項都把值指定為0后,保存退出,此時不會自動生效,需要先執行命令轉化為我們系統啟動時會讀取的文件:# grub2-mkconfig –o /boot/grub2/grub.cfg


擴展:

(3)route命令(查看網關命令)

添加/刪除默認網關:# route add/del default gw ip

添加/刪除指定網關:# route add/del -host ip gw ip
# route add/del -net ip netmask ip gw ip



2、網絡故障排除命令:ping,traceroute,mtr,nslookup,telnet,tcpdump,netstat,ss









