Linux命令大全


查詢目錄中的內容:ls

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

  • ls -l :顯示詳細信息,也可寫作 ll

  • ls -d :查看目錄屬性

  • ls -h :人性化顯示文件大小

  • ls -i :顯示inode

這些命令不加文件默認會操作當前文件夾下所有文件


文件處理命令

目錄處理命令:

  • mkdir -p [目錄名]:創建目錄
    -p:創建多級目錄
    mkdir -p father/son
    會創建 father/son 兩級目錄

  • cd :切換目錄 control+l 是清屏

cd ~ :進入用戶的home目錄

cd - :進入上次目錄

cd .. :進入上一級目錄

cd . :進入當前目錄

  • pwd :輸出當前工作目錄
  • rm -rf [文件或目錄]:強制刪除目錄

  • cp [選項] [原文件或目錄] [目標目錄] :復制

    cp -r [原文件或目錄] [目標目錄] : 復制目錄

    cp -p [原文件或目錄] [目標目錄] : 連帶文件屬性復制

    cp -d [原文件或目錄] [目標目錄] :若源文件是鏈接文件,則復制鏈接屬性

    cp -a [原文件或目錄] [目標目錄] :相當于 -pdr

  • mv [ 原文件或目錄] [目標目錄] :剪切

常用目錄

  • / :根目錄

  • /lib :存放一些linux的庫函數

  • /mnt : 系統掛載目錄

  • /home : 普通用戶家目錄

  • /root : 超級用戶家目錄

  • /tmp :存放一些臨時文件

  • /dev :設備文件保存目錄,硬件信息

  • /ect :配置文件保存目錄

  • /boot : 啟動目錄,啟動相關目錄

  • /media : 掛載光盤目錄

  • /proc : 直接寫入內存

  • /usr : 系統資源保存目錄

  • /var和/sys :用來保存內存的掛載點,不可進操作

  • /bin 和/sbin :用來保存系統目錄的 bin只有普通用戶可以用 sbin只有超級用戶可以用

鏈接命令

  • ln -s [原文件] [目標文件] : 軟連接

  • ln [原文件] [目標文件] : 硬鏈接


文件搜索命令

  • locate [文件名] :文件搜索命令

  • updatedb :后臺數據庫更新

1.在后臺數據庫中按文件名搜索,搜索速度更快
2.后臺數據庫是/var/lib/mlocate
3.這個數據庫不是實時更新的,每天更新一次或者執行數據庫更新命令。

  • whereis [命令]: 搜索命令的命令

  • whereis -b [命令] : 只查找可執行文件

  • whereis -m [命令]: 只查找幫助文件

  • which [文件名] :搜索命令所在路徑及別名

  • find [搜索范圍] [搜索條件]:文件搜索命令

    1.按照文件時間搜索:
    find [搜索范圍] [時間條件] n
    時間條件:
    atime:文件訪問時間
    ctime :改變文件屬性
    mtime:修改文件內容
    -n n天內修改文件
    n n天當天修改的文件
    +n n天前修改的文件
    eg:

find [搜索范圍] -mtime +10
代表的意思是:在搜索范圍內查找10天前修改的文件

2.按照文件大小搜索:
find [搜索范圍] -size nk
-nk :小于nKB的文件
nk : 等于nKB的文件
+nk :大于nKB的文件
需要注意的是:千字節是小寫k,兆字節是大寫M
eg:

find [搜索范圍] -size -25k
代表的意思是:在搜索氛圍內查找小于25KB的文件

3.按照結點搜索:
eg:

find [搜索范圍] -inum 9527
意思是:在搜索范圍內查找i節點是9527的文件

4.按照文件大小范圍搜索:
-a :邏輯與,兩個條件都滿足
-o:邏輯或,兩個條件滿足一個即可
eg:

find [搜索范圍] -size +20k -a -size -50k
意思是:在搜索范圍內查找大于20kb并且小于50kb的文件

  • grep [選項] 字符串 文件名:搜索字符串命令
    選項:
    -i 忽略大小寫
    -v 排除指定字符串

