史上最全的Linux常用命令汇总①收藏这一篇就够了!(超全,超详细)
史上最全的Linux常用命令匯總①(超全面!超詳細!)收藏這一篇就夠了!
- Linux命令基礎
- Shell
- Linux命令分類
- Linux命令行的格式
- 編輯Linux命令行的輔助操作
- 獲取命令幫助的方法
- 命令
- 查看當前工作目錄:-pwd
- 切換工作目錄:-cd
- 列表顯示目錄內容:-ls
- 用ls -l命令查看目錄會得到一個7個字段的列表
- 設置別名:-alias
- 統計目錄及文件空間占用情況:-du
- 創建新的目錄:-mkdir
- 創建空文件:-touch
- 創建鏈接文件:-ln
- 復制文件或目錄:-cp
- 刪除文件或目錄:-rm
- 移動文件或目錄:-mv
- 查找命令文件存放目錄:-which
- 查找文件或目錄:-find
- find中的-exec的用法
Linux命令基礎
Shell
Linux系統中運行的一種特殊程序
在用戶和內核之間充當“翻譯官”
用戶登錄Linux系統時,自動加載一個Shell程序
Bash是Linux系統中默認使用的Shell程序。 文件位于/bin/bash
Linux命令分類
內部命令與外部命令的區別
| 集成于shell解釋器程序內部的一些特殊指令,也稱為內建(Built-in)指令 | linux系統中能夠完成指定功能的腳本文件或二進制程序 |
| 屬于Shell的一部分 | 屬于Shell解釋器程序以外的命令 |
| 沒有單獨對應的系統文件 | 每個外部命令對應了系統中的一個文件 |
| 自動載入內存,可直接使用 | 必須知道對應的文件位置,由Shell加載后才能執行/bin,/usr/bin,/usr/local/bin等 |
Linux命令行的格式
命令字 [選項] [參數] (英文字符區分大小寫)●命令字(操作的命令)
- 使整條命令中最關鍵的一部分
- 唯一確定一條命令
●選項
- 短格式選項:使用“-”符號引導 (多個單字符選項可以組合在一起使用)
- 長格式選項:使用“–”符號引導
●參數
- 命令字的處理對象
- 可以是文件名、目錄(路徑)名或用戶名等內容
- 個數可以是零到多個
編輯Linux命令行的輔助操作
| Tab鍵 | 自動補齊 |
| 反斜杠“\” | 強制換行 |
| Ctrl+U組合鍵 | 清空至行首 |
| Ctrl+K組合鍵 | 清空至行尾 |
| Ctrl+L組合鍵 | 清屏 |
| Ctrl+C組合鍵 | 取消本次命令編輯 |
| Ctrl+a組合鍵 | 切換到行首 |
| Ctrl+e組合鍵 | 切換到行尾 |
獲取命令幫助的方法
■內部命令help
- 查看Shell內部命令的幫助信息
■命令 - - help選項
- 適用于大多數Linux外部命令
■ 使用man命令閱讀手冊
- 使用“↑"、“↓” (ENTER)方向鍵滾動一行文本
- 使用Page Up和Page Down (空格) 鍵翻頁
- 按Q或q鍵退出閱讀環境
- 按"/"鍵查找內容, n鍵向下查找,,N鍵向上查找
命令
查看當前工作目錄:-pwd
■顯示用戶當前所在的工作目錄位置
- pwd
■示例
切換工作目錄:-cd
■將用戶的工作目錄更改到其他位置
| cd 目標位置 | 切換到目標位置 |
| cd ~ | 若不指定目標位置,切換到當前目錄的宿主目錄 |
| cd | 若不指定目標位置,切換到當前目錄的宿主目錄 |
| cd - | 切換到上一次執行 cd 命令之前所在的目錄 |
■絕對路徑:是以“/”為起點
■相對路徑:是以當前位置為起點
相對路徑的表現形式
| 直接使用目錄名或文件名 | 表示當前工作目錄中的子目錄、文件的位置 | grub.conf |
| 以一個點號“.”開頭 | 表示以當前的工作目錄作為起點 | ./grub.conf |
| 以兩個點號“. .”開頭 | 表示以當前目錄的上一級目錄(父目錄)作為起點 | . ./vmlinuz |
| 以“~用戶名”形式開頭 | 表示以指定用戶的宿主目錄作為起點 | ~teacher |
| 以“~”形式開頭 | 表示以當前用戶的宿主目錄作為起點 | ~ |
列表顯示目錄內容:-ls
■顯示目錄中內容,包括子目錄和文件相關屬性信息
ls+[選項] +[文件或目錄…]■常用選項
| -l | 以長格式(Long) 顯示文件和目錄的列表,包括權限、大小、最后更新時間等詳細信息。ll命令與ls -l功能相同 |
| -a | 顯示所有(All)子目錄和文件的信息,包括名稱以點號“."開頭的隱藏目錄和隱藏文件。 |
| -A | 與-a選項的作用基本類似,但有兩個特殊隱藏目錄不會顯示,即表示當前目錄的“.”和表示父目錄的“…" |
| -d | 顯示目錄(Directory) 本身的屬性,而不是顯示目錄中的內容。 |
| -h | 以更人性化(Human) 的方式顯示目錄或文件的大小,默認的大小單位為字節(B),使用-h選項后將顯示為KB、MB等單位。此選項需要結合-l選項一起使用。 |
| -R | 以遞歸(Recursive) 的方式顯示指定目錄及其子目錄中的所有內容。 |
| - -color | 在字符模式中以顏色區分不同的文件。默認已開啟。(通常情況下,深藍色表示目錄,白色表示一般文件, 綠色表示可執行的文件,黃色表示設備文件,紅色表示壓縮文件,淡藍色是文件快捷方式。) |
| -i | 顯示文件和目錄的inode號。 |
■結合通配符
- “?”代表任意一個字符,有且只有一個
- “*”代表任意數個字符,可以使0個或者1個或者多個
- “[]”表示可以匹配字符組中的任意一個字符
用ls -l命令查看目錄會得到一個7個字段的列表
-
第1字段:文件屬性字
第一個字符代表文件的類型:
"_"表示該文件是一個普通文件
"d”表示該文件是一個目錄
"l"表示該文件是一個軟鏈接文件。類似于windows下的快捷方式
第1字符的后面9個字母表示該文件或目錄的權限位:
r表是讀(查看、下載)、w表示寫(添加、更改、刪除、上傳)、x表示執行(運行文件、切換目錄)
其中前三個表示文件擁有者(屬主)的權限,中間三個表示文件所屬組擁有的權限,最后三個表示其他用戶擁有的權限。 -
第2字段:文件硬鏈接數
如果一個文件不是目錄,此時這一字段表示這個文件所具有的硬鏈接數
如果是一個目錄,則第2字段表示該目錄所含子目錄的個數。
如果新建一個空目錄,這個目錄的第二字段就是2,表示該目錄下有兩個子目錄 -
第3字段:文件\目錄擁有者
-
第4字段:文件\目錄擁有者所在的組
-
第5字段:文件所占用的空間(默認以字節為單位)
如果是一個目錄,則表示該目錄的大小,而不是目錄以及它下面的文件的總大小。
Linux系統中一切皆文件,因此目錄也是一種文件。 -
第6字段:文件\目錄最近訪問或修改時間
-
第7字段:文件名
如果是一個符號鏈接(軟鏈接文件),那么會有一個“->”箭頭符號,后面根一個它指向的文件名
設置別名:-alias
■通過別名機制簡化常用的、比較長的命令
alias 命令別名=‘命令’ (‘=’兩邊不能有空格)■示例
- 設置myls為ls -alh的別名
■取消別名
unalias myls統計目錄及文件空間占用情況:-du
■統計指定目錄(或文件)所占用磁盤空間的大小
du [選項] [文件或目錄...]■常用選項
| -a | 統計所有文件和目錄(包括本目錄)占用的磁盤空間 |
| -h | 以更人性化的方式(默認以KB計數,但不顯示單位)顯示出統計結果 |
| -s | 只統計占用空間的大小,而不是統計每個子目錄、文件的大小 |
| - -max-depth=n | 統計所有小于等于第n層的目錄的總大小 |
注選項-a和-s不可同時使用
1.du -a 2.du -sh 與du -s區別 3.du - -max-depth=1 統計出目錄中子目錄的大小du -h --max-depth=1創建新的目錄:-mkdir
mkdir [選項] 目錄位置及名稱...-p:一次性一次性創建嵌套的多層目錄■示例
- 在當前目錄下創建名為public_html的子目錄
- 創建目錄/aa,在/aa目錄下創建子目錄bb,在/aa/bb目錄下創建子目錄
創建空文件:-touch
■更新文件的時間標記
touch 文件...■示例
- 創建兩個空文件,文件名分別為aa.txt和bb.txt
也可用于格式
創建鏈接文件:-ln
■為文件或目錄建立鏈接文件,類似于windows系統的快捷方式
- 軟鏈接(符號鏈接)
- 硬鏈接
創建軟鏈接要用絕對路徑,移動和刪除都會導致軟鏈接失效
當刪除或移動時軟鏈接失效
在linux中,文件名和文件的數據是分開存儲的
而且只有文件的硬鏈接數=0的時候才會被刪除
| 刪除源文件后 | 失效 | 仍然可用(文件占用空間與源文件相同) |
| 使用范圍 | 適用于文件和目錄 | 僅適用于文件 |
| 保存位置 | 與源文件可以在不同的文件系統中 | 必須與源文件在同一個文件系統中(即同一個分區) |
| 與源文件的關系 | 相當于快捷方式 | 相當于給文件起個別名 |
| inode號碼 | inode號碼不同 | inode號碼相同 |
當一個文件擁有多個硬鏈接時,對文件內容修改,會影響到所有文件名;但是刪除一個文件名,不影響別的文件名的訪問。刪除一個文件名,只會使得"硬鏈接數"減1。
需要注意的是不能對目錄做硬鏈接。在日常工作中幾乎不會建立文件的硬鏈接。
復制文件或目錄:-cp
將需要復制的文件或目錄(源)重建一份,并保存為新的文件或目錄
cp [選項]... 源文件或目錄... 目標文件或目錄...| -f | 覆蓋目標同名文件或目錄時不進行提醒,直接強行復制 |
| -i | 覆蓋目標同名文件或目錄時提醒用戶確定 |
| -p | 復制時保持源文件的權限、屬主及時間標記等屬性不變 |
| -r | 復制目錄時必須使用,表示遞歸復制所有文件及子目錄 |
注:復制多個文件或目錄時,目標位置必須為目錄,且目標目錄必須已存在
刪除文件或目錄:-rm
rm [選項] 要刪除的文件或目錄...| -f | 刪除文件或目錄時不進行提醒,而直接強行刪除 |
| -i | 刪除文件或目錄時提醒用戶確定(y確定刪除,n不刪除) |
| -r | 刪除目錄時必須使用次選項,表示遞歸刪除整個目錄數(謹慎使用) |
注:不要直接刪除系統中已有的目錄或配置文件,以避免出現意外故障;刪除目錄下文件時建議最好先切換到目錄下在執行
rm -f rm -i 示例
實際工作環境中做常用的刪除命令為:
移動文件或目錄:-mv
- 將指定的文件或目錄轉移位置
- 如果目標位置與源位置相同,則相當于執行重命名操作
mv命令只能對單個文件重命名,可以使用rename命令批量修改文件名
舉例:這里把txt文件全部改為JPG文件
查找命令文件存放目錄:-which
■搜索范圍由環境變量PATH決定(echo $PATH)
which 命令|程序名 默認當找到第一個目標后不再繼續查找 which -a 命令|程序名 在所有搜索路徑中查找使用which查找內部命令時,將找不到對應的程序
查找文件或目錄:-find
■采用遞歸方式,根據目標的名稱、類型、大小等不同屬性進行精細查找
find [查找范圍](文件或子目錄的目錄位置) [查找條件表達式](條件類型)■常用查找條件類型
| 按名稱查找 | -name | 根據目標文件的名稱進行查找,允許使用“*”和“?”通配符 |
| 按文件大小查找 | -size | 根據目標文件的大小進行查找 一般使用“+”、“-”號設置超過或小于指定大小作為查找條件 常用的容量單位包括kB(注意k是小寫)、MB、GB |
| 按文件屬主查找 | -user | 根據文件是否屬于目標用戶進行查找 |
| 按文件類型查找 | -type | 根據文件類型進行查找 文件類型包括普通文件(f)、目錄(d)、塊設備文件(b)、字符設備文件(c)等 塊設備文件(b):成塊讀取數據的設備(硬件,內存,光驅) 字符設備文件(c):按單個字符讀取數據的設備(鍵盤,鼠標) |
find命令也可以實現多個查找
■各表達式之間邏輯運算符
- “-a”表示 而且(and)
- “-o”表示 或者(or)
■示例
尋找boot目錄下大于1024k且以vm開頭的文件或目錄
find中的-exec的用法
■-exec參數后面跟的是Linux命令,它是以分號“;”為結束標志,由于各個系統中分號會有不同的意義,因此在分號前面加上反斜杠轉義符“\”。
{}代表前面find查找出來的文件名
■find命令匹配到了當前目錄下的所有普通文件,并在-exec選項中使用ls -l命令將它們列出
find ./ -type f -exec ls -l {} \;先查找后添加命令去操作
比如
總結
以上是生活随笔為你收集整理的史上最全的Linux常用命令汇总①收藏这一篇就够了!(超全,超详细)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 升级电脑性能,畅享超能力
- 下一篇: 史上最全的Linux常用——目录和文件管