linux命令整理版(拷貝)


一、文件和目錄操作命令


1、pwd 顯示當前所在位置

  -L 顯示邏輯路徑,忽略軟鏈接文件
  -P 顯示物理路徑時如果當前目錄路徑時軟鏈接文件,則會顯示軟鏈接對應的源文件

2、cd 切換目錄
  cd - 回到上一次目錄/位置 回到上一次的工作目錄
  cd .. 返回上一級目錄
  cd 回家目錄


3、tree 以樹形結構顯示目錄下的內容
  -a 顯示所有文件
  -L 樹的最大顯示深度(遍歷目錄的最大層數)
  -d 顯示目錄
  -f 顯示每個文件的全路徑
  -i 不顯示樹枝,常與-f參數配合使用
  -F 在執行文件、目錄、Socket、符號鏈接、管道名稱等不同類型文件的結尾,各自加上* / = @ | 號

4、mkdir 創建目錄
  -p 遞歸創建目錄
  -m 設置新創建目錄的默認對應的權限
  -v 顯示創建目錄的過程

5、touch 創建空文件或者改變文件的時間戳屬性
  -a 只更改指定文件的最后訪問時間
  -d(STRING) 使用字符串STRING代表的時間作為模板設置指定文件的時間屬性
  -m 只更改指定文件的最后修改時間
  -r 將指定文件的時間屬性設置與模板文件file的時間屬性相同
  -t(STAMP) 使用[[CC]YY]MMDDhhmm[.ss]格式的時間設置文件的時間屬性

6、ls 顯示目錄下的內容及相關屬性信息
  -l 使用長格式列出文件及目錄信息
  -a 顯示目錄下的所有文件,包括一"."字符開頭的隱藏文件
  -t 根據最后的修改時間(mtime)排序
  -r 反次序排列
  -F 顯示文件類型或給不同類型的文件加上不同的標志(*、/、=、@、|,其中的一個)
  -P 只在目錄后面加上"/"
  -i 顯示inode節點信息
  -d 當遇到目錄時,列出目錄本身而非目錄內的文件,並且不跟隨符號鏈接
  -h 文件所占空間大小用K MB GB PB顯示
  -A 列出所有文件,包括隱藏文件,但不包括"."和".."這兩個目錄
  -S 根據文件大小排序
  -R 遞歸列出所有子目錄
  -x 逐行列出目錄而不是逐欄列出
  -X 根據擴展名排序
  -c 根據狀態改變時間(ctime)排序
  -u 根據最后訪問時間(atime)排序
  --color={never,always,auto} 不同文件類型顯示不同的顏色參數,never表示不顯示,always並表示總是顯示,auto表示自動顯示
  --full-time 以完整的時間格式輸出
  --time-style={full-iso,long-iso,iso,locale} 以不同的時間格式輸出
  --time={atime,ctime} 按不同的時間屬性輸出,atime表示按訪問時間,ctime表示按改變權限屬性時間,如果不加此參數則默認為最后修改時間

7、cp 復制文件或目錄
  -p 復制文件時保持文件的所有者、權限信息及時間屬性
  -d 如果復制的源文件時符號鏈接、那么僅復制符號鏈接本身,而且保留符號鏈接所指向的目標文件或目錄
  -r 遞歸復制目錄,即復制目錄下的所有層級的子目錄及文件
  -a 相當於-pdr
  -i 覆蓋已有文件前提示用戶確認

8、mv 移動或重命名文件
  -f 若目標文件已經存在,則不會詢問而是直接覆蓋
  -i 若目標文件已經存在,則會詢問是否覆蓋
  -n 不覆蓋以存在的文件
  -u 在源文件比目標文件新,或目標文件不存在時才進行移動

9、rm 刪除文件或目錄
  -f 強制刪除。忽略不存在的文件,不提示確認
  -i 在刪除前需要確認
  -r 遞歸刪除目錄及其內容
  -I 在刪除超過三個文件或者遞歸刪除前要求確認

10、rmdir 刪除空目錄
  -P 遞歸刪除目錄,當子目錄刪除后其父目錄為空時,也一並刪除。如果整個路徑被刪除,或者由於某種原因保留了部分路徑,則系統在標准輸出上顯示相應的信息
  -v 顯示命名執行過程

11、ln 創建硬鏈接或者軟連接
  無參數 創建硬鏈接
  -s 創建軟鏈接(符號鏈接)

12、readlink 查看符號鏈接文件的內容
  -f 一直跟隨符號鏈接,直到非符號鏈接的文件位置,但要保證最后必須存在一個非符號鏈接的文件

13、find 查找目錄下的文件
  -depth 從指定目錄下最深層的子目錄開始查找
  -maxdepth levels 查找的最大目錄級數,levels為自然數
  -regextype type 改變正則表達式的模式。默認為emacs,還有posix-awk、posix-basic、posix-egrep、posix-extended
  -mtime [-n|n|+n] 按照文件的修改時間來查找文件
  n n是距現在第n天
  -n 表示文件更改時間距現在n天以內
  +n 表示文件更改時間距現在n天以前
  -atime [-n|n|+n] 按照文件的訪問時間來查找文件。單位為天
  -ctime [-n|n|+n] 按照文件的狀態改變時間來查找文件。單位為天
  -amin 按照文件的訪問時間來查找文件。單位為分鍾
  -cmin 按照文件的狀態改變時間來查找文件。單位為分鍾
  -mmin 按照文件的修改時間來查找文件。單位為分鍾
  -group 按照文件所屬的組來查找文件
  -name 按照文件名查找文件,值支持*、?、[]等特殊通配符
  -newer 查找更改時間比指定文件新的文件
  -nogroup 查找沒有有效用戶組的文件
  -nouser 查找沒有有效屬主的文件
  -path pattern 指定路徑樣式,配合-prune參數排除指定目錄
  -perm 按照文件權限來查找文件
  -regex 接正則表達式
  -iregex 接正則表達式,不區分大小寫
  -size n[cwbkMG] 查找文件大小為n的文件,cwbkMG為文件度量單位
  -user 按照文件的屬主來查找文件
  -type [b|c|d|p|l|f|s|D] 按文件類型查找文件
  b 塊設備文件
  c 字符設備文件
  d 目錄
  p 管道文件
  l 符號鏈接文件
  f 普通文件
  s socket文件
  D door
  -delete 將查出的文件刪除
  -exec 對匹配的文件執行該參數所給出的shell命令
  -ok 和-exec作用相同,但是執行每個命令之前,都會讓用戶先確認是否執行
  -prune 使用這一選項可以使find命令不在當前指定的目錄查找
  -print 將匹配的文件輸出到標准輸出
  ! 取反
  -a 取交集,全拼為and
  -o 取並集,全拼為or

14、xargs 將標准輸入轉換成命令行參數
  -n 指定每行的最大參數量n,可以將標准輸入的文本划分為多行,每行n個參數,默認空格分隔
  -d 自定義分隔符
  -i 以{}代替前面的結果
  -I 指定一個符號代替前面的結果,而不用-i參數默認的{}
  -p 提示讓用戶確認是否執行后面的命令,y執行,n不執行
  -0(數字0) 用null替代空格作為分隔符,配合find命令的-print0選項的輸出使用

15、rename 重命名文件

16、basename 顯示文件名或目錄

17、dirname 顯示文件或目錄路徑

18、chattr 改變文件的擴展屬性
  -R 遞歸更改目錄屬性
  -V 顯示命令執行過程
  + 增加參數
  - 移除參數
  = 更新為指定參數
  A 告訴系統不要修改這個文件的最后訪問時間
  a 只能向文件中添加數據,而不能刪除,多用於服務器日志文件安全
  i 設定文件不能被刪除、改名、寫入、或新增內容(追加輸入)

19、lsattr 查看文件的擴展屬性
  -R 遞歸查看目錄的屬性
  -a 顯示所有文件包括隱藏文件的擴展屬性
  -d 顯示目錄的擴展屬性

20、file 顯示文件的類型
  -b 輸出信息使用的精簡格式,不輸出文件名

21、md5sum 計算和校驗文件的MD5值
  -b 二進制模式讀取文件
  -c 從指定文件中讀取MD5校驗值,並進行校驗
  -t 文本模式讀取文件,這是默認模式
  --quiet 校驗文件使用的參數,驗證通過不輸出OK
  --status 校驗文件使用的參數,不輸出任何信息,可以通過命令的返回值來判斷

