工作中總結的30個常用Linux指令,實在記不住就別硬記了,看這篇就夠了

JavaBuild發表於2024-03-26

寫在開頭

最近發現自己記憶力嚴重下滑,很多sql命令,linux命令都記不住,特別是linux命令,很多命令引數很多,一段時間不用,再去使用就需要從網上重查了,很煩人,為此花了一些時間把之前筆記中的Linux命令給整理了一下,彙總出30個常用的分享出來,下次再想不起來直接看這篇文章就行了。

1、Linux指令-ls

list 的縮寫,透過 ls 命令不僅可以檢視 linux 資料夾包含的檔案,而且可以檢視檔案許可權(包括目錄、資料夾、檔案許可權)、檢視目錄資訊等等。

ls -a 列出目錄下所有檔案,包含以.開始的隱藏檔案
ls -A 列出除.及..的其他檔案
ls -r 檔案以反序排列
ls -t 檔案以修改時間排序
ls -S 檔案以大小排序
ls -h 以易讀大小顯示
ls -l 除了檔名外,還將檔案的許可權、所有者、檔案大小等詳細資訊顯示出來
ls -lhrt 按照易讀方式按時間反序排序,並顯示檔案詳細資訊
ls -lrS 按大小反序顯示檔案詳細資訊
ls -l t* 列出當前目錄中所有以“t”開頭的目錄的詳細內容

2、Linux指令-cd

切換目錄,是changedirectory的縮寫

cd / 進入指定的目錄
cd ~ 進入home目錄
cd - 進入上一次工作路徑
cd .. 切換到上一級目錄

3、Linux指令-pwd

該命令用於檢視當前工作目錄的路徑, print work directory的縮寫

pwd 檢視當前目錄路徑
pwd -P 檢視軟連線的實際路徑

4、Linux指令-mkdir

該指令用於建立目錄,是make directory的縮寫

mkdir t 當前工作目錄下建立名為t的資料夾
mkdir -m 對新建的目錄設定許可權,當然也可以用chmod命令賦權
mkdir -p 若路徑中的某些目錄尚不存在,系統會自動建立
mkdir -p /tmp/test/t 在tmp目錄下建立路徑為test的目錄,
	     在test目錄下建立t目錄

5、Linux指令-rm

rm是remove的縮寫,指刪除一個目錄中的一個或多個檔案或目錄。如果沒有使用 -r 選項,則 rm 不會刪除目錄。如果使用 rm 來刪除檔案,通常仍可以將該檔案恢復原狀。

命令語法:rm [選項] 檔案..
rm -f 強制刪除,忽略不存在的檔案,不給出提示
rm -i 互動式刪除,刪除前給提示
rm -r 遞迴刪除目錄下檔案,以及子目錄下的檔案
rm -i *.log 刪除任何.log檔案,刪除前逐一詢問確認
rm -rf test 強制刪除test目錄或檔案,無需確認

6、Linux指令-rmdir

rmdir是remove directory的縮寫,指刪除空目錄

rmdir -v 刪除時有提示
rmdir -p 如果一個目錄和子目錄皆為空,則在刪除子目錄時,父目錄一併刪除
rmdir -p a/b/c 等同於rmdir a/b/c a/b a

7、Linux指令-mv

mv是move的縮寫,指移動檔案、目錄,移動時可修改檔案或目錄名

命令語法:mv [選項] 原始檔或目錄 目標檔案或目錄
mv test.txt test2.txt 將檔案test.txt重新命名為test2.txt
mv log.txt log2.txt /log 將log.txt、log2.txt檔案移動到/log目錄中
mv -i log.txt log2.txt 將檔案log.txt更名為log2.txt,如果log2.txt已經存在,則詢問是否覆蓋。
mv -f log.txt log2.txt 將檔案log.txt更名為log2.txt,如果log2.txt已經存在,直接覆蓋。
mv * ../ 移動當前資料夾下的所有檔案到上一級目錄

8、Linux指令-cp

複製,將多檔案或目錄複製至目標目錄(shell 指令碼中不加 -i 引數會直接覆蓋不會提示)

