Linux命令行與Shell腳本編程大全-更多的bash shell命令

本章內(nèi)容:
管理進(jìn)程

獲取磁盤統(tǒng)計(jì)信息

掛載新的磁盤

排序數(shù)據(jù)

歸檔數(shù)據(jù)

1. 管理進(jìn)程?

當(dāng)程序運(yùn)行在系統(tǒng)上時(shí),我們稱之為進(jìn)程(process) 需要熟悉ps命令的用法來查看運(yùn)行在系統(tǒng)上的所有程序的許多信息

ps常用參數(shù) ps -ef 來查看所有進(jìn)程的狀態(tài)信息,-H 參數(shù)能把輸出的進(jìn)程組織成一個(gè)層級(jí)的格式,簡單的說就是一個(gè)樹狀結(jié)構(gòu)

ps命令的局限性在于只能顯示某一個(gè)特定時(shí)間點(diǎn)的信息,這個(gè)時(shí)候需要另外一個(gè)命令top

top命令和ps相似,能夠顯示進(jìn)程的信息,但它是實(shí)時(shí)顯示的

輸出的第一部分顯示的系統(tǒng)的概況:第一行顯示了當(dāng)前的時(shí)間、系統(tǒng)的運(yùn)行時(shí)間、登入的用戶數(shù)以及系統(tǒng)的負(fù)載情況

平均負(fù)載有3個(gè)值:1分鐘 5分鐘 15分鐘 這些值越大代表系統(tǒng)的負(fù)載越高,重點(diǎn)關(guān)注15分鐘的負(fù)載情況,如果15分鐘的平均負(fù)載都很高,說明系統(tǒng)是有問題的

結(jié)束進(jìn)程

kill 命令 可通過PID(進(jìn)程號(hào))給進(jìn)程發(fā)信號(hào)。默認(rèn)情況下,kill命令會(huì)向命令行中列出的全部PID發(fā)送一個(gè)TERM信號(hào),要發(fā)送進(jìn)程信號(hào),你必須是進(jìn)程的屬組或者登陸為root用戶

1.作用

kill命令用來中止一個(gè)進(jìn)程。

2.格式

kill [ -s signal | -p ] [ -a ] pid ...

kill -l [ signal ]

3.參數(shù)

-s:指定發(fā)送的信號(hào)。

-p:模擬發(fā)送信號(hào)。

-l:指定信號(hào)的名稱列表。

pid:要中止進(jìn)程的ID號(hào)。

Signal:表示信號(hào)。

(1)強(qiáng)行中止(經(jīng)常使用殺掉)一個(gè)進(jìn)程標(biāo)識(shí)號(hào)為324的進(jìn)程:

#kill -9 324

(2)解除Linux系統(tǒng)的死鎖

在Linux中有時(shí)會(huì)發(fā)生這樣一種情況:一個(gè)程序崩潰,并且處于死鎖的狀態(tài)。此時(shí)一般不用重新啟動(dòng)計(jì)算機(jī),只需要中止(或者說是關(guān)閉)這個(gè)有問題的程序即可。當(dāng)kill處于X-Window界面時(shí),主要的程序(除了崩潰的程序之外)一般都已經(jīng)正常啟動(dòng)了。此時(shí)打開一個(gè)終端,在那里中止有問題的程序。比如,如果Mozilla瀏覽器程序出現(xiàn)了鎖死的情況,可以使用kill命令來中止所有包含有Mozolla瀏覽器的程序。首先用top命令查處該程序的 PID,然后使用kill命令停止這個(gè)程序:

#kill -SIGKILL XXX

其中,XXX是包含有Mozolla瀏覽器的程序的進(jìn)程標(biāo)識(shí)號(hào)。

(3)使用命令回收內(nèi)存
我們知道內(nèi)存對(duì)于系統(tǒng)是非常重要的,回收內(nèi)存可以提高系統(tǒng)資源。kill命令可以及時(shí)地中止一些“越軌”的程序或很長時(shí)間沒有相應(yīng)的程序。例如,使用top命令發(fā)現(xiàn)一個(gè)無用 (Zombie) 的進(jìn)程,此時(shí)可以使用下面命令:
#kill -9 XXX

其中,XXX是無用的進(jìn)程標(biāo)識(shí)號(hào)。

