常用系統工作命令
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 變數名[=變數值]"