幫助命令

幫助命令man

  • man [命令] :獲取指定命令的幫助

  • man 的命令級別
    1.查看命令的幫助
    2.查看內核可調用的函數的幫助
    3.查看函數和函數庫的幫助
    4.查看特殊文件的幫助
    5.查看配置文件的幫助
    6.查看游戲的幫助
    7.查看其它雜項的幫助
    8.查看系統管理員可用的命令幫助
    9.查看和內核文件相關文件的幫助

  • man -f [命令]:查看命令有幾個等級幫助

  • man -k [命令]:查看和命令相關的所有幫助

  • 按q退出man界面

其它幫助命令

  • [命令] --help :獲取命令選項的幫助

  • help [shell內部命令]:獲取shell內部命令的幫助
    eg:

whreris cd(確定是否是shell內部命令)
cd 是
help cd(獲取內部命令幫助)

  • info [命令]:詳細命令幫助,會進入一個巨大的幫助文檔

壓縮和解壓縮命令

.zip格式壓縮

  • zip [壓縮文件名] [源文件] :壓縮文件

  • zip -r [壓縮目錄名] [源目錄] : 壓縮目錄

  • unzip [壓縮文件] :解壓縮.zip文件

.gz格式壓縮

  • gzip [源文件] :壓縮為.gz格式的壓縮文件,源文件會消失

  • gzip -c [源文件] > [壓縮文件]:壓縮為.gz格式,源文件保留

  • gzip -r [目錄]:壓縮目錄下所有的子文件,但是不能壓縮目錄

  • gzip -d [壓縮文件]:解壓縮文件

  • gunzip [壓縮文件]:解壓縮文件

.bz2格式壓縮

  • bzip2 [源文件]:壓縮為.bz2格式,不保留源文件

  • bzip2 -k [源文件]:壓縮之后保留源文件

  • bzip2 -d [壓縮文件]:解壓縮,-k保留壓縮文件

  • bunzip2 [壓縮文件]:解壓縮,-k保留壓縮文件

.tar.gz格式壓縮(常見)

  • tar -cvf [打包/目錄文件名] [源文件/目錄]:打包命令
    -c:打包
    -v:顯示過程
    -f:指定打包后的文件名

  • 其實.tar.gz格式和.tar.zb2格式是先打包為.tar格式,再壓縮為.gz格式

  • tar -zcvf [壓縮包名.tar.gz] [源文件]:壓縮為.tar.gz格式

  • tar -zxvf [壓縮包名.tar.gz]:解壓縮.tar.gz格式

.tar.bz2壓縮格式(常見)

  • tar -jcvf [壓縮包名.tar.bz2] [源文件]:壓縮為.tar.zb2格式

  • tar -jxvf [壓縮包名.tar.bz2]:解壓縮.tar.zb2格式

  • [解壓命令] -C [目標目錄]:將解壓文件/目錄存到目標目錄下

  • tar -ztvf [壓縮包名]:查看壓縮包


關機和重啟命令

  • shutdown -h [時間] : 關機

  • shutdown -r [時間] :重啟

  • shutdown -c [時間]:取消前一個關機命令

  • [時間]可以寫now 或者具體時間

  • reboot:重啟

  • init [選項] :進入系統運行級別
    選項:
    0 : 關機
    1 :單用戶
    2 :不完全多用戶,不含NFS服務
    3 : 完全多用戶
    4 :未分配
    5 :圖形界面
    6 :重啟

  • runlevel:查詢當前系統運行級別

  • logout:退出登錄命令


其它常用命令

  • more:它以全屏幕的方式按頁顯示文本文件的內容

  • ifconfig :查看當前網卡

  • table鍵:系統命令補全

  • clear:清屏命令

  • cat [文件名]:查看文件

  • touch [文件名]:創建文件

  • data:顯示時間

  • cal:顯示日歷

  • sudo :超級用戶

  • su :更改用戶為root

  • chmod +x+r+w:添加執行/讀/寫權限

  • ps:查看進程

  • kill pid :結束某個進程