(4)killall命令
Linux下還提供了一個(gè)killall命令,可以直接使用進(jìn)程的名字而不是進(jìn)程標(biāo)識(shí)號(hào),例如:

# killall -HUP inetd

*殺死進(jìn)程最安全的方法是單純使用kill命令,不加修飾符,不帶標(biāo)志。

2.獲取磁盤統(tǒng)計(jì)信息

有時(shí)候你需要知道在某個(gè)設(shè)備上還有多少的磁盤空間。df命令就是用來輕松查看所有已掛載磁盤的使用情況

df -h 常用命令參數(shù) 它會(huì)把輸出掛載中的磁盤空間按人類可讀的形式來顯示,通常用M來替代兆字節(jié),用G來替代吉字節(jié),還有已用空間所占的比例 設(shè)備掛載到了哪個(gè)掛載點(diǎn)上

du命令可以顯示某個(gè)特定目錄的磁盤使用情況,這個(gè)是用來判斷你系統(tǒng)上某個(gè)目錄下是不是有超大文件的快速方法。

du -sh 常用命令按人類可讀的形式來輸出文件的大小

3.掛載新的磁盤

mount 命令 用來掛載媒體的命令。默認(rèn)情況下,mount命令會(huì)輸出當(dāng)前系統(tǒng)上掛載的設(shè)備列表。

基本命令:

mount -t type device directory

-o 常用選項(xiàng):

ro:按只讀掛載

rw:按讀寫運(yùn)行的掛載

user:允許普通用戶掛載文件系統(tǒng)

check=none:掛載文件系統(tǒng)是不進(jìn)行完整性校驗(yàn)

loop:掛載一個(gè)文件 (常用掛載CD鏡像文件)

舉例:

mount -t vfat /dev/sdb1 /media/disk

mount -t iso9660 -o loop MEPIS-KDE-LIVE-DVD_32.iso mnt

umount 命令 用于卸載掛載點(diǎn)?

命令格式:

umount [ directory| device ] #支持通過設(shè)備文件或者是掛載點(diǎn)來指定要卸載的設(shè)備

如果在卸載設(shè)備時(shí),系統(tǒng)提示繁忙,無法卸載設(shè)備,通常是有進(jìn)程還在訪問該設(shè)備或使用該設(shè)備上的文件。這時(shí)可以用lsof命令獲取它的進(jìn)程信息,然后在應(yīng)用中停止使用該設(shè)備或者停止進(jìn)程。lsof 命令的用法很簡單: lsof /path/to/device/node 或者lsof /path/to/mount/point

4.排序數(shù)據(jù)

默認(rèn)情況下,sort 命令按你為這個(gè)會(huì)話指定的默認(rèn)語言的排序規(guī)則來對(duì)這個(gè)文本文件的數(shù)據(jù)進(jìn)行排序,sort命令會(huì)將數(shù)組當(dāng)作字符而執(zhí)行標(biāo)準(zhǔn)的字符排序,產(chǎn)生的輸出可能不是你想要的結(jié)果,所以 通過 -n 參數(shù)來把數(shù)字識(shí)別成數(shù)字而不是字符,并且將它們按值排序。

還有其他的參數(shù) -k 指定排序的字段 -t 指定字段分隔符?

舉例:對(duì)密碼文件/etc/passwd根據(jù)用戶ID進(jìn)行數(shù)值排序

# sort -t':' -k 3 -n /etc/passwd?

5.歸檔數(shù)據(jù)

Unix 和Linux上最廣泛使用的工具是tar命令

格式:

tar function [options] object1 object2 ...

常用參數(shù):

-c 創(chuàng)建一個(gè)新的tar文件

-C 切換到指定的目錄

-f 輸出結(jié)果到文件或者設(shè)備file (位置在最后)

-j 將輸出重定向給bzip2命令來壓縮內(nèi)容

-p 保留所有文件權(quán)限

-v 在處理文件時(shí)顯示文件信息

-z 將輸出重定向給gzip命令來壓縮內(nèi)容

創(chuàng)建一個(gè)新的test.tar 文件并輸出文件信息

tar -cvf test.tar test/ test2/

列出test.tar的內(nèi)容,但并不解壓文件

tar -tf test.tar?

解壓test.tar文件

tar -xvf test.tar

通過gzip壓縮tar文件

tar -zcvf test.tar.gz test/ test2/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容