22、chown 改變文件或目錄的用戶和用戶組
  -R 遞歸更改目錄的用戶和用戶組

23、chmod 改變文件或目錄的權限
  -R 遞歸處理指定目錄及其子目錄下的所有文件

24、chgrp 更改文件用戶組
  -R 遞歸更改目錄的用戶組

25、umask 顯示或設置權限掩碼
  -p 輸出的權限掩碼可直接作為命令來執行
  -S 以字符方式輸出權限掩碼
  文件缺省最大權限是666
  目錄缺省最大權限是777
  root用戶的umask為002
  普通用戶的umask為022

二、文件過濾及內容編輯處理命令
  1、cat 合並文件或查看文件內容
  -n 從1開始對所有輸出的內容按行編號
  -b 和-n選項功能類似,但會忽略顯示空白行行號
  -s 當遇到有連續兩行以上的空白行時,就替換為一行空白號
  -A 等價於-vET三個選項的功能之和
  -e 等價於-vE
  -E 在每一行的行尾顯示$符號
  -t 與-VT等價
  -T 將Tab字符顯示為^I
  -v 除了LFD和TAB之外,使用^和M-引用

  2、tac 反向顯示文件內容
  -b 在行前面而非行尾添加分割標志
  -r 將分割標志視作正則表達式來解析
  -s 使用指定字符串代替換行作為分割標志

  3、more 分頁顯示文件內容
  -num 指定屏幕顯示大小為num行
  +num 從行號num開始顯示
  -s 把連續的多個空行顯示為一行
  -p 不滾屏,而是清除整個屏幕,然后顯示文本
  -c 不滾屏,而是從每一屏的頂部開始顯示文本,每顯示完一行,就清除這一行的剩余部分
  子命令
  h或? 查看幫助
  空格鍵 向下滾動一屏
  z 向下滾動一屏
  Enter 向下滾動一行
  f 向下滾動一屏
  b 返回上一屏
  = 輸出當前的行號
  / 查找指定的文本
  :f 輸出文件名和當前行的行號
  v 調用vi編輯器
  !命令 調用shell,並執行命令
  q 退出more

  4、less 分頁顯示文件內容
  -i 搜索時忽略大小寫
  -m 顯示類似於more命令的進度百分比
  -N 顯示每行的行號
  -s 將連續的空行壓縮為一行顯示
  -e 當文件顯示到結尾時自動退出文件
  子命令
  b 向前翻一頁
  空格鍵 向后翻一頁
  u 向前翻半頁
  d 向后翻半頁
  y 向上滾一行
  回車鍵 向下滾動一行
  / 向下搜索
  ? 向上搜索
  n 向后查找下一個匹配的文本
  N 向前查找前一個匹配的文本
  v 進入vi編輯器界面
  !命令 調用shell,並執行命令
  G 移動到最后一行
  g 移動到第一行
  q 退出less

  5、head 顯示文件內容頭部
  -n 顯示指定的行數
  -c 指定顯示的字節數
  -q 不顯示包含給定文件名的文件頭
  -v 總是顯示包含給定文件名的文件頭

  6、tail 顯示文件內容尾部
  -n 顯示指定的行數
  -c 指定顯示的字節數
  -f 實時輸出文件變化后追加的數據
  -F 功能等於 -f --retry
  --retry 不停地嘗試打開文件直到打開為止,和-f參數合用
  --pid=進程號 與-f參數連用,在進程結束后自動退出tail命令
  -s 監視文件變化的間隔秒數
  -q 不顯示包含給定文件名的文件頭
  -v 總是顯示包含給定文件名的文件頭

  7、tailf 跟蹤日志文件
  -n 指定顯示的行數

  8、cut 從文本中提取一段文件並輸出
  -b 以字節為單位進行分割
  -n 取消分割多字節字符,與選項-b一起使用
  -c 以字符為單位進行分割
  -d 自定義分隔符,默認以tab為分隔符
  -f 與選項-d一起使用,指定顯示哪個區域
  N 第N個字節、字符、或字段
  N- 從第N個字節、字符或字段開始直至行尾
  N-M 從第N到第M(含第M個)個字節、字符或字段
  -M 從第1個到第M個(含第M個)個字節、字符或字段

  9、split 分割文件
  -b 指定分割文件的最大字節數
  -l 指定分割文件的最大行數
  -a 指定后綴長度,默認為2位字母
  -d 使用數字后綴

  10、paste 合並文件
  -d 指定合並的分隔符,默認是TAB
  -s 每個文件占用一行

  11、sort 文本排序
  -b 忽略每行開頭存在的空格字符
  -n 依照數值的大小進行排序
  -r 倒敘排序
  -u 去除重復行
  -t 指定分隔符
  -k 按指定區間排序

  12、join 按兩個文件相同字段合並
  -a 文件號 輸出文件中不匹配的行,文件好可選1或2,分別代表文件1和文件2
  -i 比較字段時忽略大小寫
  -1(數字1) 以第1個文件的指定地段為基礎進行合並
  -2 以第2個文件的指定地段為基礎進行合並

  13、uniq 去除重復的行
  -c 去除重估的行,並計算每行出現的次數
  -d 只顯示重復的行
  -u 只顯示唯一的行

  14、wc 統計文件的行數、單詞數或字節數
  -c 統計字節數
  -l 統計行數
  -m 統計字符數
  -w 統計單詞數
  -L 打印最長行的長度

  15、iconv 轉換文件的編碼格式
  -f encodingA 從編碼A轉換
  -t encodingB 轉換成編碼B
  -l 顯示系統支持的編碼
  -o 將輸出輸入到指定文件

  16、dos2unix 將DOS格式文件裝換成UNIX文件

  17、diff 比較兩個文件的不同
  -y 以並列的方式顯示文件的異同之處
  -W 在使用-y參數時,指定顯示寬度
  -c 使用上下文的輸出格式
  -u 使用同一格式輸出

  18、vimdiff 可視化比較工具

  19、rev 反向輸出文件內容

  20、tr 替換或刪除字符
  -d 刪除字符
  -s 保留連續字符的第一個字符,刪除其他字符
  -c 使用第一個字符串(set1)的補集,取反

  21、od 按不同進制顯示文件
  -t 顯示的格式

  22、tee 多重定向
  -a 向文件追加內容,而不是覆蓋

  23、vi/vim 純文本編輯器
  G或(shift+g) 將光標移動到最后一行
  gg 將光標移動到文件的第一行
  0(數字0) 將光標從所在位置移動到當前行的開頭
  $ 將光標從所在位置移動到當前行的結尾
  n<Enter> n為數字,<Enter>為回車鍵,將光標從當前位置向下移動n行
  ngg n為數字,移動到文件的第n行
  H 光標移動到當前窗口最上方的那一行
  M 光標移動到當前窗口中間的那一行
  L 光標移動到當前窗口最下方的那一行
  h或(←) 光標向左移動一個字符
  j或(↓) 光標向下移動一個字符
  k或(↑) 光標向上移動一個字符
  l或(→) 光標向右移動一個字符
  /wt 從光標位置開始,向下尋找名為wt的字符串
  ?wt 從光標位置開始,向上尋找名為wt的字符串
  n 從光標位置開始,向下重復前一個搜索動作
  N 從光標位置開始,向上重復前一個搜索動作
  :g/A/s//B/g 把符合A的內容全部替換為B,斜線為分隔符,可以用@、#等代替
  :%s/A/B/g 把符合A的內容全部替換為B,斜線為分隔符,可以用@、#等代替
  :n1,n2s/A/B/gc n1,n2為數字,在第n1行和n2行之間尋找A,用B替換
  yy 復制光標所在的當前行
  nyy n為數字,復制光標開始向下共n行
  p/P p將以復制的數據粘貼到光標的下一行,P則為粘貼到光標的上一行
  dd 刪除光標所在的當前行
  ndd n為數字,刪除從光標開始向下共n行
  u 恢復(回滾)前一個執行過的動作
  . 點號,重復前一個執行過的動作
  x 向后刪除字符
  X 向前刪除字符
  d1G 刪除當前行至第一行
  dG 刪除當前行至最后一行
  d0 刪除當前光標文本至行首
  d$ 刪除當前光標文本至行尾
  i 在當前光標所在處插入文字
  a 在當前光標所在的下一個字符處插入文字
  I 在當前所在行行首的第一個非空格符處開始插入文字,和A相反
  A 在當前所在行行首的最后一個字符處開始插入文字,和I相反
  O 在當前所在的行的上一行插入新的一行
  o 在當前所在的行的下一行插入新的一行
  Esc鍵 退出編輯模式,回到命令模式中
  :wq 退出並保存
  :wq! 退出並強制保存
  :q! 強制退出,不保存
  :x 保存並強制退出vi編輯器
  :set number(:set nu) 在文件中的每一行前面列出行號
  :set nonumber(:set nonu) 取消行號
  :set readonly 設置文件為只讀狀態