常用指令:
-i 提示
-r 複製目錄以及目錄內所有的檔案
-a 複製的檔案與原檔案時間一樣
cp -ai a.txt test 複製a.txt檔案到test目錄下,保持原檔案時間,如果test目錄中已經存在a.txt檔案,提示是否覆蓋。
cp -s a.txt a_link.txt 為a.txt檔案建立一個連結

9、Linux指令-cat

文字輸出命令

cat filename 一次顯示整個檔案
cat > filename 從鍵盤建立一個檔案
cat file1 file2 > file 將幾個檔案合併為一個檔案
-b 對非空輸出行號
-n 輸出所有行號
cat -n log1.log log2.log 把log1.log的檔案內容加上行號後輸入到log2.log檔案裡
cat -b log1.log log2.log log.log 把log1.log和log2.log的檔案內容加上行號(空白行不加)附加到log.log裡。

10、Linux指令-more

閱讀命令,與 cat 類似, more 會以一頁一頁的顯示方便逐頁閱讀,按空格鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示。

命令引數:
+n 從第n行開始顯示
-n 定義螢幕大小為n行
+/pattern 在每個檔案顯示前搜尋該(pattern)字串,然後從該字串前兩行之後開始顯示
-c 從頂部清屏,然後顯示
-s 把連續的多個空行顯示為一行
-u 把檔案中的下劃線去掉

常用的操作命令:
Enter 向下n行,需要定義。預設為1行
Ctrl+F 向下滾動一屏
空格鍵 向下滾動一屏
Ctrl+B 返回上一屏
= 輸出當前行的行號
:f 輸出檔名和當前行的行號
!命令 呼叫shell,並執行命令
q	退出more
more +3 text.txt 顯示檔案中從第三行起的內容
ls -l | more -5 以每次顯示5行資料的量,列出當前目錄下的所有檔案詳細資訊

11、Linux指令-less

瀏覽檔案命令,less 可以隨意瀏覽檔案,less 在檢視之前不會載入整個檔案

常用引數:
-i 忽略搜尋時的大小寫
-N 顯示每行行號
-o <檔名> 將less輸出的內容在指定的檔案中儲存起來
-s 顯示連續空行為一行
/字串 向下搜尋“字串”的功能
?字串 向上搜尋“字串”的功能
-x <數字> 將tab鍵顯示為規定的數字空格
空格鍵 滾動一行
Enter鍵 滾動一頁
[pagedown] 向下發動一頁
[pageup] 向上翻動一頁

ps -aux | less -N  ps檢視程序資訊並透過less分頁顯示,顯示行號
less a.log b.log 檢視多個檔案,可以使用n檢視下一個,使用怕p檢視前一個

12、Linux指令-tail

用於顯示指定檔案末尾內容,不指定檔案時,作為輸入資訊進行處理,常用來檢視日誌檔案

常用引數:
-f 迴圈讀取(常用於檢視程式執行後遞增的日誌檔案)
-n<行數> 顯示行數(從後向前)
tail -n 100 顯示後100行日誌檔案
tail -f log.log 迴圈讀取日誌檔案逐漸增加的內容
tail -200f log.log 迴圈讀取日誌檔案後200行的內容

13、Linux指令-head

顯示開頭或結尾命令
head 用來顯示檔案的開頭至標準輸出中,預設 head 命令列印檔案的開頭 10 行

常用引數:
-n <行數> 顯示的行數(行數為複數表示從後向前數)

head a.log -n 20 顯示a.log檔案中前20行資料
head -c 20 a.log 顯示a.log檔案前20位元組
head -n -10 a.log 顯示a.log最後10行資料

14、Linux指令-which

這個指令平時用的比較少,主要功能是PATH 中搜尋某個系統命令的位置,並返回第一個搜尋結果
which 命令,可以看到某個系統命令是否存在,執行命令的位置。

which ls  檢視 ls 命令的執行檔案位置

15、Linux指令-locate

搜尋文件資料庫命令
locate 透過搜尋系統內建文件資料庫達到快速找到檔案,資料庫由 updatedb 程式來更新,updatedb 由 cron daemon 週期性呼叫
locate 命令在搜尋較快,但最近才建立或剛更名的,可能會找不到
locate 與 find 命令相似,可以使用正則匹配查詢

