更多bash shell命令

《Linux命令行與shell腳本編程大全》讀書筆記

檢測程序

探查進(jìn)程命令ps

Linux使用的GNUps命令支持3種不同類型的命令行參數(shù):

  • Unix風(fēng)格的參數(shù)筝野,前面加單破折線梯码;
  • BSD風(fēng)格的參數(shù)娜搂,前面不加破折線;
  • GNU風(fēng)格的長參數(shù)禀忆,前面加雙破折線屑那。

-e 選項:指定顯示所有運行在系統(tǒng)上的進(jìn)程哈踱;
-f 選項:擴展了輸出。這些擴展的列包含如下信息慢显。
--forest 選項:顯示進(jìn)程層級信息爪模,并用ASCII字符繪出圖表。

UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 May13 ?        00:00:01 /sbin/init
root          2      0  0 May13 ?        00:00:00 [kthreadd]

UID:啟動這些進(jìn)程的用戶鳍怨。
PID:進(jìn)程的進(jìn)程ID呻右。
PPID:父進(jìn)程的進(jìn)程號。
C:進(jìn)程生命周期中的CPU利用率鞋喇。
STIME:進(jìn)程啟動時的系統(tǒng)時間声滥。
TTY:進(jìn)程啟動時的終端設(shè)備。
TIME:運行進(jìn)程需要的累計CPU時間侦香。
CMD:啟動的程序名稱落塑。
-l 選項:產(chǎn)出長格式輸出。

F S   UID    PID   PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 S   500  12955  12954  0  80   0 - 27084 wait   pts/0    00:00:00 bash
0 R   500  14484  12955  0  80   0 - 27033 -      pts/0    00:00:00 ps

F:內(nèi)核分配給進(jìn)程的系統(tǒng)標(biāo)記罐韩。
S:進(jìn)程的狀態(tài)(O正在運行憾赁;S休眠;R可運行散吵,正等待運行龙考;Z僵化蟆肆,進(jìn)程已結(jié)束但父進(jìn)程已不存在;T停止)晦款。
PRI:進(jìn)程優(yōu)先級(越大的數(shù)字代表越低的優(yōu)先級)炎功。
NI:謙讓度值用來參與決定優(yōu)先級。
ADDR:進(jìn)程的內(nèi)存地址缓溅。
SZ:假如進(jìn)程被換出蛇损,所需交換空間的大致大小。
WCHAN:進(jìn)程休眠的內(nèi)核函數(shù)的地址坛怪。

實時監(jiān)測進(jìn)程命令top

ps命令缺陷:只能顯示某個特定時間點的信息淤齐。
top命令功能:實時顯示進(jìn)程信息。

[lsh@localhost ~]$ top
top - 18:26:32 up 1 day,  3:34,  2 users,  load average: 0.00, 0.00, 0.00
Tasks: 100 total,   1 running,  99 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.1%sy,  0.0%ni, 99.9%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1004412k total,   494168k used,   510244k free,    61572k buffers
Swap:  2031608k total,        0k used,  2031608k free,   242440k cached

   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                           
     1 root      20   0 19364 1548 1232 S  0.0  0.2   0:01.34 init                                               
     2 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kthreadd                                           
     3 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0  
  • 第一行:當(dāng)前時間袜匿、系統(tǒng)運行時間更啄、登錄用戶數(shù)、系統(tǒng)平均負(fù)載居灯。
    平均負(fù)載3個值:最近1分鐘锈死、最近5分鐘、最近15分鐘穆壕。
    值越大負(fù)載越高。
    重點最近15分鐘的平均負(fù)載很高其屏,說明系統(tǒng)可能有問題喇勋。
    通常,負(fù)載值超過CPU核數(shù)*0.7偎行,就說明系統(tǒng)比較繁忙川背,需要優(yōu)化。
    使用命令:
# 總核數(shù) = 物理CPU個數(shù) X 每顆物理CPU的核數(shù) 
# 總邏輯CPU數(shù) = 物理CPU個數(shù) X 每顆物理CPU的核數(shù) X 超線程數(shù)

# 查看物理CPU個數(shù)
[root@S6 core]# cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

# 查看每個物理CPU核數(shù)
[root@S6 core]# cat /proc/cpuinfo| grep "cpu cores"| uniq
[root@S6 core]# grep 'model name' /proc/cpuinfo | wc -l

