shell提示符
默認的bash shell提示符是美元符號($)
- PS1:控制默認命令行提示符的格式
- PS2:控制後續命令行提示符的格式
- 上面新的PS1定義只在這個shell會話中有效,啓動新的shell時,默認的shell提示符定義會重載
檢測程序
探查進程
ps命令:默認情況下,ps命令只會顯示運行在當前控制檯下的屬於當前用戶的進程。Unix風格的ps命令參數:
參數 | 描述 |
---|---|
-A | 顯示所有進程 |
-N | 顯示與指定參數不符合的所有進程 |
-a | 顯示除控制進程和無終端的進程外的所有進程 |
-d | 顯示除控制進程外的所有進程 |
-e | 顯示所有進程 |
-C cmdlist | 顯示包含在cmdlist列表中的進程 |
-G grplist | 顯示組ID在grplist列表中的進程 |
-U userlist | 顯示屬主的用戶ID在userlist列表中的進程 |
-g grplist | 顯示會話或組ID在grplist列表中的進程 |
-p pidlist | 顯示PID在pidlist列表中的進程 |
-s sesslist | 顯示會話ID在sesslist列表中的進程 |
-t ttylist | 顯示終端ID在ttylist列表中的進程 |
-u userlist | 顯示有效用戶ID在userlist列表中的進程 |
-F | 顯示更多額外輸出(相對-f參數而言) |
-O format | 顯示默認的輸出列以及format列表指定的特定列 |
-M | 顯示進程的安全信息 |
-c | 顯示進程的額外調度器信息 |
-f | 顯示完整格式的輸出 |
-j | 顯示任務信息 |
-l | 顯示長列表 |
-o format | 僅顯示由format指定的列 |
-y | 不要顯示進程標記(process flag,表名進程狀態的標記) |
-Z | 顯示安全標籤(security context)信息 |
-H | 用層級格式來顯示進程(樹狀,用來顯示父進程) |
-n namelist | 定義了WCHAN列顯示的值 |
-w | 採用寬輸出模式,不限寬度顯示 |
-L | 顯示進程中的線程 |
-V | 顯示ps命令的版本號 |
- UID:啓動這些進程的用戶
- PID:進程的進程號(PID)
- PPID:父進程的進程號(如果該進程是由另一個進程啓動的)
- C:進程生命週期中的CPU利用率
- STIME:進程啓動時的系統時間
- TTY:進程啓動時的終端設備
- TIME:運行進程需要的累計CPU時間
- CMD:啓動的程序名稱
- F:內核分配給進程的系統標記
- S:進程的狀態(O代表正在運行;S代表在休眠;R代表可運行,正在等待運行;Z代表進程已結束但是父進程已不存在;T代表停止)
- PRI:進程的優先級(越大的數字代表越低的優先級)
- NI:謙讓度(nice)值用來決定優先級
- ADDR:進程的內存地址
- SZ:假如進程被換出,所需交換空間的大致大小
- WCHAN:進程休眠的內核函數的地址
實時監測進程
top命令,觀察頻繁換進換出內存的進程的趨勢
第一行:當前時間、系統的運行時間、登入的用戶數以及系統的平均負載度。平均負載度有三個值:最近1分鐘的、最近5分鐘的和最近15分鐘的平均負載度。值越大說明系統的負載越高。
第二行:顯示了概要的進程信息。
第三行:顯示了CPU信息。
緊跟其後的兩行說明了系統內存的狀態。前行說的是系統的物理內存,後一行鍼對系統交換空間(如果分配了的話)的狀態來說的。
最後一部分顯示了當前運行中的進程的詳細列表。
- USER:進程屬主的名字
- PR:進程的優先級
- VIRT:進程佔用虛擬內存總量
- RES:進程佔用物理內存總量
- SHR:進程和其他進程共享的內存總量
- S:進程的狀態
- %CPU:進程使用的CPU時間比例
- %MEN:進程使用的內存佔用可用內存的比例
- TIME+:自進程啓動到目前爲止的CPU時間總量
- COMMAND:進程的命令行名稱,也就是啓動的程序名。
檢測磁盤空間
掛載存儲媒體
Linux系統將所有的磁盤都掛載到一個虛擬目錄下。在使用新的存儲媒體之前,你需要把它放到虛擬目錄下。這項工作稱爲掛載。
Linux上用來掛載媒體的命令叫做mount。從Linux系統上移除一個可移動設備時,不能直接從系統上移除,而應該先卸載它。卸載設備的命令叫umount
//手動將U盤/dev/sdb1掛載到/media/disk
mount -t vfat /dev/sdb1 /media/disk
//卸載。如果有任何程序正在使用設備上的文件,系統將不允許你卸載它
umount /home/wg/mnt
df命令
df命令查看所有已掛載磁盤的使用情況
1K-塊:能容納多少個1024字節大小的塊
常用參數:-h:把輸出彙總的磁盤空間按人類可讀的形式顯示,通常用M來代替兆字節,用G來代替吉字節
du命令
du命令可以顯示某個特定目錄(默認是當前目錄)的磁盤使用情況。可以用來判斷系統上某個目錄下是不是有超大文件的快速方法。
每行輸出開始的地方的數值,是每個文件或目錄佔用的磁盤塊數。
常用參數:
- -c:顯示所有已列出文件總的大小。
- -h:按人類可讀的格式輸出大小,用K替代千字節,用M替代兆字節,用G替代吉字節。
- -s:顯示每個輸出參數的統計。
處理數據文件
排序數據
sort命令:默認情況下,sort命令會把數字當做字符而執行標準的字符排序,參數-n可以告訴sort命令把數字識別成數字而不是字符,並且將他們按值排序。
另一個常用的參數是-M,按月排序。Linux的日誌文件經常會在每行的起始位置有一個時間戳,用來表明事件時什麼時候發生的。
搜索數據
grep [options] pattern [file]
grep命令會到輸入中或指定的文件中查找包含匹配指定模式的字符的行
如果要進行反向搜索(輸出不匹配該模式的行),可加-v參數:
如果要顯示匹配模式下的行號,可加-n參數:
如果只要知道多少行含有匹配的模式,可用-c參數:
壓縮數據
工具 | 文件擴展名 | 描述 |
---|---|---|
bzip2 | .bz2 | 採用Burrows-Wheeler塊排序文本壓縮算法和霍夫曼編碼 |
compress | .Z | 原始的Unix文件壓縮工具,逐漸消失中 |
gzip | .gz | GNU壓縮工具,用Lempel-Ziv編碼 |
zip | .zip | Windows上PKZIP工具的Unix實現 |
歸檔數據
tar命令