常用引數:
-l num 要顯示的行數
-f 將特定的檔案系統排除在外
-r 使用正則運算子作為尋找條件

locate pwd 查詢檔名中包換pwd的所有檔案
locate /etc/sh 搜尋etc目錄下的所有以sh開頭的檔案
locate -r '^/var.*txt$' 查詢/var目錄下,以txt結尾的檔案

16、Linux指令-find

查詢檔案樹命令,用於在檔案樹中查詢檔案,並作出相應的處理。

命令格式:find pathname -options [-print -exex -ok ...]
命令引數:
pathname:查詢的目錄路徑
		 ~表示home目錄
		 .表示當前目錄
		 /表示根目錄
-print:匹配的檔案輸出到標準輸出
-exec:對匹配的檔案執行該引數所給出的shell命令
-ok:和-exec作用相同,不過是以一種更安全的模式來執行該引數所給出的shell命令,在執行每一個命令前,都會給出提示,讓使用者來確定是都執行。

-options:表示查詢方式,如下是其具體選項
-name 按照檔名查詢檔案
-perm 按照檔案許可權查詢檔案
-user 按照檔案屬主查詢檔案
-group 按照檔案所屬的組來查詢檔案
-type 查詢某一型別的檔案
		b 塊裝置檔案
		d 目錄
		c 字元裝置檔案
		l 符號連結檔案
		p 管道檔案
		f 普通檔案
-size n :[c] 查詢檔案長度為n塊檔案,帶有c時表示檔案位元組大小
-amin n 查詢系統中最後n分鐘訪問的檔案
-atime n 查詢系統中最後n*24小時訪問的檔案
-cmin n 查詢系統中最後n分鐘被改變檔案狀態的檔案
-ctime n 查詢系統中最後n*24小時被改變檔案狀態的檔案
-mmin n 查詢系統中最後n分鐘被改變檔案資料的檔案
-mtime n 查詢系統中最後n*24小時被改變檔案資料的檔案
-maxdepth n 最大查詢目錄深度
-prune 選項來指出需要忽略的目錄
-newer 查詢更改時間比某個檔案新,但比另外一個檔案舊的所有檔案
find . -name '[A-Z]*.txt' -print 在當前目錄及子目錄中,查詢大寫字母開頭的txt檔案 
find . -mtime -2 -type f -print  查詢兩天內被更該過的檔案
find . -name 'del.txt' -ok rm {} \; 查詢名為del.txt的檔案並刪除,刪除前提示確認
find logs -type f -mtime +5 -exec -ok rm {} \;在 /logs目錄中查詢更改時間在5日以前的檔案並刪除它們

17、Linux指令-chmod

用於改變 linux 系統檔案或目錄的訪問許可權
該命令有兩種用法:一種是包含字母和運算子表示式的文字設定法;另一種是包含數字的數字設定法
每一檔案或目錄的訪問許可權都有三組,每組用三位代號表示:

檔案屬主的讀、寫和執行許可權
與屬主同組的使用者的讀、寫和執行許可權
系統中其他使用者的讀、寫和執行許可權
常用引數:
-c 當發生改變時,報告處理資訊
-R 處理指定目錄以及其子目錄下的所有檔案
許可權範圍:
u:目錄或者檔案的當前的使用者
g:目錄或者檔案的當前的群組
o:除了目錄或者檔案的當前使用者或者群組之外的使用者
a:所有的使用者及群組

許可權代號:
r :讀許可權,用數字4表示
w :寫許可權,用數字2表示
x :執行許可權,用數字1表示
- :刪除許可權,用數字0表示
s :特殊許可權
chmod -R 755 目錄名稱

18、Linux指令-tar

壓縮和解壓檔案
tar 本身不具有壓縮功能,只具有打包功能,有關壓縮及解壓是呼叫其它的功能來完成