三、文本處理三劍客
  1、grep 文本過濾工具
  -v 顯示不匹配的行
  -n 顯示匹配行及行號
  -i 不區分大小寫
  -c 只統計匹配的行數,注意不是匹配的次數
  -E 使用擴展的egrep命令
  --color=auto 為grep過濾的匹配字符串添加顏色
  -w 只匹配過濾的單詞
  -o 只輸出匹配的內容
  -A n after 顯示你要找的行,即他后面的n行
  -B n before 顯示你要找的行,即他前面的n行
  -C n context 顯示你要找的行,即他上面的n行即他下面的n行

  2、sed 字符流編輯器
  -n 取消默認的sed輸出,常與sed內置命令的p連用
  -r 使用擴展正則表達式
  -i 直接修改文件內容,而不是輸出到終端
  -e 執行多條sed語句命令
  -f 后接sed腳本文件名
  a 在指定行后添加一行或多行文本
  d 刪除一行文本
  i 在指定行前添加一行或多行文本
  p 打印匹配行的內容
  c 用新行取代舊行
  s 替換指定字符
  l 輸出不可見字符
  g 獲得內存緩沖區的內容,並替代當前模板塊中的文本
  & 匹配到的文本
  \l 在替換字符中使用\l標志時,它會把緊跟其后的第一個字符當作小寫來處理
  \L 在替換字符中使用\L標志時,它會把緊跟其后的所有字符當作小寫來處理
  \u 在替換字符中使用\u標志時,它會把緊跟其后的第一個字符當作大寫來處理
  \U 在替換字符中使用\U標志時,它會把緊跟其后的所有字符當作大寫來處理
  \E 需要和\U或\L一起使用,他將關閉\U或\L的功能

  3、awk awk工具
  -F 指定字段分割符
  -v 定義或修改一個awk內部的變量

四、Linux信息顯示與搜索文件命令
  1、uname 顯示系統信息
  -a 顯示系統所有相關信息
  -m 顯示計算機硬件架構
  -n 顯示主機名稱
  -r 顯示內核發行版本號
  -s 顯示內核名稱
  -v 顯示內核版本
  -p 顯示主機處理器類型
  -o 顯示操作系統名稱
  -i 顯示硬件平台

  2、hostname 顯示或設置系統的主機名
  -a 如果設置了主機別名,則可用a選項來顯示主機的別名
  -i 顯示主機的IP地址,這個參數需要依賴DNS解析
  -I 顯示主機的所有IP地址,不依賴DNS解析
  -s 顯示短格式主機名

  3、dmesg 系統啟動異常診斷
  -c 顯示信息后,清除環形緩沖區中的內容
  -s bufsize 設置緩沖區大小,默認16384
  -n level 顯示消息等級

  4、stat 顯示文件或文件系統狀態
  -f 顯示文件所在分區的文件系統狀態而非文件狀態
  -c 使用指定輸出格式代替默認值
  -t 使用簡潔格式輸出

  5、du 統計磁盤空間使用情況
  -a 顯示所有文件大小
  -h 以人類可讀的方式查看大小,以K、M、G為單位
  -s 顯示文件總大小
  --exclude=<目錄或文件> 略過指定的目錄或文件
  -X,--exclude-from=FILE 從文件讀取需要略過的目錄或文件
  --max-depth=N 顯示N級子目錄的大小,當N=0時,該參數和-s參數的效果一樣

  6、date 顯示與設置系統時間
  %F 完整日期格式,等價於%Y-%m-%d(2018-09-06)
  %Y 年份2018
  %m 月份0-12
  %d 每月的第幾天
  %H 24小時制
  %M 分
  %S 秒
  %T 時間,等於%H:%M:%S

  7、echo 顯示一行文本
  -n 不需要自動換行
  -E 不解析轉義字符
  -e 解析轉意義符

  8、watch 監視命令執行情況
  -n 命令執行的時間間隔,默認為2s
  -d 高亮顯示命令結果的變得之處
  -t 關閉watch命令在頂部顯示的時間間隔、命令及當前時間的輸出

  9、which 顯示命令的全路徑
  -a 遍歷所有的PATH路徑,輸出所有匹配項

  10、whereis 顯示命名及其相關文件的全路徑
  -b 查找可執行文件
  -m 查找man幫助文件
  -s 查找源代碼文件

  11、locate 快速定位文件路徑
  -c 不顯示匹配的內容,只顯示匹配到的行數
  -i 匹配時忽略大小寫
  -r 支持基本正則表達式匹配
  --regex 支持擴展正則表達式匹配

  12、updatedb 更新mlocate數據庫
  -U 更新指定目錄相關的數據庫信息。默認是掃描整個系統。
  -v 顯示命令執行過程

五、文件備份與壓縮命令
  1、tar 打包備份
  z 通過gzip壓縮或解壓
  c 創建新的tar包
  v 顯示詳細地tar命令執行過程
  f 指定壓縮文件的名字
  t 不解壓查看tar包的內容
  p 保持文件的原有屬性
  P(大寫) 以絕對路徑打包
  j 通過bzip2命令壓縮或解壓
  x 解開tar包
  C 指定解壓的目錄路徑
  --exclude=PATTERN 打包時排除不需要處理的文件或目錄列表
  -X 文件名 從指定文件讀取不需要處理的文件或目錄列表
  -N 日期 僅打包比指定日期新的文件,可用於增量打包備份
  -h 打包軟鏈接文件指向的真實源文件
  --hard-dereference 打包硬鏈接文件

  2、gzip 壓縮或解壓文件
  -d 解開壓縮文件
  -v 顯示指令執行的過程
  -l 列出壓縮文件的內容信息
  -c 將內容輸出到標准輸出,不改變原始文件
  -r 對目錄下的所有文件遞歸進行壓縮操作
  -數字<1-9> 指定壓縮率,默認為6,值越大壓縮率越高

  3、zip 打包和壓縮文件
  -r 將指定目錄下的所有文件和子目錄一並壓縮
  -x 壓縮文件時排除某個文件
  -q 不顯示壓縮信息

  4、unzip 解壓zip文件
  -l 不解壓顯示壓縮包的內容
  -d 指定解壓目錄

  5、scp 遠程文件復制
  -C 壓縮傳輸
  -l 指定傳輸占用的帶寬,單位Kbit/s
  -P port 大寫的P,指定傳輸的端口號
  -p 小寫的p,傳輸后保留文件原始屬性
  -q 不顯示傳輸進度條
  -r 遞歸復制整個目錄

  6、rsync 文件同步工具
  -v 詳細模式輸出,傳輸時的進度等信息
  -z 傳輸時進行壓縮以提高傳輸效率,--compress-level=NUM可按級別壓縮
  -a 以遞歸方式傳輸文件,並保持所有文件的屬性
  -r 對子目錄以遞歸模式,即目錄下的所有目錄都以同樣的模式傳輸
  -t 保持文件的時間信息
  -o 保持文件的屬主信息
  -p 保持文件的權限
  -g 保持文件的屬組信息
  -P(大寫) 顯示同步的過程及傳輸時的進度等信息
  -D 保持設備文件信息
  -I 保留軟鏈接
  -e,--rsh=COMMAND 使用的信道協議,指定替代rsh的shell程序
  -n 測試選項,模擬執行
  --exclude=PATTERN 指定排除不需要傳輸的文件模式
  --exclide-from=FILE 從文本文件讀取需要排除的文件列表
  --bwlimit=KBPS 限制傳輸速度
  --delete 使目標目錄內容和源保持目錄一致,刪除不同的文件

