【Linux常用命令總結】


一、基本命令

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服務--statesystemctl、--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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM