Linux運維基本命令


  • []表示可選的
  • <>表示必須的

干貨

  • free -h:檢測內存使用情況
  • df -h:檢測磁盤使用情況
  • top:綜合檢測
  • atop:更全的綜合檢測
  • lsof -i tcp:<port>:查看使用port端口的程序,如果使用port的程序是sudo權限啟動的,需要加sudo才能查出來
  • ps -ef | grep <keyword>:根據關鍵字篩選查看正在運行的程序的詳細信息
  • find . -name "*.txt":查找當前目錄下拓展名問.txt的文件

find命令

格式:find <path> [option] [-print] [-exec|-ok <command> {} \;]
功能:查找文件

格式拆解:

  • path:所查找的目錄路徑。例如用.來表示當前目錄,用/來表示系統根目錄
  • -print:將匹配的文件輸出到標准輸出
  • -exec:對匹配的文件執行該參數所給出的shell命令。相應命令的形式為<command> {} \;,注意{};之間的空格
  • -ok:和-exec的作用相同,只不過以一種更為安全的模式來執行該參數所給出的shell命令,在執行每一個命令之前,都會給出提示,讓用戶來確定是否執行

選項說明:

  • -ipath p | -path p :路徑名稱符合p的文件,ipath會忽略大小寫
  • -name name | -iname name
    :文件名稱符合name的文件,iname會忽略大小寫
  • -size n:文件大小是n,單位,b代表512位元組的區塊,c表示字元數,k表示kilo bytes
  • -type T :文件類型是T的文件,T可為一下之一
    • d:目錄
    • c:字型裝置文件
    • b:區塊裝置文件
    • p:具名貯列
    • f:一般文件
    • l:符號連結
    • s:socket
  • -empty:空的文件
  • -gid ngidn
  • -pid nprocess idn的文件
  • -group namegroup名為name
  • -anewer file:比文件file更晚被讀取過的文件
  • -cnewer file:比文件file更新的文件

注意:以下+n表示n以前,-n表示n以內

  • -amin n:在過去n分鍾內被讀取過
  • -atime n:在過去n天內被讀取過的文件
  • -cmin n :在過去n分鍾內被修改過
  • -ctime n:在過去n天內被修改過的文件

示例:

# 將目前目錄及其子目錄下所有延伸檔名是c的文件列出來。
find . -name "*.c"
# 將目前目錄其其下子目錄中所有一般文件列出
find . -type f
# 將目前目錄及其子目錄下所有最近20天內更新過的文件列出
find . -ctime -20
# 查找/var/log目錄中更改時間在7日以前的普通文件,並在刪除之前詢問它們:
find /var/log -type f -mtime +7 -ok rm {}\;
# 查找前目錄中文件屬主具有讀、寫權限,並且文件所屬組的用戶和其他用戶具有讀權限的文件:
find . -type f -perm 644 -exec ls -l {}\;
# 為了查找系統中所有文件長度為0的普通文件,並列出它們的完整路徑:
find / -type f -size 0 -exec ls -l {} \;

ps命令

格式:ps [option]
功能:查看當前正在運行的程序的信息

usage: ps [-AaCcEefhjlMmrSTvwXx] [-O fmt | -o fmt] [-G gid[,gid...]]
          [-g grp[,grp...]] [-u [uid,uid...]]
          [-p pid[,pid...]] [-t tty[,tty...]] [-U user[,user...]]
       ps [-L]
  • -a:顯示現行終端機下的所有程序,包括其他用戶的程序
  • -e:列出程序時,顯示每個程序所使用的環境變量
  • -f:用ASCII字符顯示樹狀結構,表達程序間的相互關系
  • -u:以用戶為主的格式來顯示程序狀況
  • -x:顯示所有程序,不以終端機來區分
  • PS:筆者經常是搭配-ef-aux選項使用,可查看進行的詳細信息,如:進程組、啟動參數等

grep命令

格式:grep [option] <keyword> [file|directory]
功能:過濾

