shell之檢測程序、檢測磁盤空間、處理數據文件

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命令

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章