六、Linux用戶管理及用戶信息查詢命令
  1、useradd 創建用戶
  -c comment 新用戶password文件中的說明欄(冒號分割后的第五列)
  -d home_dir 新用戶每次登錄時所使用的家目錄
  -e expire_date 用戶終止日期。日期的指定格式為YYYY-MM-DD
  -f inactive_days 用戶過期幾日后永久停權。當值為0時用戶立即被停權,而當值為-1時則關閉此功能,預設值為-1
  -g inital_group 指定用戶對應的用戶組。用戶組名必須為系統現已存在的名稱
  -G group,[...] 定義此用戶為多個不同組的成員。每個用戶組使用逗號(,)分隔。
  -m 用戶目錄如不存在則自動創建
  -M 不建立用戶家目錄,優先於/etc/login.defs文件的設定
  -n 默認情況下用戶的用戶組與用戶的名稱是相同的
  -r 此參數是用來建立系統用戶的
  -s shell 用戶登錄后使用的shell名稱
  -u uid 用戶的ID值。

  2、usermod 修改用戶信息
  -c comment 修改用戶password文件中用戶的說明欄
  -d home_dir 修改用戶每次登錄時所使用的家目錄
  -e expire_date 修改用戶終止日期。日期的指定格式為YYYY-MM-DD
  -f inactive_days 修改用戶過期幾日后永久停權。當值為0時用戶立即被停權,而當值為-1時則關閉此功能,預設值為-1
  -g inital_group 修改指定用戶對應的用戶組。用戶組名必須為系統現已存在的名稱
  -G group,[...] 修改此用戶為多個不同組的成員。每個用戶組使用逗號(,)分隔。
  -m 用戶目錄如果不存在則自動創建
  -n 默認情況下,用戶的用戶組與用戶的名稱會相同。如果使用-n參數,則不會生成與用戶同名的用戶組
  -r 此參數是用來建立系統用戶的
  -s shell 修改用戶登錄后使用的shell名稱
  -u uid 修改用戶的ID值
  -a 追加用戶到用戶組,僅與-G參數連用
  -l 修改用戶的帳戶名稱
  -L 鎖定用戶密碼,不讓用戶修改密碼
  -U 解除密碼鎖定

  3、userdel 刪除用戶
  -f 強制刪除用戶
  -r 刪除用戶的同時,刪除與用戶相關的所有文件

  4、groupadd 創建新的用戶組
  -g gid 指定用戶組的gid
  -f 新增一個帳戶,強制覆蓋一個已存在的組帳號

  5、groupdel 刪除用戶組

  6、passwd 修改用戶密碼
  -k 為密碼已經過期的用戶更新有效期
  -l 鎖定用戶,被鎖定的用戶將不能登錄。僅root用戶有權使用該選項
  --stdin 從標准輸入讀取密碼字符串。
  -u 解除對用戶的鎖定。僅root用戶有權使用該選項
  -d 刪除用戶的密碼,是密碼為空。僅root用戶有權使用該選項
  -e 使用戶密碼立即過期,將在用戶下次登錄時強制要求用戶修改密碼。僅root用戶有權使用該選項
  -n 設置修改密碼的最短天數。僅root用戶有權使用該選項
  -x 設置修改密碼的最長天數。僅root用戶有權使用該選項
  -w 設置用戶在密碼過期前收到警告信息的天數。僅root用戶有權使用該選項
  -i 設置密碼過期多少天后禁用帳戶。僅root用戶有權使用該選項
  -S 顯示用戶密碼相關的簡單描述。僅root用戶有權使用該選項

  7、chage 修改用戶密碼有效期
  -d 設置上一次密碼更改的日期
  -E 帳號過期的日期。日期格式為YYYY-MM-DD
  -I 設置密碼過期多少天后禁用帳戶
  -l 顯示賬號有效期信息
  -m 密碼可更改的最小天數。默認為0,表示任何時候都可以更改密碼
  -M 密碼保持有效的最大天數
  -W 密碼到期前,提示收到警告信息的天數

  8、chpasswd 批量更新用戶密碼
  -e 默認格式是明文密碼,使用-e參數則需要加密的密碼

  9、su 切換用戶
  -,-l,--login 切換用戶的同時,將用戶的家目錄、系統環境等重新按切換的用戶初始化
  -c 向shell傳遞單個命令

  10、visudo 編輯sudoers文件
  -c 手動執行語法檢查

  11、sudo 以另一個用戶身份執行命令
  -l 列出當前用戶可以執行的命令
  -h 列出使用方法,並退出
  -H 將環境變量中的HOME(家目錄)指定為要變更身份的使用者家目錄(如果不加-u參數就是系統管理中root)
  -V 顯示版本信息,並退出
  -v sudo在第一次執行時,或者在N分鍾內沒有執行(N預設為五),則會詢問密碼,這個參數用於重新做一次確認
  -u 以指定用戶的身份執行命令
  -k 清除時間戳上的 時間,下次再使用sudu是要再輸入密碼
  -K 與-k類似,同時還要刪除時間戳文件
  -b 在后台執行指定命令
  -p 可以更改詢問密碼時的提示語
  -e 不執行命令,而是修改文件,相當於命令sudo edit

  12、id 顯示用戶與用戶組信息
  -g 顯示用戶組ID
  -G 顯示用戶所屬附加群組的ID
  -n 顯示用戶,所屬群組或附加群組的名稱,不顯示數字
  -r 顯示實際ID
  -u 顯示用戶ID

  13、w 顯示已登錄用戶信息
  -h 不顯示前兩行標題信息
  -u 忽略執行程序的名稱,以及CPU時間信息
  -s 使用短輸出格式

  14、who 顯示已登錄用戶信息
  -a 顯示所有信息
  -b 顯示系統的啟動時間
  -d 顯示已死的進程
  -H 顯示標題,默認不顯示
  -l 顯示登錄進程

  15、users 顯示已登錄用戶

  16、whoami 顯示當前登錄的用戶名

  17、last 顯示用戶登錄列表
  -num 指定顯示結果的行數
  -n num 指定顯示結果的行數

  18、lastb 顯示用戶登錄失敗的記錄
  -num 指定顯示結果的行數
  -n num 指定顯示結果的行數

  19、lastlog 顯示所有用戶的最近登錄記錄

七、Linux磁盤與文件系統管理命令
  1、fdisk 磁盤分區工具
  -l 顯示所有磁盤分區的信息
  m 顯示所有能在fdisk中使用的命令
  n 創建新分區
  p 顯示磁盤分區信息
  t 更改分區的系統ID(分區類型)
  d 刪除磁盤分區
  q 退出fdisk,不保存磁盤分區設置
  w 保存磁盤分區設置並退出fdisk

  2、partprobe 更新內核的硬盤分區表信息
  -d 不更新內核
  -s 顯示摘要和分區

  3、tune2fs 調整ext2/ext3/ext4文件系統參數
  -c 設置強制自檢的掛載次數,沒掛載一次計數就會加1,超過次數就會強制自檢,設置為0或-1則此功能關閉
  -C 設置文件系統已經被掛載的次數
  -i 設置強制自檢的時間間隔(天、周、月)
  -j 將ext2文件系統轉換為ext3類型的文件系統
  -l 查看文件系統信息

  4、parted 磁盤分區工具
  -l 顯示所有磁盤分區的信息
  -h 查看幫助

  5、mkfs 創建linux文件系統
  -t 指定要創建的文件系統類型
  -c 創建文件系統時檢查磁盤壞塊
  -v 顯示詳細信息

  6、dumpe2fs 導出ext2/ext3/ext4文件系統信息
  -b 打印文件系統中預留的塊信息
  -h 僅顯示超級塊信息
  -i 從指定的文件系統映像文件中讀取文件的系統信息
  -x 以16進制格式打印信息塊成員

  7、resize2fs 調整ext2/ext3/ext4文件系統大小
  -p 打印完成任務的進度條
  -f 強制執行操作

  8、fsck 檢查並修復linux文件系統
  -a 自動修復文件系統,不詢問任何問題
  -s 按順序檢查多個文件系統
  -t 指定要檢查的分區的文件系統類型
  -A 依照/etc/fstab配置文件的內容。檢查文件內所列的全部文件系統
  -N 不執行指令,僅列出實際執行會進行的動作

  9、dd 轉換或復制文件
  if=<輸入文件> 從指定文件中讀取
  of=<輸出文件> 寫入到指定文件
  bs=<字節數> 一次讀寫的字節數
  count=<塊數> 指定復制block塊的個數
  ibs=<字節數> 一次讀的字節。默認是512
  obs=<字節數> 一次寫的字節。默認是512
  conv=<格式> 格式轉換
  ucase:把字母由小寫轉換為大寫
  lcase:把字母由大寫轉換為小寫

  10、mount 掛載文件系統
  -l 顯示系統已經掛載的設備的相關信息
  -a 根據/etc/fstab文件里的配置掛載文件系統
  -t 指定掛載的文件系統類型
  -o 后接一些掛載的選項,是安全、性能優化的重要選項
  -r 只讀掛載
  -w 讀寫掛載

  11、umount 卸載文件系統
  -f 強制卸載
  -l 懶惰地卸載

  12、df 報告未見系統磁盤空間的使用情況
  -a 顯示所有文件系統
  -h 以容易理解的格式顯示磁盤的使用情況
  -i 顯示文件系統的inode信息
  -t 顯示指定類型的磁盤
  -T 列出文件系統的類型

  13、mkswap 創建交換分區
  -c 建立交換分區之前,首先檢查磁盤是否有損壞的區塊
  -f 強制執行操作

  14、swapon 激活交換分區
  -s 顯示所有交換分區的信息

  15、swapoff 關閉交換分區
  -a 關閉所有交換分區

  16、sync 刷新文件系統緩沖區

  17、e2label 為格式化文件系統的磁盤設置卷標