# 查看邏輯CPU的個數(shù)蛤袒,即多少線程
[root@S6 core]# cat /proc/cpuinfo| grep "processor"| wc -l
  • 第二行:進(jìn)程(top命令輸出中將進(jìn)程叫任務(wù))概要
    運行進(jìn)程數(shù)熄云、休眠進(jìn)程數(shù)、停止進(jìn)程數(shù)妙真、僵化進(jìn)程數(shù)缴允。

  • 第三行:CPU概要
    根據(jù)進(jìn)程屬主(用戶/系統(tǒng))和進(jìn)程狀態(tài)將CPU利用率分成幾類輸出。

  • 緊隨2行:內(nèi)存狀態(tài)
    第一行:物理內(nèi)存(總數(shù)珍德、已用练般、剩余空閑),默認(rèn)單位KB锈候,可以按大寫的E切換顯示單位
    第二行:交換空間(總數(shù)薄料、已用、剩余)

  • 最后一部分:當(dāng)前運行進(jìn)程詳細(xì)列表泵琳。
    PID:進(jìn)程ID摄职。
    USER:進(jìn)程屬主名字誊役。
    PR:進(jìn)程優(yōu)先級。
    NI:進(jìn)程謙讓度谷市。
    VIRT:進(jìn)程占用虛擬內(nèi)存蛔垢。
    RES:進(jìn)程占用物理內(nèi)存。
    SHR:進(jìn)程和其他進(jìn)程共享內(nèi)存歌懒。
    S:進(jìn)程狀態(tài)啦桌。
    %CPU:進(jìn)程使用的CPU時間比例。
    %MEM:進(jìn)程使用的內(nèi)存占可用內(nèi)存的比例及皂。
    TIME+:自進(jìn)程啟動到目前為止CPU時間總量甫男。
    COMMAND:進(jìn)程所對應(yīng)的命令行名稱,也就是啟動的程序名验烧。

默認(rèn)top命令按%CPU值對進(jìn)程排序板驳。可以在top運行時鍵入命令重新排序碍拆。
f 命令:選擇重新排序的字段若治。
d 命令:修改輪詢間隔。
q 命令:退出top感混。

結(jié)束進(jìn)程命令kill

  1. kill命令
    只能通過進(jìn)程的PID端幼,而不能用命令名。
    默認(rèn)向命令行中列出的全部PID發(fā)送一個TERM信號弧满。
    要發(fā)進(jìn)程信號婆跑,需要是進(jìn)程的屬主 / 登錄為root用戶。
    -s 參數(shù):指定其他信號(信號名/信號值)庭呜。
  2. killall 命令
    支持通過進(jìn)程名而不是PID來結(jié)束進(jìn)程滑进。
    也支持通配符,在系統(tǒng)因負(fù)載過大而變得很慢時很有用募谎。

監(jiān)測磁盤空間

掛載(mounting)存儲媒體

今天的圖形化桌面環(huán)境下扶关,大多數(shù)Linux發(fā)行版能自動掛載特定類型的可移動存儲媒體(CD、U盤等)数冬。

  1. mount命令
    默認(rèn)輸出當(dāng)前系統(tǒng)掛載的設(shè)備列表节槐。
[lsh@localhost ~]$ mount
/dev/mapper/VolGroup-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
vmware-vmblock on /var/run/vmblock-fuse type fuse.vmware-vmblock (rw,nosuid,nodev,default_permissions,allow_other)

輸出4部分信息:
①媒體的設(shè)備文件名
②媒體掛載到虛擬目錄的掛載點
③文件系統(tǒng)類型(vfat:Windows長文件系統(tǒng)(大多數(shù)U盤的格式),ntfs:Windows高級文件系統(tǒng)吉执,iso9660:標(biāo)準(zhǔn)CD文件系統(tǒng))
④已掛載媒體的訪問狀態(tài)
手動掛載設(shè)備疯淫,需要root權(quán)限。
基本命令:mount -t 文件系統(tǒng)類型 設(shè)備 目錄
掛載之后戳玫,只有root用戶有權(quán)訪問熙掺,普通用戶需要指定權(quán)限。

  1. umount命令
    卸載設(shè)備命令格式:umount 目錄/設(shè)備

如果卸載設(shè)備時咕宿,提示設(shè)備繁忙币绩,無法卸載蜡秽。可用lsof 命令獲得使用它的進(jìn)程信息缆镣。
命令格式:lsof 目錄


使用 df 命令

功能:查看所有已掛載磁盤使用情況芽突。
-h 選項:按照用戶易讀的形式顯示輸出。