命令引數:
-c 建立新的壓縮檔案
-f 指定壓縮檔案
-r 新增檔案到已經壓縮檔案包中
-u 新增改了和現有的檔案到壓縮包中
-x 從壓縮包中抽取檔案
-t 顯示壓縮檔案中的內容
-z 支援gzip壓縮
-j 支援bzip2壓縮
-Z 支援compress解壓檔案
-v 顯示操作過程

示列:
tar -cvf log.tar 1.log,2.log 將1.log和2.log檔案全部打成tar包
tar -zcvf /temp/log.tar.gz /log 將/log下所有檔案及目錄打包到指定的目錄,並使用gz壓縮
tar -ztvf /temp/log.tar.gz 檢視剛打包的檔案內容
tar -zxvf log.tar.gz 解壓這個log.tar.gz檔案
tar --exclude /log/mylog/ -zcvf /tmp/loglog.tar.gz /log   壓縮打包/log,排除/log/mylog

19、Linux指令-chown

將指定檔案的擁有者改為指定的使用者或組,操作許可權為root使用者

使用者可以是使用者名稱或者使用者 ID
組可以是組名或者組 ID
檔案是以空格分開的要改變許可權的檔案列表,支援萬用字元
常用引數:
-c 顯示更改部分的資訊
-R 處理指定的目錄及子目錄

chown -c log:log a.txt 改變檔案a.txt的擁有者和群組都為log,並顯示改變資訊
chown -c :log a.txt 改變檔案a.txt的群組為log,並顯示改變資訊
chown -c log a.txt  改變檔案a.txt的擁有者為log,並顯示改變資訊
chown -cR log: log/ 改變資料夾log及子檔案、目錄屬主為log

20、Linux指令-df

顯示磁碟空間使用情況

獲取硬碟被佔用空間,剩餘空間等資訊。預設所有當前被掛載的檔案系統的可用空間都會顯示
預設情況下,磁碟空間以 1KB 為單位進行顯示
常用引數:
-a 全部檔案系統列表
-h 以方便閱讀的方式顯示資訊
-i 顯示inode資訊
-k 區塊為1024位元組
-l 只顯示本地磁碟
-T 列出檔案系統型別

21、Linux指令-du

是檢視目錄使用空間情況,與 df 命令不同的是 du 命令是對檔案和目錄磁碟使用的空間的檢視

命令格式:du [選項] [檔案]
常用引數:
-a 顯示目錄中所有檔案大小
-k 以kb為單位顯示檔案大小
-m 以MB為單位顯示檔案大小
-g 以GB為單位顯示檔案大小
-h 以易讀方式顯示檔案大小
-s 僅顯示總計
-c 或 --total 除了顯示個別目錄或檔案大小,同時也顯示所有的目錄或檔案的大小總和

du -ah --max-depth=1  顯示各個資料夾大小

22、Linux指令-ln

為檔案在另外一個位置建立一個同步的連結

連結分為:
1、軟連結

軟連結,以路徑的形式存在。類似於 Windows 作業系統中的快捷方式
軟連結可以跨檔案系統 ,硬連結不可以
軟連結可以對一個不存在的檔名進行連結
軟連結可以對目錄進行連結

2、硬連結

硬連結,以檔案副本的形式存在。但不佔用實際空間。
不允許給目錄建立硬連結
硬連結只有在同一個檔案系統中才能建立

需要注意:

ln 命令會保持每一處連結檔案的同步性,也就是說,不論你改動了哪一處,其它的檔案都會發生相同的變化
ln 的連結又分軟連結和硬連結兩種,軟連結就是ln –s 原始檔 目標檔案,它只會在你選定的位置上生成一個檔案的映象,不會佔用磁碟空間;硬連結 ln 原始檔 目標檔案,沒有引數 -s, 在指定的位置上生成一個和原始檔大小相同的檔案,無論是軟連結還是硬連結,檔案都保持同步變化
ln 指令用在連結檔案或目錄,如同時指定兩個以上的檔案或目錄,且目標目錄已經,則會把前面指定的所有檔案或目錄複製到該目錄中。若同時指定多個檔案或目錄,且目標目錄不存在,則會出現錯誤資訊
常用引數:
-b 刪除,覆蓋之前建立的連結
-s 軟連線
-v 顯示詳細處理過程
ln -s /usr/local/mysql/bin/mysql /usr/bin 建立一個軟連結