八、Linux進程管理命令
  1、ps 查看進程
  -a 顯示所有終端下執行的進程
  a 顯示與終端相關的所有進程,包括每個進程的完整路徑
  x 顯示與終端無關的所有進程
  -u 顯示指定用戶相關的進程信息
  -e 顯示所有進程
  -f 額外顯示UID、PPID、C與STIME欄位
  f 用ASCII字符顯示樹狀結構,表達進程間的相互關系
  -H 顯示進程樹
  -l 以詳細地格式來顯示進程的狀況
  -o 自定義輸出指定的字段,以逗號分隔
  --sort key key表示為指定字段排序,默認升序,+key升序,-key降序

  2、pstree 顯示進程狀態樹
  -a 顯示啟動每個進程對應的完整命令、包含啟動進程的路徑、參數等
  -c 不精簡顯示進程信息,即顯示的進程中包含子進程和父進程
  -h 對現在執行的程序進行特別標注
  -n 根據進程PID號來排序輸出,默認是以程序名稱排序輸出的
  -p 顯示進程的PID
  -u 顯示進程對應的用戶名稱

  3、pgrep 查找匹配的進程
  -u 顯示指定用戶的所有進程號

  4、kill 終止進程
  -l 列出全部的信號名稱
  -p 指定kill命令之打印相關進程的進程號,而不是發送任何信號
  -s 指定要發送的信號
  HUP(1) 掛起
  INT(2) 中斷
  QUIT(3) 退出
  KILL(9) 立即結束進程的運行
  TERM(15) 終止
  TSTP(20) 暫停進程的運行

  5、killall 通過進程名終止進程
  -e 對於很長的名字,要求能夠准確匹配。默認情況下,如果一個進程名的長度超過了15個字符,則無法使用整個名字(溢出了)。在這種情況下,killall會終止所有匹配名字前15個字符的所有進程。而-e參數的作用是忽略模糊匹配項目。如果同時指定了-v選項,則killall會針對每個忽略的記錄打印一條消息
  -l 不區分大小寫匹配
  -g 終止屬於該進程組的進程
  -i 在終止進程之前詢問是否確認
  -l 列出所有已知的信號名
  -q 如果沒有進程終止則不提示
  -r 使用正則表達式匹配要終止的進程名稱
  -s 用指定的信號代替默認信號
  -u 終止指定用戶的進程
  -v 報告信號是否發生成功
  -w 等待所有被終止的進程死去。killall每秒都會檢查一次被終止的進程是否仍然存在,其僅在都死光后才返回。

  6、pkill 通過進程名終止進程
  -t 終端 殺死指定終端的進程
  -u 用戶 殺死指定用戶的進程

  7、top 實時顯示系統中各個進程的資源占用情況
  -a 將進程安裝使用內存排序
  -b 以批處理的模式顯示進程信息,輸出結果可以傳遞給其他程序或寫入到文件中。在這種模式下,top命令不會接受任何輸入,一直運行直到達到-n選項設置的閾值,或者按Ctrl+c等組合鍵終止程序
  -c 顯示進程的整個命令路徑,而不是只顯示命令名稱
  -d 指定沒兩次屏幕信息刷新之間的時間間隔
  -H 指定這個可以顯示每個線程的情況,否則就是進程的總的狀態
  -i 不顯示閑置或者僵死的進程信息
  -n top輸出信息更新的次數,完成后將退出top命令
  -p 顯示指定的進程信息

  交互式命令
  h或? 顯示幫助信息,給出交互式命令的一些說明總結
  Z 全局顏色設置
  B 全局字體加粗設置
  l 切換是否顯示平均負載和啟動時間信息
  t 切換是否顯示進程和CPU狀態信息
  m 切換是否顯示內存信息
  1 數字1,用於多核CPU監控,可監控每個邏輯CPU的狀況
  I Irix/Solaris模式
  f 從當前顯示列表中添加或刪除項目。按f鍵之后會顯示列的列表。按'a~z'鍵即可顯示或隱藏對應的列,最后按回車確定
  o 改變top輸出信息中顯示項目的順序
  F或O 選擇排序的列
  <,> 移動選擇排序的列,"<"選擇左鄰一列排序,">"選擇右鄰一列排序
  R 切換正常/反轉排序
  H 切換是否顯示進程信息
  c 切換是否顯示完整命令行和命令名稱信息
  i 切換是否顯示閑置進程和僵死進程
  S 切換到累計模式
  x 以高亮的形式排序對應列,需要結合b/z使用
  y 高亮運行的進程,需要結合b/z使用
  z 打開/關閉顏色
  b 打開/關閉加粗
  u 顯示指定用戶相關的進程信息
  n或# 設置指定用戶相關的進程信息
  k 終止一個進程,系統將提示用戶輸入一個需要終止進程的PID
  r 重新設置一個進程的優先級,系統提示用戶輸入需要改變的進程PID,以及需要設置的進程優先級值。輸入一個正直將使優先級降低,反之則可以使該進程擁有更高的優先權。默認值是10
  d或s 改變top輸出信息兩次刷新之間的時間,系統將提示輸入新的時間,單位是s。如果是小數,則換算成ms;如果輸出0,那么系統輸出將會不間斷刷新,默認刷新時間是3s。需要注意的是,如果設置太小的時間,則可能會引起系統不斷刷新,無法看清輸出顯示情況,而且系統負載也會加大
  W 將當前top設置寫入"~/.toprc"文件中
  q 退出top顯示

  8、nice 調整程序運行時的優先級
  -n num 設置nice增加的數字,num取值從-20~19.不使用-n選項相當於-n 10的效果
說明:
(1)root用戶可以隨意調整自己或他人程序的nice值,且范圍為-20~19
(2)普通用戶僅可以調整自己程序的nice值,且范圍僅為0~19(避免普通用戶搶占系統資源)
(3)普通用戶可以將nice值往高調,例如nice值原本為5,則未來僅能調整到大於5的值
  9、renice 調整運行中的進程的優先級
  -n num 設置nice增加的數值,num取值范圍從-20~19
  -g 修改指定用戶組的進程的優先級
  -u 修改指定用戶的進程的優先級
  -p 修改指定pid的進程的優先級

  10、nohup 用戶退出系統進程繼續工作

  11、strace 跟蹤進程的系統調用
  -c 統計每一個系統調用所執行的時間、次數和出錯的次數等
  -d 輸出strace關於標准錯誤的調試信息
  -f 跟蹤目標進程,以及目標進程創建的所有子進程
  -ff 如果提供-o filename,則將所有進程的跟蹤結構輸出到相應的filename.pid中,pid是各進程的進程號
  -i 輸出系統調用的入口指針
  -q 禁止輸出關於脫離的消息
  -r 輸出每一個系統調用的相對時間
  -t 在輸出中的每一行前加上時間信息。例如16:46:22
  -tt 在輸出中的每一行前加上時間信息,精確到微秒,例如11:18:59.759546
  -ttt 在輸出中的每一行前加上時間信息,精確到微秒,而且時間表示為UNIX時間戳。例如1486111461.650434
  -T 顯示每次系統調用所花費的時間
  -v 對於某些相關調用,把完整的換進變量、文件stat結構等打印出來
  -x 以十六進制形式輸出非標准字符串
  -xx 所有字符串以十六進制形式輸出
  -e expr 輸出過濾器,通過表達式,可以過濾掉你不想要的輸出
  說明:expr是一個表達式,用於控制如何跟蹤:[qualifier=][!]value1[,value2]...
  <1>qualifier只能是trace、abbrev、raw、signal、read、write其中之一
  <2>value是用來限定的符號或數字
  <3>默認的qualifier是trace
  <4>感嘆號shi否定符號 例如:-e open等價於-e trace=open 表示只跟蹤open調用,而-e trace!=open表示跟蹤除了open以外的其他調用