掛載命令

  • mount : 查詢系統中已經掛載的設備

  • mount -a :依據配置文件/etc/fstab的內容,自動掛載

  • mount [-t文件系統] [設備文件名] [掛載點] :加入文件系統類型來指定掛載的類型,可以是ext3 ext4 iso9660等文件系統

  • mount [-o 特殊選項] [設備文件名] [掛載點]:可以指定掛載的額外選項

mount /dev/sr0 /mnt :把光盤掛載到mnt目錄下

  • umount [設備文件名或掛載點]:卸載命令

umount /mnt :把mnt目錄下的光盤卸載

  • fdisk -l:查看U盤設備文件名

  • mount -t vfat /dev/sdb [掛載點]:掛載U盤

mount -t vfat /dev/sdb /mnt :將U盤掛載到mnt目錄下

查看登錄用戶信息

  • w:查看登錄用戶的信息

  • who:查看登錄用戶名,終端和時間

  • last:查詢當前登錄和過去登錄的用戶信息

  • lastlog:查看所有用戶的最后一次登錄時間


Shell相關命令

  • echo "[輸出內容]" :輸出命令 有空格需要打引號

  • echo -e [選項] "[輸出內容]":改變輸出格式樣式等等
    選項:
    \a:輸出警告音
    \b:退格鍵,也就是向左刪除鍵
    \n:換行符
    \r:回車鍵
    \t:制表符號,就是tab鍵
    \v:垂直制表符
    \0nnn:按照八進制ASCLL碼表輸出字符,其中0為數字零,nnn是三位八進制數
    \xhh:按照十六進制ASCLL碼表輸出字符,其中hh是兩位十六進制數
    \e[1;31m...\e[0m:顯示顏色

  • vi hello.sh :寫一個腳本

  • sh [腳本名稱]:執行該腳本

bash相關命令

  • alias:查看系統中所有命令的別名

  • alias [別名] = [原命令]:設定命令別名

  • unalias [別名]:刪除別名

  • history -c:清空歷史命令

  • history -w:把緩存中的歷史命令寫入歷史命令保存文件

  • !!:執行上一條命令

  • ! [字符串]:重復執行最后一條以該字符串開頭的命令

輸出重定向

類型 符號 作用
標準輸出重定向 [命令] > [文件] 以覆蓋的方式,把命令的正確輸出到指定的文件或設備當中
標準輸出重定向 [命令] >[文件] 以追加的方式,把命令的正確輸出到指定的文件或設備當中
標準錯誤輸出重定向 錯誤命令 2>文件 以覆蓋的方式,把命令的錯誤輸出到指定的文件或設備中
標準錯誤輸出重定向 錯誤命令 2>>文件 以追加的方式,把命令的錯誤輸出到指定的文件或設備中
正確輸出和錯誤輸出同時保存 命令&>>文件 以追加的方式,把正確和錯誤輸出都保存到同一個文件當中

輸入重定向

  • wc [選項] [文件名]:統計文件中的字節,單詞,行數
    選項:
    -c:統計字節數
    -w:統計單詞數
    -l :統計行數

管道符

多命令順序執行

多命令執行符 格式 作用
命令1;命令2 多個命令順序執行,命令之間沒有任何邏輯聯系
&& 命令1&&命令2 邏輯于,當命令1正確執行,則才執行命令2。當命令1不正確執行,則不執行命令2
ll 命令1ll命令2 邏輯或,當命令1執行不正確,則命令2才會執行。當命令1正確執行,則命令2不會執行
* && 應該在 前書寫
  • 命令1|命令2:命令1的正確輸出作為命令2的操作對象
    eg:

netstat -an | grep ESTABLISHED

-a/etc/ | more

通配符

通配符 作用
匹配任意一個
* 匹配0個或任意字符,也就是可以匹配任何內容
[ ] 匹配中括號中任意一個字符。例如:[abc]代表一定匹配一個字符,或者是a,或者是b,或者是c
[-] 匹配中括號中任意一個字符,-代表一個范圍 例如:[a-z]代表匹配一個小寫字母
[^]: 邏輯非,表示匹配不是中括號內的一個字符 例如:[^0-9]代表匹配一個不是數字的字符

Bash中其他特殊符號

符號 作用
’ ’ 單引號。在單引號中所有的特殊符號,如“$”和“`”都沒有特殊含義
\ 轉義符。跟在\之后的特殊符號將失去特殊含義,變為普通字符
# 注釋
$ 用語調用變量的值,如需要調用變量name的值時,需要用$name的方式得到變量的值
$() 括號里的內容是系統命令,在Bash中會先執行它。

vim編輯器常用指令

底行模式常用指令

  • w:保存

  • q:退出

  • ! :強制執行

  • ls:列出編輯器當前執行的所有文件

  • n:切換到下一個文件

  • 15:將光標切換到第15行

  • /xxx:從光標位置向后搜索,直到xxx第一次出現的位置

  • ?xxx:從光標位置向前搜索,直到xxx第一次出現的位置

命令模式常用指令

  • h:光標左移

  • j :光標下移

  • k:光標上移

  • k:光標右移

  • ctrl + f :向下翻頁

  • ctrl + b :向上翻頁

  • ctrl + d :向下翻半頁

  • ctrl + u :向上翻半頁

  • dd :刪除光標所在行

  • o:在光標所在行的下方插入一行并切換到輸入模式

  • yy:復制光標所在的這一行


磁盤管理

  • df -l :查看磁盤分區使用狀況,僅顯示本地磁盤

  • df -a :查看磁盤分區使用狀況,顯示所有文件系統的磁盤使用情況,包含比如/proc/

  • df -h :查看磁盤分區使用狀況,以1024進制計算最合適的單位顯示磁盤容量

  • df -H:查看磁盤分區使用狀況,以1000進制計算最合適的單位顯示磁盤容量

  • df -T :查看磁盤分區使用狀況,顯示磁盤分區類型

  • df -t :查看磁盤分區使用狀況,顯示指定類型文件系統的磁盤分區

  • df -x:查看磁盤分區使用狀況,不顯示指定類型文件系統的磁盤分區

  • du -b:以byte為單位統計文件大小

  • du -k:以KB為單位統計文件大小

  • du -m:以MB為單位統計文件大小

  • du -h:按照1024進制以最合適的單位統計文件大小

  • du -H:按照1000進制以最適合的單位統計文件大小

  • du -s:指定統計目標

磁盤的分區

MBR分區:

主分區和擴展分區總數不能超過4個
擴展分區最多只能有一個
擴展分區不能直接存取數據,必須在擴展分區內部建立邏輯分區

  • fdisk :查看磁盤

  • fdisk [ 磁盤路徑]:進入分區模式

  • m :分區命令詳解

GTP分區(常用,不能用于32位,X86)

  • parted:啟動分區工具

  • help:parted幫助命令

  • select [磁盤名]:切換分區磁盤

  • mklabel:指定分區表

  • print:查看當前磁盤分區類型

交互模式分區:

  • mkpart :創建一個分區,接下來跟著步驟走,注意4K對齊

命令分區:

  • mkpart [名稱] [位置]

mkpart test 2000 3000

  • rm [分區編號]:刪除分區

磁盤的格式化

格式化(format)是指對磁盤或磁盤中的分區(partition)進行初始化的一種操作,這種操作通常會導致現有的磁盤或分區中所有的文件被清除。格式化通常分為低級格式化和高級格式化。如果沒有特別指明,對硬盤的格式化通常是指高級格式化,而對軟盤的格式化則通常同時包括這兩者。

  • mkfs :磁盤格式化工具
  • mkfs.[格式化后文件系統] [區名]:格式化

mkfs.test3 /dev/sdb1

swap交換分區

Swap分區在系統的物理內存不夠用的時候,把硬盤空間中的一部分空間釋放出來,以供當前運行的程序使用。那些被釋放的空間可能來自一些很長時間沒有什么操作的程序,這些被釋放的空間被臨時保存到Swap分區中,等到那些程序要運行時,再從Swap分區中恢復保存的數據到內存中。

  • 步驟

1.建立一個普通的Linux分區

用之前建立的sdb6分區

2.修改分區類型的16進制編碼

  • t 輸入編碼6
  • L:查看編碼的列表
  • 可以看出swap分區是82 輸入82
  • w 保存

3.格式化交換分區

  • mkswap /dev/sdb6

4.啟用交換分區

  • swapon /dev/sdb6:啟用
  • swapoff /dev/sdb6:停止

分區的掛載

通過mount命令掛載的分區不具有永久性,重啟掛載就會失效,可以通過編輯etc目錄下的fstab配置文件,實現自動掛載

vim + /etc/fstab

配置文件:
[設備名稱] [掛載點] [文件系統類型] defaults 0 0

/dev/sdb1 /mnt/abc ext3 defaults 0 0


用戶管理

用戶和用戶組

  • 用戶:使用操作系統的人

  • 用戶組:具有相同系統權限的一組用戶

  • /etc/group:存儲當前系統中所有用戶組信息

  • /etc/gshadow:存儲當前系統中用戶組的密碼信息

  • /etc/passwd:存儲當前系統中所有用戶的信息

  • /etc/shadow:存儲當前系統中所有用戶的密碼信息

  • groupadd [用戶組名稱]:創建一個新的用戶組并命名

  • groupmod -n [信用戶組名稱] [舊用戶組名稱]:更改此用戶組名稱

  • groupmod -g [主編號] [組名稱]:修改組的主編號

  • grouped -g [主編號xxx] [組名稱n]:創建一個主編號為xxx,組名稱為n的用戶組

  • groupdel [組名稱]:刪除此用戶組,刪除之前要先刪用戶信息!

  • useradd -g [用戶組名n] [用戶名m]:在n用戶組里創一個m用戶

  • usermod -c [備注信息] [用戶名]:給用戶添加一個備注

  • usermod -l [新用戶名] [舊用戶名]:更改用戶名

  • usermod -d /home/[文件夾名] [用戶名]:為用戶創建一個文件夾

  • usermod -g [用戶組n] [用戶m(原本m沒在用戶組n中)]:將用戶m切換到n用戶組中

  • userdel [用戶名]:刪除用戶名

*userdel -r [用戶名]:刪除用戶名和它的相關文件

  • touch /etc/nologin:禁止用戶登錄服務器(除了root)

  • passwd -l [用戶名]:鎖定用戶

  • passwd -u [用戶名]:解鎖用戶

  • passed -d [用戶名]:清楚用戶密碼

主要組與附屬組

  • 用戶可以同時屬于多個組
    一個主要組
    多個附屬組

  • gpasswd -a [用戶名m] [附屬組名s]:將用戶m添加到附屬組s

  • gpasswd -d [用戶名m] [附屬組名s]:將用戶m從附屬組s刪除

  • newgrp [目標附屬組] :切換目標附屬組,加組密碼

  • useradd -g [主要組名稱] -G [附屬組名稱,可以寫多個,逗號鏈接]:創建一個用戶,為其分配主要組和附屬組

  • gpasswd [用戶組名稱]:設置組密碼

  • su [其他用戶名]:切換用戶名

  • id [用戶名]:顯示用戶名的信息

  • groups [用戶名]:顯示用戶所在的所有組

  • chin [用戶名]:設置用戶資料,依次輸入用戶資料

  • finger [用戶名]:顯示用戶詳細資料

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

推薦閱讀更多精彩內容