23、Linux指令-date

顯示或設定系統的日期與時間

命令引數:
-d<字串>  顯示字串所指的日期與時間,字串前後必須加上雙引號
-s<字串>  根據字串來設定日期與時間,字串前後必須加上雙引號
-u  顯示GMT
%H 小時(00-23)
%I 小時(00-12)
%M 分鐘(以00-59來表示)
%s 總秒數起算時間為1970-01-01 00:00:00 UTC
%S 秒(以本地的慣用法來表示)
%a 星期的縮寫
%A 星期的完整名稱
%d 日期(以01-31來表示)
%D 日期(含年月日)
%m 月份(以01-12來表示)
%y 年份(以00-99來表示)
%Y 年份(以四位數來表示)

例項:
date +回車 檢視系統當前時間
date -s "2018-05-24 16:36:00" 修改當天系統時間為所設定時間
date +%Y%m%d --date="+1 day"  //顯示下一天的日期
date -d "nov 22"   顯示今年的 11 月 22 日
date -d "2 weeks"  顯示2周後的日期
date -d "next monday"  顯示下週一的日期
date -d next-day +%Y%m%d 或 date -d tomorrow +%Y%m%d  顯示明天的日期
date -d last-day +%Y%m%d 或 date -d yesterday +%Y%m%d  顯示昨天的日期
date -d last-month +%Y%m  顯示上個月的月份
date -d next-month +%Y%m  顯示下個月的月份

24、Linux指令-cal

顯示公曆日曆
指令後只有一個引數,表示年份,1-9999
指令後有兩個引數,表示月份和年份

常用引數:
-3 顯示前一個月,當前月,後一個月三個月的日曆
-m 顯示星期一為第一列
-j 顯示當前年第幾天
-y [year]顯示[year]年份的日曆

cal 11 2021 顯示2021年11月的日曆

25、Linux指令-grep

文字搜尋命令,grep 是 Global Regular Expression Print 的縮寫,全域性正規表示式搜尋
grep 在一個或多個檔案中搜尋字串模板。如果模板包括空格,則必須使用引號,模板後的所有字串被看作檔名,搜尋的結果被送到標準輸出,不影響原檔案內容。

命令格式:grep [option] pattern file|dir
常用引數:
-A n --after-context顯示匹配字元後n行
-B n --before-context顯示匹配字元前n行
-C n --context 顯示匹配字元前後n行
-c --count 計算符合樣式的列數
-i 忽略大小寫
-l 只列出檔案內容符合指定的樣式的檔名稱
-f 從檔案中讀取關鍵詞
-n 顯示匹配內容的所在檔案中行數
-R 遞迴查詢資料夾

grep 的規則表示式:
^        錨定行的開始 如:'^log'匹配所有以 log 開頭的行。 
$        錨定行的結束 如:'log$'匹配所有以 log 結尾的行。 
.        匹配一個非換行符的字元,'l.g' 匹配 l+非換行字元+g,如:log
*        匹配零個或多個先前字元 如:'*log' 匹配所有一個或多個空格後緊跟 log 的行
.*       一起用代表任意字元  
[]       匹配一個指定範圍內的字元,如:'[Ll]og' 匹配 Log 和 log 
[^]      匹配一個不在指定範圍內的字元,如:'[^A-FH-Z]og' 匹配不包含 A-F 和 H-Z 的一個字母開頭,緊跟 log 的行
\(..\)   標記匹配字元,如:'\(log\)',log 被標記為 1
\<      錨定單詞的開始,如:'\<log' 匹配包含以 log 開頭的單詞的行
\>       錨定單詞的結束,如:'log\>' 匹配包含以 log 結尾的單詞的行
x\{m\}   重複字元 x,m 次,如:'a\{5\}' 匹配包含 5 個 a 的行
x\{m,\}  重複字元 x,至少 m 次,如:'a\{5,\}' 匹配至少有 5 個 a 的行
x\{m,n\} 重複字元 x,至少 m 次,不多於 n 次,如:'a\{5,10\}' 匹配 5 到 10 個 a 的行
\w       匹配文字和數字字元,也就是[A-Za-z0-9],如:'l\w*g'匹配 l 後跟零個或多個字母或數字字元加上字元 p  
\W       \w 的取反,匹配一個或多個非單詞字元,如 , . ' "
\b       單詞鎖定符,如: '\blog\b' 只匹配 log