常用選項
  -e trace=[set] 只跟蹤指定的系統調用
  -e trace=file 只跟蹤與文件操作有關的系統調用
  -e trace=process 只跟蹤與進程控制有關的系統調用
  -e trace=network 只跟蹤與網絡有關的系統調用
  -e trace=signal 只跟蹤與系統信號有關的系統調用
  -e trace=desc 只跟蹤與文件描述符有關的系統調用
  -e trace=ipc 只跟蹤與進程通信有關的系統調用
  -e abbrev=[set] 設定strace輸出的系統調用的結果集
  -e raw=[set] 將指定的系統調用的參數以十六進制顯示
  -e signal=[set] 指定跟蹤的系統信號
  -e read=[set] 輸出從指定文件中讀出的數據
  -e write=[set] 輸出寫入到指定文件中的數據

  -o filename 將strace的輸出寫入文件filename
  -p pid 將指定跟蹤的進程pid,要同時跟蹤多個pid,重復多次-p選項即可
  -s strsize 將指定輸出的字符串的最大長度,默認為32.並沒有將文件視為字符串,默認全部輸出
  -u username 以username的UID和GID執行所跟蹤的命令

  12、ltrace 跟蹤進程調用庫函數
  -c 統計庫函數每次調用的時間,最后程序退出時打印摘要
  -C 解碼低級別名稱(內核級)為用戶級名稱
  -d 打印調試信息
  -e expr 輸出過濾器,通過表達式,可以過濾掉你不想要的內容
  -f 跟蹤子進程
  -o filename 將ltrace的出入文件filename
  -p pid 指定要跟蹤的pid進程
  -r 輸出每一個調用的相對時間
  -S 顯示系統調用
  -t 在輸出中的每一行前加上時間信息,例如16:45:28
  -tt 在輸出中的每一行前加上時間信息,精確到微秒。例如11:18:59.759546
  -ttt 在輸出中的每一行前加上時間信息,精確到微秒,而且時間表示為UNIX時間戳。例如1486111461
  -T 顯示每次調用所花費的時間
  -u username 以username的UID和GID執行所跟蹤命令

  13、runlevel 輸出當前運行級別
  --quite 不輸出結果,用於通過返回值判斷的場合
  0 關機
  1 單用戶模式
  3 無網絡的多用戶模式
  4 未使用
  5 圖形界面多用戶模式
  6 重啟

  14、init 初始化Linux進程

  15、service 管理系統服務
  --status-all 顯示所有服務狀態

