Linux命令列筆記

Tongson發表於2018-11-21

常用系統工作命令

wget 使用命令列下載網路檔案 “wget [引數] 下載地址”

引數 作用
-b 後臺下載模式。
-O 下載到指定目錄。
-t 最大嘗試次數。
-c 斷點續傳。
-p 下載頁面內所有資源,包括圖片、視訊等。
-t 遞迴下載。

elinks 實現一個純文字潔面的瀏覽器 “elinks [引數] 網址”

yum install elinks

elinks [引數]網址

系統狀態檢測命令

ifconfig 獲取網路卡配置與網路狀態等資訊 “ifconfig [網路裝置] [引數]”

uname 檢視系統核心版本等資訊 “uname [-a]”。

uptime 檢視系統的負載情況 “uptime”。

free 顯示當前系統中記憶體的使用量情況 “free[-m/-g]”。

who 檢視當前登入主機的使用者情況 “who[引數]”。

last 系統的登入記錄 “last[引數]”。

history 顯示歷史執行過的命令 :“history[-c]”。

sosreport 手機系統配置並診斷資訊後輸出結論文件 “sosreport”。

工作目錄切換命令

pwd 顯示當前的工作目錄 “pwd[選項]”。

cd 切換工作路徑 “cd[目錄名稱]”。

引數 作用
- 切換到上一次的目錄,如"cd -"
~ 切換到“加目錄”,如"cd ~"
~username 切換到其人使用者的加目錄,如"cd ~teak"
.. 切換到上級目錄,如"cd .."

ls 檢視目錄中有哪些檔案 "ls [選項] [檔案]"

ls -al

引數 作用
-a 檢視全部檔案(包括隱藏檔案)
-d 僅看目錄本身
-h 易讀的檔案容量
-l 顯示檔案的詳細資訊

文字檔案編譯命令

cat 檢視純文字檔案(較短的)"cat [選項] [檔案]"

引數 作用
-n 顯示行號
-b 顯示行號(不包括空行)
-A 顯示出“不可見”的符號,如空格,tab鍵等等

more 檢視純文字檔案(較長的)"more [選項] [檔案]"

引數 作用
-數字 預先顯示的行數(預設為一頁)
-d 顯示提示語句與報錯資訊

head 檢視純文字文件的前N行 "head [選項] [檔案]"

引數 作用
-n 10 顯示前10行
-n -10 正常輸出(如cat命令),但不顯示最後的10行

tail 檢視純文字文件的前N行 "tail [選項] [檔案]"

引數 作用
-n 10 顯示後面的10行
-f 持續重新整理顯示的內容

od 檢視特殊格式的檔案 "od [選項] [檔案]"

引數 作用
-t a 預設字元
-t c ADSCII字元
-t o 八進位制
-t d 十進位制
-t x 十六進位制
-t f 浮點數

tr 轉換文字檔案中的字元 "tr [原始字元] [目標字元]"

wc 統計指定文字的行數、字數、位元組數 "wc [引數] [文字]"

引數 作用
-d 分隔符 指定分隔符,預設為Tab
-f 指定顯示的行數
-c 單位改為字元

cut 通過列來提取文字字元 "cut [引數] [文字]"

引數 作用
-d 分隔符 指定分隔符,預設為Tab
-f 指定顯示的行數
-c 單位改為字元

diff 比較多個文字檔案的差異 "diff [引數] [文字]"

引數 作用
-b 分隔符 忽略空格引起的差異
-B 忽略空行引起的差異
--brief或-q 僅報告是否存在差異
-c 使用上下文輸出格式

文字目錄管理命令

touch 建立空白檔案與修改檔案時間 "touch [選項][檔案]"

引數 作用
-a 近修改“訪問時間”(atime)
-m 近修改“更改時間”(mtime)
-d 同時修改atime與mtime
-t 要修改成的時間[YYMMDDhhmm]

mkdir 建立空白的資料夾 "mkdir [選項] [目錄]"

引數 作用
-m=MODE 預設的檔案目錄許可權,如"-m 755"
-p 連續建立多層目錄(若資料夾已存在則忽略)
-v 顯示建立的過程

cp 複製檔案或目錄 "cp [選項] 原始檔 目標檔案"

引數 作用
-p 保留原始檔案的屬性
-d 若物件為"連結檔案",則保留該"連結檔案"的屬性
-r 遞迴持續複製(用於目錄)
-i 若目標檔案存在則詢問是否覆蓋
-a 相當於-pdr(p,d,r為上述的引數)

mv 移動檔案或改名 "mv [選項] 檔名 [目標路徑|目標檔名]"

rm 刪除檔案或改名 "rm [選項] 檔案"

引數 作用
-f 忽略警告資訊
-i 刪除前先詢問
-r 刪除資料夾

dd 指定大小的拷貝的檔案或指定轉換檔案 "dd [引數]"

引數 作用
if 輸入的檔名稱
of 輸出的檔名稱
bs 設定每個"塊"的大小
count 設定要拷貝"塊"的個數
conv=ucase 將字母從小寫轉換為大寫
conv=lcase 把字元從大寫轉換為小寫

使用者與組管理命令

useradd 建立新的使用者 "useradd [選項] [使用者名稱]"

引數 作用
-d 指定使用者的家目錄(預設為/home/username)
-D 展示預設值
-e 賬號有效截至日期,格式:YYYY-MM-DD
-g 指定一個初始使用者組(必須已存在)
-G 指定一個或多個擴充套件使用者組
-N 不建立與使用者同名的使用者組
-s 指定預設的Shell
-u 指定使用者的UID

passwd 修改使用者的密碼 "passwd [選項] [使用者名稱]"