[lsh@localhost ~]$ df -h
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root   18G  3.7G   13G  23% /
tmpfs                         491M     0  491M   0% /dev/shm
/dev/sda1                     485M   35M  426M   8% /boot

命令輸出:
①設(shè)備的設(shè)備文件位置董瞻;
②總?cè)萘浚?br> ③已用寞蚌;
④剩余;
⑤已用空間所占比例钠糊;
⑥設(shè)備掛載到了哪個掛載點挟秤。

使用du命令

功能:顯示某個特定目錄(默認(rèn)當(dāng)前目錄)的磁盤使用情況〕椋可用來快速判斷系統(tǒng)上某個目錄下是否有超大文件艘刚。

[lsh@localhost ~]$ du -h
4.0K    ./.gnome2
4.0K    ./.mozilla/extensions
4.0K    ./.mozilla/plugins
12K ./.mozilla
40K .

輸出:當(dāng)前目錄下所有文件、目錄和子目錄的磁盤使用情況截珍。
這個輸出列表是從目錄層級的最底部開始攀甚,然后按文件、子目錄岗喉、目錄逐級向上秋度。
-c 選項:顯示所有已列出文件總大小。
-h 選項:按用戶易讀格式輸出大小钱床。
-s 選項:顯示每個輸出參數(shù)的總計静陈。

處理數(shù)據(jù)文件

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

默認(rèn)按會話指定的默認(rèn)語言的排序規(guī)則對文本文件中的數(shù)據(jù)行排序。
默認(rèn)把數(shù)字當(dāng)作字符來執(zhí)行標(biāo)準(zhǔn)的字符排序诞丽。
-n 選項:告訴sort命令把數(shù)字識別成數(shù)字而不是字符,并按值排序拐格。
-M 選項:按月排序僧免,在處理日志文件時比較有用。

搜索數(shù)據(jù)grep

命令格式:grep 選項 模式 文件
-v 選項:反向搜索捏浊。
-n 選項:顯示匹配模式的行所在行號懂衩。
-c 選項:只輸出有多少行含有匹配的模式。
-e 選項:指定多個匹配模式金踪。例:grep -e 模式 -e 模式 文件浊洞。
默認(rèn)用Unix風(fēng)格正則表達(dá)式來匹配模式。
初次之外胡岔,還有egrep和fgrep法希。

壓縮數(shù)據(jù)gzip

gzip:壓縮文件。
gzcat:查看壓縮過的文本文件內(nèi)容靶瘸。
gunzip:解壓文件苫亦。

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

命令格式:tar 功能 選項 對象1 對象2
-c 功能:創(chuàng)建一個新的tar歸檔文件毛肋。
-x 功能:從已有tar歸檔文件中提取文件。

-f file選項:輸出結(jié)果到文件或設(shè)備file
-v 選項:在處理文件時顯示文件
-z 選項:將輸出重定向給gzip命令來壓縮內(nèi)容

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末屋剑,一起剝皮案震驚了整個濱河市润匙,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌唉匾,老刑警劉巖孕讳,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異巍膘,居然都是意外死亡厂财,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進(jìn)店門典徘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蟀苛,“玉大人,你說我怎么就攤上這事逮诲≈钠剑” “怎么了?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵梅鹦,是天一觀的道長裆甩。 經(jīng)常有香客問我,道長齐唆,這世上最難降的妖魔是什么嗤栓? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮箍邮,結(jié)果婚禮上茉帅,老公的妹妹穿的比我還像新娘。我一直安慰自己锭弊,他們只是感情好堪澎,可當(dāng)我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著味滞,像睡著了一般樱蛤。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上剑鞍,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天昨凡,我揣著相機與錄音,去河邊找鬼蚁署。 笑死便脊,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的光戈。 我是一名探鬼主播就轧,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼证杭,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了妒御?” 一聲冷哼從身側(cè)響起解愤,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎乎莉,沒想到半個月后送讲,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡惋啃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年哼鬓,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片边灭。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡异希,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出绒瘦,到底是詐尸還是另有隱情称簿,我是刑警寧澤,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布惰帽,位于F島的核電站憨降,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏该酗。R本人自食惡果不足惜授药,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望呜魄。 院中可真熱鬧悔叽,春花似錦、人聲如沸爵嗅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽操骡。三九已至,卻和暖如春赚窃,著一層夾襖步出監(jiān)牢的瞬間册招,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工勒极, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留是掰,地道東北人。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓佃扼,卻偏偏與公主長得像舔清,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子斯够,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,514評論 2 348

推薦閱讀更多精彩內(nèi)容