九、Linux網絡管理命令
  1、ifconfig 配置或顯示網絡接口信息
  -a 顯示所有的網絡接口信息,包括活動的和非活動的
  up 激活指定的網絡接口
  down 禁用指定的網絡接口
  hw 設置網絡接口的物理地址(MAC地址)

  2、ifup 激活網絡接口

  3、ifdown 禁用網絡接口

  4、route 顯示或管理路由表
  -n 直接使用IP地址,不進行DNS解析主機名
  -v 詳細信息模式
  -r 顯示路由表
  -ee 顯示更詳細地路由信息
  add 添加路由信息
  del 刪除路由信息
  target 指定目標網絡或主機
  -net 到一個網絡的路由,后面接的是一個網絡號地址
  -host 到一個主機的路由,后面接的是一個主機地址
  netmask NM 為添加的路由指定網絡掩碼
  gw GW 為發往目標網絡/主機的任何分組指定網關
  dev 指定由哪個網絡設備出去,后面接網絡設備名
  mss 設置TCP的最大區塊長度(MSS),單位MB
  window 指定通過路由表的TCP連接的TCP窗口大小

  5、arp 管理系統的arp緩存
  -n 顯示數字IP地址
  -s<主機><MAC地址> 設置指定主機的ip地址與MAC地址的靜態映射
  -d<主機> 從arp緩存區中刪除指定主機的arp條目
  -i<接口> 指定網絡接口
  -v 顯示詳細地arp緩存條目,包括緩沖區條目的統計信息

  6、ip 網絡配置工具
  -s 輸出更詳細的信息,為了顯示更加詳細的信息,可重復使用此選項
  -r 顯示主機時,不使用IP地址,而是用主機的域名
  網絡對象
  link 網絡設備
  address 設備的協議地址(IP地址)
  addlabel 協議地址變遷管理
  neighbour arp或ndisc緩存表
  route 路由表
  rule 策略路由表
  maddress 多播路由緩存表
  tunnel IP隧道
  xfrm IPsec協議框架
  這里有一個有趣的用法,比如ip address可以簡寫為ip addr或最簡化ip a;其他對象也是如此

  7、netstat 查看網絡狀態
  -r 顯示路由表信息
  -g 顯示多播功能群組成員
  -i 顯示網絡接口信息
  -s 顯示各類協議的統計信息
  -n 顯示數字形式的地址而不是去解析主機、端口或用戶名。默認情況下,netstat命令會嘗試解析並顯示主機的主機名
  -a 顯示處於監聽狀態和非監聽狀態的socket信息
  -A 顯示指定網絡類型的網絡連接狀態
  -c<秒數> 后面跟的秒數表示每隔幾秒就刷新顯示一次
  -l 僅顯示連接狀態為"LISTEN"的服務的網絡狀態
  -t 顯示所有TCP連接情況
  -u 顯示所有UDP連接情況
  -p 顯示socket所屬進程的PID和名稱

  8、ss 查看網絡狀態
  -n 顯示IP地址,不進行DNS解析
  r 嘗試解析數字IP地址和端口
  -a 顯示所有socket連接
  -l 顯示所有監聽socket
  -o 顯示計時器信息
  -e 顯示詳細地socket信息
  -m 顯示socket的內存使用情況
  -p 顯示使用socket的進程
  -i 顯示TCP內部信息
  -s 顯示socket使用統計
  -4 僅顯示IPv4的socket
  -6 僅顯示IPv6的socket
  -0 僅顯示PACKET的socket
  -t 僅顯示TCP的socket
  -u 僅顯示UDP的socket
  -d 僅顯示DCCP的socket
  -w 僅顯示RAW的socket
  -x 僅顯示Unix的socket

  9、ping 測試主機之間網絡的連通性
  -c<次數> 指發送ICMP報文的次數
  -i<時間間隔> 相鄰兩次發送報文的時間間,默認時間是1s
  -n 不查詢主機名,直接顯示其IP地址
  -q 只顯示命令開始時的信息和運行結束時的統計信息。忽略命令執行過程中輸出的信息
  -s<數據包大小> 設置發送數據包的大小,默認大小為56字節,再加上8字節的ICMP頭,一共是64字節的ICMP包
  -t<生存期> 設置發送的數據包其生存期(TTL)的值
  -w 截止日期 超過截止時間,立即退出ping程序
  -W 超時時間 等待響應的超時時間

  10、traceroute 追蹤數據傳輸路由狀況
  -q<nqueries> 設置每一跳得探測包數量。默認是3
  -I 使用ICMP ECHO探測,即ping
  -n 直接使用IP地址而不是使用主機名
  -m 設置最大的跳數,默認為30

  11、arping 發送arp請求
  -c<次數> 發送指定次數的arp報文后退出命令
  -f 當收到第一個應答報文時,立即退出命令。
  -I 網絡接口 指定網絡接口發送arp報文
  -w<截止時間> 設置命令的執行截止時間
  -s source 設定arping發送的arp數據包中的源地址

  12、telnet 遠程登錄主機

  13、nc 多功能網絡工具
  -l 指定監聽端口,然后一直等待網絡連接
  -z 表示zero,表示掃描時不發送任何數據
  -v 顯示詳細輸出
  -w 設置超時時間,對-l選項失敗
  -p 指定nc命令使用的端口,不能和-l選項一起使用,如果與-l選項一起使用,則可能出現錯誤
  -u 使用UDP連接,默認是TCP連接
  -s 指定發送數據的源IP地址

  14、ssh 安全地遠程登錄主機
  -p 指定ssh登錄端口,如果忽略則默認端口為22
  -t 強制分配偽終端. 可以在遠程機器上執行任何全屏幕(screen-based)程序
  -v 調試模式
  -1 強制使用ssh協議版本1;
  -2 強制使用ssh協議版本2;
  -4 強制使用IPv4地址;
  -6 強制使用IPv6地址;
  -A 開啟認證代理連接轉發功能;
  -a 關閉認證代理連接轉發功能;
  -b 使用本機指定地址作為對應連接的源ip地址;
  -C 請求壓縮所有數據;
  -F 指定ssh指令的配置文件;
  -f 后台執行ssh指令;
  -g 允許遠程主機連接主機的轉發端口;
  -i 指定身份文件;
  -l 指定連接遠程服務器登錄用戶名;
  -N 不執行遠程指令;
  -o 指定配置選項;
  -q 靜默模式;
  -X 開啟X11轉發功能;
  -x 關閉X11轉發功能;
  -y 開啟信任X11轉發功能。

  15、wget 命令行下載工具
  -o 將命令的執行結果寫入文件中
  -O 指定保存的文件名后下載文件
  --limit-rate 限速下載
  -b 轉入后台執行命令
  -c 斷點續傳
  --user-agent 指定客戶端標志
  -q 關閉下載時的輸出
  -l 指定頁面層級。這意味着 wget 只會向下遍歷指定的頁面級數。該選項要與 -r (recursive,遞歸選項)一同使用
  -N 表示使用文件的時間戳
  -k 指示wget將頁面的鏈接地址轉換為本地地址
  --tries=number 設置重試次數
  --spider 模擬爬蟲訪問
  --mirror wget 有一個選項可以使其像爬蟲一樣以遞歸的方式遍歷網頁上所有的URL鏈接,並逐個下載。這樣一來,我們就能夠獲得一個網站的所有頁面
  -Q 指定最大下載配額(quota)。配額一旦用盡,下載隨之停止
  -T seconds 設置訪問的超時時間
  --timeout=seconds 設置訪問的超時時間

  16、mailq 顯示郵件傳輸隊列
  -v 調試模式,顯示詳細信息

  17、mail 發送和接收郵件
  -s 指定郵件主題
  -a 發送郵件附件,多個附件使用多次-a選項即可
  -b 指定加密抄送的收信人地址
  -c 指定抄送的收信人地址

  18、nslookup 域名查詢工具
  --timeout 指定查詢的超時時間
  -query 指定域名查詢的類型

  19、dig 域名查詢工具
  @<DNS服務器地址> 指定進行域名解析的域名服務器
  -x 反向解析域名
  -t 指定要查詢的DNS數據類型,如A、MX和PTR等。默認的查詢類型為A
  -b 指定使用本機的哪個IP地址向域名服務器發生域名查詢請求
  -p 指定域名服務器所使用的端口號。默認為53號端口
  +trace 從根域開始跟蹤查詢結果
  +nocmd 不輸出dig的版本信息
  +short 僅輸出最精簡的CNAME信息和A記錄,其他的都不會輸出
  +nocomment 不輸出dig的詳情注釋信息
  +nostat 不輸出最后的統計信息

  20、host 域名查詢工具
  -a 顯示詳細的DNS信息
  -t 指定查詢的域名類型,如A、ALL、MX和NS

  21、nmap 網絡探測工具和安全/端口掃描
  -O 激活對TCP/IP指紋特征(fingerprinting)的掃描,獲得遠程主機的標志,也就是操作系統類型
  -v 顯示掃描過程中的詳細信息
  -S<IP> 設置掃描的源IP地址
  -g port 設置掃描的源端口
  -p<端口> 指定要掃描的端口,可以是一個單獨的端口,也可以用逗號分隔開多個端口,或者使用-表示端口范圍
  -n 不進行DNS解析,加快掃描速度
  -6 使用IPv6地址
  -d 增加調試信息地輸出
  -A 使用所有高級掃描選項
  -e 在多網絡接口Linux系統中,指定掃描使用的網絡接口
  -sS TCP同步掃描(TCP SYN)
  -sT TCP連接掃描
  -sn 不進行端口掃描,只檢查主機正在運行
  -sU 掃描UDP端口
  -sV 探測服務器版本信息
  -sP ping掃描,僅發現目標主機是否存活
  -Pn 只進行掃描,不ping主機
  -PS 使用SYN包對目標主機進行掃描,默認是80端口,也可以指定端口,例如:-PS22或-PS22-25,113 (記住PS和端口號之間不要有空格)
  -PU 使用udp ping掃描端口
  -PE 強制執行直接的ICMPping
  -PB 默認模式,可以使用ICMPping和TCPping
  -oN 把掃描的結果重定向到文件中
  -oL filename 從文件中讀取掃描的目標
  -oX 以xml格式向指定文件輸出信息
  -oM 以機器可閱讀的格式輸出
  --exclude 排除指定主機
  --excludefile 排除指定文件中的主機
  --resume 繼續上次執行完的掃描
  --ttl 指定發送的掃描報文的生存期
  --packet-trace 顯示掃描過程中收發報文統計
  --scanflags 設置在掃描報文中的TCP標志



  22、tcpdump 監聽網絡流量
  -A 以ASCII碼方式顯示每一個數據包(不會顯示數據包中鏈路層的頭部信息)
  -c<數據包數目> 接收到指定的數據包數目后退出命令
  -e 每行的打印輸出中將包括數據包的數據鏈路層頭部信息
  -i<網絡接口> 指定要監聽數據包的網絡接口
  -n 不進行DNS解析
  -nn 不將協議和端口數字等轉換成名字
  -q 以快速輸出的方式運行,此選項僅顯示數據包的協議概要信息,輸出信息較短
  -s<數據包大小> 設置數據包抓包長度,如果不設置則默認為68字節,設置為0則自動選擇合適的長度來抓包數據
  -t 在每行輸出信息中不顯示時間戳標記
  -tt 在每行輸出信息中顯示無格式的時間戳標記
  -ttt 顯示當前行與前一行的延遲
  -tttt 在每行打印的時間戳之間添加日期
  -ttttt 顯示當前與第一行的延遲
  -v 顯示命令執行的詳細信息
  -vv 顯示比-v選項更加詳細的信息
  -vvv 顯示比-vv選項更加詳細的信息

  23、curl 利用URL規則在命令行下工作的文件傳輸工具
  -s 不輸出任何東西
  -i/--include 輸出時包括protocol頭信息
  -I/--head 只顯示請求頭信息