grep "text" . -R 在當前目錄下遞迴查詢含有“text”內容的檔案

26、Linux指令-wc

wc(word count),統計指定的檔案中位元組數、字數、行數,並將統計結果輸出

命令引數:
-c 統計位元組數
-l 統計行數
-m 統計字元數
-w 統計詞數,一個字被定義為由空白、跳格或換行字元分隔的字串

27、Linux指令-ps

ps(process status),用來檢視當前執行的程序狀態,一次性檢視,如果需要動態連續結果使用 top 指令

linux 系統中程序有5種狀態:

執行(正在執行或在執行佇列中等待)
中斷(休眠中, 受阻, 在等待某個條件的形成或接受到訊號)
不可中斷(收到訊號不喚醒和不可執行, 程序必須等待直到有中斷髮生)
僵死(程序已終止, 但程序描述符存在, 直到父程序呼叫 wait4() 系統呼叫後釋放)
停止(程序收到 SIGSTOP, SIGSTP, SIGTIN, SIGTOU 訊號後停止執行)

ps 工具標識程序的5種狀態碼:

R 執行 runnable
S 中斷 sleeping
D 不可中斷 uninterruptible sleep
Z 僵死 a defunct process
T 停止 traced or stopped
常用引數:
-A 顯示所有程序
-a 顯示同一終端下所有程序
-f: full 展示程序詳細資訊
-e: every 展示所有程序資訊
-ax: all 與 -e 同,展示所有程序資訊
-o: 設定輸出格式, 可以指定需要輸出的程序資訊列
-L: 展示執行緒資訊
-C: 獲取指定命令名的程序資訊
-t: tty 展示關聯指定 tty 的程序
--forest: 展示程序數
--sort: 按照某個或者某些程序資訊列排序展示
a 顯示所有程序
c 顯示程序真實名稱
e 顯示環境變數
f 顯示程序間的關係
r 顯示當前終端執行的程序

-aux 顯示所有包含其它使用的程序
-ef  顯示所有當前程序資訊
ps -C bash  顯示指定名稱的程序資訊
ps -eLf  顯示當前系統中的執行緒資訊
ps -ef --forest  顯示程序樹

28、Linux指令-top

顯示當前系統正在執行的程序的 ID、記憶體佔用率、CPU 佔用率等相關資訊

常用引數:
-c 顯示完整的程序命令
-s 保密模式
-p <程序號> 指定程序顯示
-n <次數> 迴圈顯示次數

例項:
top - 00:05:02 up 204 days,  9:56,  2 users,  load average: 0.00, 0.01, 0.05
Tasks:  68 total,   1 running,  67 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.7 us,  0.7 sy,  0.0 ni, 98.3 id,  0.3 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1016168 total,    65948 free,   335736 used,   614484 buff/cache
KiB Swap:        0 total,        0 free,        0 used.   517700 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND     
 7110 root      10 -10  130476   9416   6116 S  1.3  0.9 141:26.59 AliYunDun   
15845 root      20   0   47064   4320   2180 S  0.3  0.4   2:51.16 nginx   

前五行是當前系統情況整體的統計資訊區

第一行,任務佇列資訊,同 uptime 命令的執行結果:
00:05:02 — 當前系統時間
up 204 days,  9:56 — 系統已經連續執行了 204 天 9 小時 56 分鐘未重啟
2 users — 當前有 2 個使用者登入系統
load average: 0.00, 0.01, 0.05 — load average 後面的三個數分別是 0 分鐘、1 分鐘、5分鐘的負載情況,load average 資料是每隔 5 秒鐘檢查一次活躍的程序數,然後按特定演算法計算出的數值。如果這個數除以邏輯CPU的數量,結果高於5的時候就表明系統在超負荷運轉了

