工作中總結的30個常用Linux指令,實在記不住就別硬記了,看這篇就夠了
寫在開頭
最近發現自己記憶力嚴重下滑,很多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鍵顯示為規定的數字空格
空格鍵 滾動一行
回車鍵 滾動一頁
[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命令的,就別硬記啦,收藏起來,后面忘記了直接查吧。