十、Linux系統管理命令
  1、lsof 查看進程打開的文件
  -c 顯示指定的進程名所打開的文件
  -p<進程號> 顯示指定的進程號所打開的文件
  -i 通過監聽指定的協議、端口和主機等信息,顯示符合條件的進程信息
  -u 顯示指定用戶使用的文件
  -U 顯示所有socket文件

  2、uptime 顯示系統的運行時間及負載

  3、free 查看系統內存
  -t 顯示內存總和列
  -b 以字節(Byte)為單位顯示內存使用情況
  -K 以KB為單位顯示內存使用情況
  -m 以MB為單位顯示內存使用情況
  -g 以GB為單位顯示內存使用情況
  -h 以人類可讀的形式顯示內存的使用情況
  -s<間隔秒數> 根據指定的間隔秒數持續顯示內存的使用情況
  -o 不顯示系統緩沖區列

  4、iftop 動態顯示網絡接口流量信息
  -i 指定監聽的網絡接口
  -n 不進行DNS解析
  -N 不將端口號解析成服務名
  -B 以byte為單位顯示流量(默認是bit)
  -p 設置網卡為混雜模式,以便不直接通過指定接口傳遞的流量也能被計數
  -P(大寫) 顯示端口號
  -m 設置界面最上邊的刻度的最大值,刻度分為五大段顯示
  -F 顯示指定網段的進出流量

  5、vmstat 虛擬內存統計
  -a 顯示活躍和非活躍內存
  -f 顯示從系統啟動至今的fork進程數量
  -m 顯示slab信息
  -n 只在開始時顯示一次各字段名稱
  -s 顯示內存相關統計信息及多種系統活動數量
  -d 顯示磁盤相關統計信息
  -p 顯示指定磁盤分區統計信息
  -S 使用指定單位顯示。參數有k、K、m、M,分別代表1000、1024、1000000、1048576字節。默認單位為K(1024byte)
  -t 統計信息帶上時間戳

  6、mpstat CPU信息統計
  -P(大寫) 指定CPU編號、 -P 0表示第一個CPU

  7、iostat I/O信息統計
  -c 顯示CPU的使用情況
  -d 顯示磁盤的使用情況
  -k 每秒以KB為單位顯示數據
  -m 每秒以MB為單位顯示數據
  -n 顯示NFS的使用情況
  -t 顯示每次統計的執行時間
  -p device 指定要統計的磁盤設備名稱,默認為所有的磁盤設備
  -x 顯示擴展統計

  8、iotop 動態顯示磁盤I/O統計信息
  -o 顯示正在使用I/O的進程或者線程,默認是顯示所有
  -d 設置顯示的間隔秒數
  -p 只顯示指定PID的信息
  -u 顯示指定用戶信息
  -P(大寫) 只顯示進程,一般是顯示所有線程
  -a 顯示從iotop啟動后每個線程完成的I/O總數
  -k 設置顯示單位為KB
  -t 在每一行前添加一個當前時間

  9、sar 收集系統信息
  -A 顯示系統所有資源設備(CPU、內存、磁盤)的運行狀況
  -u 顯示系統所有CPU在采樣時間內的負載狀態
  -P 顯示當前系統中指定CPU的使用情況
  -d 顯示系統所有硬盤設備在采樣時間內的使用情況
  -r 顯示在采樣時間內系統內存的使用情況
  -b 顯示在采樣時間內系統緩沖區的使用情況
  -v 顯示索引節點、文件和其他內核表的狀態
  -n 顯示網絡運行狀態
  -q 顯示運行隊列的大小,它與系統當時得平均負載相同
  -R 顯示進程在采樣時間內的活動情況
  -y 顯示終端設備在采樣時間內的活動情況
  -w 顯示系統交換活動在采樣時間內的狀態
  -o filename 將命令結果以二進制格式存放在文件中,filename是文件名

  10、chkconfig 管理開機服務
  --list 顯示不同運行級別下服務的啟動狀態
  --add 添加一個系統服務
  --del 刪除一個系統服務
  --level 指定運行級別

  11、ntsysv 管理開機服務
  --back 在交互界面里,顯示Back按鈕,而非Cancel按鈕
  --level 指定運行級別,默認是當前級別

  12、setup 系統管理工具

  13、ethtool 查詢網卡參數
  -i 顯示網卡驅動的信息,如驅動的名稱、版本等

  14、mii-tool 管理網絡接口的狀態
  -v 顯示詳細信息
  -r 重啟自動協商模式

  15、dmidecode 查詢系統硬件信息
  -t 只顯示指定條目
  -s 只顯示指定DMI字符串信息
  -q 精簡輸出

  16、lspic 顯示所有PCI設備
  -v 顯示詳細信息
  -vv 顯示更詳細地信息
  -s 顯示指定總線信息

  17、ipcs 顯示進程間通信設施的狀態
  -a 顯示全部可顯示的信息
  -q 顯示活動的消息隊列信息
  -m 顯示活動的共享內存信息
  -s 顯示活動的信號量信息

  18、ipcrm 清除ipc相關信息
  -M 移除用shmkey創建的共享內存段
  -m 移除shmid標識的共享內存段
  -Q 移除用msqkey創建的消息隊列
  -q 移除用msqid標識的消息隊列
  -S 移除用semkey創建的信號
  -s 移除用semid標識的信號

  19、rpm RPM包管理器
  -q 查詢軟件包
  -p<套件檔> 查詢指定的RPM套件檔
  -i 如果配合-qp使用,則表示顯示軟件包的概要信息,此時i是info的縮寫。另一功能是安裝軟件包,此時i是install的縮寫
  -l 顯示軟件包中的所有文件列表
  -R 顯示軟件包的依賴環境
  -v 顯示詳細信息
  -h 用"#"顯示安裝進度條
  -a 與-q參數搭配使用,用於查詢所有的軟件包
  -e 卸載軟件包
  -f 查詢文件命令屬於哪個軟件包
  -U 升級指定的軟件包
  -s 顯示文件狀態,本參數需配合"-l"參數使用
  -K 驗證rpm文件
  -V 驗證以安裝的軟件
組合:
  -qa 列出所有安裝的rpm軟件
  -ivh 安裝rpm包
  -qf 查詢目標文件屬於那個rpm包
  -qi 查詢指定已安裝rpm軟件的信息
  -ql 查詢指定已安裝rpm軟件包含的文件
  -qip 查詢rpm文件信息(未安裝前查詢)
  -qlp 查詢rpm文件包含的文件
  rpm -q package_name --whatrequires 顯示與一個rpm包存在依賴關系的列表

  20、yum 自動化RPM包管理工具
  -y 確認操作
  --nogpgcheck 忽略GPG驗證
  -C 直接使用系統yum緩存,不下載更新yum緩存
  -q 不輸出信息
  -v 顯示詳細信息
  install 安裝軟件包
  licalinstall 安裝本地RPM包
  remove 完全移除軟件,包括所有依賴
  update 更新軟件包
  list 列出軟件包
  search 尋找軟件包
  info 獲取軟件包信息
  deplist 查看軟件包依賴
  provides 查找某個特定文件屬於哪個軟件包
  check-update 檢查是否有可用的更新rpm軟件包
  grouplist 列出所有可用的群組
  groupinstall 安裝群組軟件包
  groupupdate 更新群組軟件包
  groupremove 移除群組軟件包
  repolist 列出啟用的YUM源
  makecache 生成緩存
  clean 清理所有YUM的緩存內容
  history 查看yum的歷史記錄

十一、Linux查看幫助命令
  1、help 查看內置命令幫助
  -d 輸出內置命令的簡單描述
  -m 以man幫助格式顯示
  -s 只輸出命令使用語法

  2、man 查看內置命令幫助
  3、info 查看內置命令幫助

十二、Linux其他一些命令
  1、.和source 使當前shell讀入路徑為filepath的shell文件並依次執行文件中的所有語句,通常用於重新執行剛修改的初始化文件,使之立即生效,而不必注銷並重新登錄

  2、alias 設置別名(命令別名)

  3、unalias 取消別名

  4、bg 將前台執行任務轉入后台,或將后台暫停的任務運行起來

  5、fg 將后台任務調到前台來執行

  6、jobs 查看后台任務列表

  7、export 查看或設置全局變量
  -p 打印所有環境變量

  8、history 查看命令歷史記錄
  -d 刪除指定編號命令的歷史記錄
  -c 清除所有命令的歷史記錄

  9、read 從標准輸入獲得字符
  -p 設置提示信息
  -t 設置輸入等待時間,默認單位是秒
  -s 輸入的數據不顯示在監視器上
  -n 規定read后面的變量所接收的字符個數

  10、type 判斷命令類型
  -a 顯示所有相關信息
  -t 精簡顯示命令類型,file:普通命令;alias:命令別名;builtin:內置命令

  11、ulimit 查看或修改系統資源使用顯示
  -a 顯示當前所有系統資源使用限制
  -n 顯示或設置最多打開的文件數目

  12、unset 刪除已定義的shell變量(包括環境變量)和shell函數
  -f 僅刪除函數
  -v 僅刪除變量

  13、blkid 查詢設備上所采用文件系統的類型

  14、env 顯示系統中已存在的環境變量,以及在定義的環境中執行指令
  -i 開始一個新的空的環境;
  -u<變量名> 從當前環境中刪除指定的變量。

  15、nl 查看文本內容並給非空行顯示行號

 


免責聲明!

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



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