本文記一些比較零碎的系統操作,如將程式放入後臺,查看進程和記憶體等信息,查看系統Linux內核和版本等信息,以及如何制定系統定時任務等。 將程式放入後臺在Windows程式中其實最小化之後就是放入後臺運行了,在Linux系統中有兩種方式將程式放入後臺。方式一:在命令的最後加一個&符即可將命令的運行放入 ...
本文記一些比較零碎的系統操作,如將程式放入後臺,查看進程和記憶體等信息,查看系統Linux內核和版本等信息,以及如何制定系統定時任務等。
將程式放入後臺
在Windows程式中其實最小化之後就是放入後臺運行了,在Linux系統中有兩種方式將程式放入後臺。
方式一:在命令的最後加一個&符即可將命令的運行放入後臺運行(程式還在繼續運行),如“tar -zcf etc.tar.gz /etc &”將打包的程式放入後臺,而不用一直等待它打包完才能進行其他操作。
方式二:使用快捷鍵“Ctrl+Z”,在命令執行的過程中按Ctrl+Z快捷鍵也可以將正在運行的程式放入後臺並暫停執行(程式已暫停,需要主動恢復執行才能繼續執行)。
jobs -l:查看後臺的程式(正在運行和暫停的程式),+號表示最後放入的一個程式,-號表示倒數第二個放入後臺的程式。
fg %工作號:恢復後臺某個程式到前臺執行。其中%是可以省略的,工作號是在查看後臺程式時顯示在前面的序號,並且這個序號是從1開始累加的,同時也需要註意工作號和PID的區別。
bg %工作號:將後臺某個程式在後臺恢復執行。其中%是可以省略的,但是註意,如果這個程式運行時是需要和前臺有交互的,如top、vim等命令,則不能將它恢復到後臺去執行。
vmstat命令
vmstat [刷新延時 刷新次數]:用於查看監聽的系統資源,如vmstat 1 3表示監聽系統資源3次,每次間隔1秒。這個系統資源其實就是進程、記憶體、系統、CPU等信息合併之後的簡潔表示。
dmesg命令
這個命令用於顯示開機時的內核檢測信息,如`dmesg | grep CPU`可以查看CPU信息。也可以使用這個命令來查看系統的硬體信息。
free命令
free [選項]:專門查看記憶體使用狀態的命令。
選項:
- -b:以位元組為單位顯示。
- -k:以KB為單位顯示,也是預設項。
- -m:以MB為單位顯示。
- -g:以GB為單位顯示。
free命令的結果中會有緩存(cache)和緩衝(buffer)的信息,關於這兩者的區別,可以簡單理解為這樣:其實都是記憶體,但是它們的作用確實相反的,緩存是用來加速數據的讀取的,而緩衝是用來加速向硬碟寫入數據的。CPU從硬碟讀取數據肯定是要比從記憶體都讀取數據慢的,所以可以將數據暫時存儲在記憶體中,需要的時候直接從記憶體中讀取,此時數據的讀取速度就會快很多,這部分記憶體的作用就是緩存。同樣,CPU如果頻繁的向硬碟寫入數據,但每次寫入的數據又不是很多的時候,可以將其放入記憶體,等數據足夠多的時候再一次性寫入硬碟,這樣能避免頻繁的對硬碟進行操作而拖慢程式的運行速度,這部分記憶體的作用就是緩衝。
查看系統內核信息
uname [選項]:查看系統和內核相關信息。
選項:
- -a:查看系統所有相關信息。
- -r:查看內核版本。
- -s:查看內核名稱。
查看系統的位數
file /bin/ls:其實沒有直接查看系統位數的命令,但是可以使用file命令查看某一個系統命令來看系統的位數,列印結果中會有系統位數的信息。
查看系統的發行版本
lsb_release -a:查看當前Linux系統的發行版本。
查看進程調用的文件
lsof [選項]:查看某個進程調用或打開的所有文件信息。
選項:
- -c 字元串:只列出以字元串開頭的進程打開的文件。
- -u 用戶名:只列出某個用戶的進程打開的文件。
- -p pid:列出某個PID進程打開的文件。
系統定時任務
crontab [選項]:查看和設置定時任務。
選項:
- -l:查詢crontab任務。
- -r:刪除當前用戶所有的crontab任務。
- -e:編輯crontab任務。編輯crontab任務時會打開一個文件,在這個文件中按照給定格式寫入就可以指定定時任務:分鐘,小時,日,月,星期,命令或腳本。其中前五項如果某項不指定,則寫為星號*即可,它們的取值分別為分鐘(0-59)、小時(0-23)、日(1-31)、月(1-12)、星期(0-7,,0和7都代表星期天)。
- 示例:“10 * * * * 命令或腳本”表示每小時執行一次指定的命令或腳本(註意10表示在每小時的第10分開始執行,而不是每隔十分鐘執行一次)。
指定這些定時信息有一些特殊符號可以使用:
- *:星號表示任意時間。
- ,:逗號表示不連續的時間,如“10,20,30 * * * * 命令或腳本”表示每小時的這三個時間點開始執行。
- -:橫杠表示連續的時間範圍。
- */n:表示每隔多久就執行一次,如“*/10 * * * * 命令或腳本”表示每隔10分鐘執行一次。
- 註:如果兩個同性質的選項都寫了,比如同時指定了日和星期(它們都表示的是某一天),則表示多少號和星期幾都會執行,它們是並集關係。