引數 作用
-l 鎖定使用者禁止其登入
-u 解除鎖定,允許使用者登入
--stdin 允許從標準輸入修改使用者密碼,如(echo "NewPassWord"
-d 使賬號無密碼
-e 強制使用者下次登入時修改密碼
-S 顯示使用者的密碼狀態

userdel 刪除使用者所有表格 "userdel [選項] [使用者名稱]"

引數 作用
-f 強制刪除使用者,家目錄與其相關檔案
-r 同時刪除使用者,家目錄與其相關檔案

usermod 修改使用者的屬性 "usermod [選項] [使用者名稱]"

引數 作用
-c 指定使用者的家目錄(預設為/home/username)
-d -m 展示預設值
-e 賬號有效截至日期,格式:YYYY-MM-DD
-g 指定一個初始使用者組(必須已存在)
-G 指定一個或多個擴充套件使用者組
-L 不建立與使用者同名的使用者組
-U 指定預設的Shell
-u 指定使用者的UID

groupadd 建立群組 "groupadd [選項] [群組名]"

打包壓縮檔案命令

tar 對檔案打包壓縮或解壓 "tar [選項] [檔案]"

引數 作用
-c 建立壓縮檔案
-x 解開壓縮檔案
-t 檢視壓縮包內有哪些檔案
-z 用Gzip壓縮或解壓
-j 用bzip2壓縮或解壓
-v 顯示壓縮或解壓的過程
-f 目標檔名
-p 保留原始的許可權與屬性
-P 使用絕對路徑來壓縮
-C 指定解壓到的目錄

檔案查詢搜尋命令

grep 對文字進行搜尋 "grep [選項] [檔案]"

引數 作用
-b 將可執行檔案(binary)當作文字檔案(text)來搜尋
-c 僅顯示找到的次數
-i 忽略大小寫
-n 顯示行號
-v 反向選擇-僅列出沒有“關鍵詞”的行

find 查詢檔案 "find [查詢路徑] 尋找條件 操作"

"~"代表使用者的家目錄 "."代表當前目錄 "/"代表根目錄

引數 作用
-name 匹配名稱
-perm 匹配許可權(mode 為完全匹配,-mode為包含即可)
-user 匹配所有者
-group 匹配所有組
-mtime -n +n 匹配修改內容的時間(-n指n天以內,+n指n天以前)
-atime -n +n 匹配訪問檔案的時間(-n指n天以內,+n指n天以前)
-ctime -n +n 匹配修改許可權的時間(-n指n天以內,+n指n天以前)
-nouser 匹配無所有者的檔案
-nogroup 匹配無所有組的檔案
-newer f1 !f2 匹配比檔案f1新卻比f2舊的檔案
--type b/d/c/p/l/f 匹配檔案型別(塊裝置、目錄、字元裝置、管道、連結檔案、檔案檔案)
--size 匹配檔案的大小(+50k 查詢超過50k的檔案,而-50k則代表查詢小於50k的檔案)
-prune 忽略某個目錄
--exec {}; 後面可接對搜尋到結果進一步處理的命令

管道命令符 "|"

將前一個命令的標準輸出當作後後一個命令的標準輸入"命令A|命令B|命令C"。

輸入輸出重定向

對於輸出重定向符有這些情況

符號 作用
命令 > 檔案 將標準輸出重定向到一個檔案中(清空原有檔案的資料)
命令 2> 檔案 將錯誤輸出重定向到一個檔案中(清空原有檔案的資料)
命令 >> 檔案 將標準輸出重定向到一個檔案中(追加到原有內容的後面)
命令 2>> 檔案 將錯誤輸出重定向到一個檔案中(追加到原有內容的後面)
命令 >> 檔案 2>$1 將標準輸出與錯誤輸出共同寫入到檔案中(追加到原有的內容的後面)

對於輸入重定向有這些情況:

符號 作用
命令 < 檔案 將檔案作為命令的標準輸入
命令 << 分隔符 從標準輸入中讀入,知道遇見“分隔符”才停止
命令 < 檔案1 > 檔案2 將檔案1作為命令的標準輸入並將標準輸入到檔案2

命令列萬用字元

萬用字元 作用
* 匹配零個或多個字元
? 匹配任意單個字元
[0-9] 匹配範圍內的數字
[abc] 匹配已出的任意字元

檢視開頭的所有裝置檔案: ls xxx*

檢視後面有一個字元的裝置檔案: ls xxx?

檢視後面包含0-9數字的裝置檔案: ls xxx2

檢視後面是1或3或5的裝置檔案: ls xxx[135]

常用的轉義字元

字元 作用
反斜槓() 使反斜槓後面的一個變數變為單純的字串
單引號('') 轉義其中所有的變數為單純的字串
雙引號("") 保留其中的變數屬性,不進行轉義處理
反引號(``) 把其中的命令執行後返回結果

實用的PATH變數

alias 用於設定命令別名 "alias 別名=命令"

unalias 用於取消命令的別名 "unalias 別名"

重要的環境變數

在 Linux 系統中,變數名稱一般都是大寫的,這是一種約定俗成的規範。

變數名稱 作用
HOME 使用者的主目錄"家"
SHELL 使用者在使用的 Shell 直譯器名稱
HISTSIZE 輸出的歷史命令記錄條數
HISTFILESIZE 儲存的歷史命令記錄條數
MAIL 郵件儲存路徑
LANG 系統語言、語系名稱
RANDOM 生成一個隨機數字
PS1 Bash 直譯器的提示符
PATH 定義直譯器搜尋使用者執行命令的路徑
EDITOR 使用者預設的文字編輯器

定義方法:變數名稱=新的值

檢視方法:echo $變數名稱

export 命令用於將區域性變數提升為全域性變數 "export 變數名[=變數值]"

相關文章