第二行,Tasks — 任務(程序):
系統現在共有 68 個程序,其中處於執行中的有 1 個,休眠中 67 個,停止 0 個,僵死 0個

第三行,cpu狀態資訊:
0.7 us — 使用者空間佔用 CPU 的百分比
0.7 sy — 核心空間佔用 CPU 的百分比
0.0 ni — 改變過優先順序的程序佔用 CPU 的百分比
98.3 id — 空閒CPU百分比
0.3 wa — IO 等待佔用 CPU 的百分比
0.0 hi — 硬中斷(Hardware IRQ)佔用 CPU 的百分比
0.0 si — 軟中斷(Software Interrupts)佔用 CPU 的百分比
0.0 st - 虛擬機器佔用百分比


第四行,記憶體狀態:
1016168 total — 實體記憶體總量
65948 free — 空閒記憶體總量
335736 used — 使用中的記憶體總量
614484 buff/cache — 快取的記憶體量

第五行,swap交換分割槽資訊,具體資訊說明如下:
0 total — 交換區總量
0 free — 空閒交換區總量
0 used — 使用的交換區總量
517700 avail Mem - 可用記憶體

第七行以下:各程序(任務)的狀態監控,專案列資訊說明如下:
PID — 程序id
USER — 程序所有者
PR — 程序優先順序
NI — nice值。負值表示高優先順序,正值表示低優先順序
VIRT — 程序使用的虛擬記憶體總量,單位kb。VIRT=SWAP+RES
RES — 程序使用的、未被換出的實體記憶體大小,單位kb。RES=CODE+DATA
SHR — 共享記憶體大小,單位kb
S — 程序狀態。D=不可中斷的睡眠狀態 R=執行 S=睡眠 T=跟蹤/停止 Z=殭屍程序
%CPU — 上次更新到現在的CPU時間佔用百分比
%MEM — 程序使用的實體記憶體百分比
TIME+ — 程序使用的CPU時間總計,單位1/100秒
COMMAND — 程序名稱(命令名/命令列)

top 互動命令
h 顯示top互動命令幫助資訊
c 切換顯示命令名稱和完整命令列
m 以記憶體使用率排序
P 根據CPU使用百分比大小進行排序
T 根據時間/累計時間進行排序
W 將當前設定寫入~/.toprc檔案中
o或者O 改變顯示專案的順序

29、Linux指令-kill

刪除執行中的程式或者工作,傳送指定的訊號到相應的程序,如果不指定訊號的話,將傳送sigterm(15)終止指定程序,用‘-KILL’引數,傳送訊號SIGKILL(9)強制結束程序

常用引數:
-l 訊號,若不加訊號的編號引數,會全部列出訊號的名稱。
-a 當處理當前程序時,不限制命令名和程序號的對應關係
-p 指定kill命令只列印相關程序的程序號,而不傳送任何訊號
-s 指定傳送訊號
-u 指定使用者

示例:
kill -l 顯示訊號
kill -KILL 8878 強制殺死程序 8878
kill -9 8878 徹底殺死程序8878
kill -u tomcat 殺死tomcat使用者的程序

30、Linux指令-free

顯示系統記憶體使用情況,包括實體記憶體、swap記憶體和核心cache記憶體

命令引數:
-b 以Byte顯示記憶體使用情況
-k 以kb為單位顯示記憶體使用情況
-m 以mb為單位顯示記憶體使用情況
-g 以gb 為單位顯示記憶體使用情況
-s<間隔秒數>持續顯示記憶體
-t 顯示記憶體使用總合

總結

以上是基於在工作中所遇到的一些命令進行了彙總,並不完全,後續再遇到會繼續補充滴,大家像build哥一樣實在記不住Linux命令的,就別硬記啦,收藏起來,後面忘記了直接查吧。

結尾彩蛋

如果本篇部落格對您有一定的幫助,大家記得留言+點贊+收藏呀。原創不易,轉載請聯絡Build哥!

image

如果您想與Build哥的關係更近一步,還可以關注“JavaBuild888”,在這裡除了看到《Java成長計劃》系列博文,還有提升工作效率的小筆記、讀書心得、大廠面經、人生感悟等等,歡迎您的加入!

image

相關文章