usage: grep [-abcDEFGHhIiJLlmnOoqRSsUVvwxZ] [-A num] [-B num] [-C[num]]
	[-e pattern] [-f file] [--binary-files=value] [--color=when]
	[--context[=num]] [--directories=action] [--label] [--line-buffered]
	[--null] [pattern] [file ...

格式拆解:

  • keyword:關鍵字
  • file|directory:文件,當加-l-r選項時,可為文件,以及通配符,如:./*/*.txt

選項說明:

  • -v:反過濾,除keyword以外,其他都不過濾
  • -i:忽略大小寫
  • -n:輸出結果加行號
  • -c:統計字符串出現的次數
  • -w:全字匹配搜索
  • -l:只列出文件名
  • -r:對目錄下的所有子目錄進行搜索
  • --color:輸出時對keyword高亮顯示
  • PS:grep可以多個一起使用:grep [keyword1] | grep [keyword2] | grep -v [keyword3] ...

示例:

// 在log.txt搜索包含error的行
grep "error" log.txt
// 忽略大小寫
grep -i "ErroR" log.txt
// 輸出時,帶行號
grep -n "error" log.txt
// 統計error出現的次數
grep -c "error" log.txt
// 全字匹配搜索,搜索只有error的行
grep -w "error" log.txt
// 搜索當前文件夾下拓展名為.txt且包含error的文件
grep -l "error" ./*.txt
// 搜索當前文件夾下所有文件包含error的行
grep -r "error" .
// 搜索當前文件夾下所有包含error的文件
grep -lr "error" .

du命令

格式:du [option] [file]
功能:顯示每個文件和目錄的磁盤使用空間。

  • -a:顯示目錄中個別文件的大小。
  • -b:顯示目錄或文件大小時,以byte為單位。
  • -c:除了顯示個別目錄或文件的大小外,同時也顯示所有的目錄或文件的總和。
  • -s:僅顯示總計,只列出最后加的值。
  • -h:以K、M、G為單位輸出,提高信息的可讀性。

df命令

格式:df [option] [file]
功能:可顯示目前所有文件系統的可用空間及使用情況(動態顯示過程);查看哪一級文件大小、使用比例、檔案系統及其掛入點,但對文件卻無能為力。

  • -h:以K、M、G為單位輸出,提高信息的可讀性。

top命令

功能:提供了實時的對系統的處理器的狀態監監視;顯示系統中各個進程的資源占用狀況。

  • -d:指定每兩次屏幕信息刷新之間的時間間隔。
  • -p:通過指定監控進程ID來僅僅監控某個進程的狀態。

free命令

功能:查看當前系統內存的使用情況它顯示系統中剩余及已用的物理內存和交換內存以及共享內存和被核心使用的緩沖區。

  • -h:以K、M、G為單位顯示。
  • -b | --bytes:輸出以比特方式顯示。
  • -k | --kb:輸出以KB方式顯示,這是系統默認項。
  • -m | --mb: 輸出以MB方式顯示,這是常用項,比較清晰。
  • -g | --gb:輸出以GB方式顯示。
  • -l | --lowhigh:顯示詳細信息。
  • -o | --old:舊格式顯示,不顯示-/+ buffers/cache項。
  • -t | --total:顯示總共物理內存和交換區間。
  • -c n | --count=n:顯示統計的次數,n默認為1 次。
  • -s n | --repeat=n: 間隔秒數,持續觀察內存使用情況。
  • -V | --version:顯示版本信息。
  • --help:顯示幫助信息。

pstack命令

格式:pstack <PID>
功能:可顯示每個進程的棧跟蹤。必須由相應進程的屬主或root運行。可以使用pstack來確定進程掛起的位置。此命令允許使用的唯一選項是要檢查的進程的PID

su命令

功能:用戶之間的切換功能。

  • su:切換了root身份,但shell環境仍然是普通用戶的shell
  • su -f:不必讀啟文件,僅用於cshtcsh兩種shell
  • -l:加了這個參數之后,就好像重新登錄一樣,部分環境變量都是以該使用者為主,並且工作目錄也會改變。如果沒有指定USER,缺省情況是root

sudo命令

格式: sudo [option] <command>
功能:普通用戶可以使用root權限來執行指定命令。

  • -s:執行環境變數中的SHELL所指定的shell,或是/etc/passwd里所指定的shell
  • -v:顯示版本編號。
  • -h:顯示版本編號及指令的使用方法說明。
  • -l:顯示出自己的權限。
  • -k:將會強迫使用者在下一次執行sudo時問密碼

adduser命令

格式:adduser [option] <username>
功能:指令根據指令行參數給系統添加用戶,它的配置信息保存在/etc/adduser.conf文件中。

  • -r|--system:創建一個系統用戶。
  • -q:只顯示警告信息和錯誤信息,不顯示一般信息。
  • --debug:用於測試。
  • -c:加上備注文字。備注文字會保存在passwd的備注欄位中。
  • -d:指定用戶登入時的啟始目錄。
  • -D:變更預設值。
  • -e:指定帳號的有效期限,缺省表示永久有效。
  • -f:指定在密碼過期后多少天即關閉該帳號。
  • -g:指定用戶所屬的群組。
  • -G:指定用戶所屬的附加群組。
  • -m:自動建立用戶的登入目錄。
  • -M:不要自動建立用戶的登入目錄。
  • -s:指定用戶登入后所使用的shell
  • -u:指定用戶id。

passwd命令

功能:修改用戶密碼。

  • -d:刪除密碼。
  • -f:強制執行。
  • -k:更新只能發送在過期之后。


免責聲明!

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



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