一、強(qiáng)大好用的shell
shell中充當(dāng)?shù)氖侨伺c內(nèi)核(硬件)之間的翻譯官,用戶把一些命令告訴終端,它就會(huì)調(diào)用相應(yīng)的服務(wù)區(qū)完成某些工作。
許多Linux系統(tǒng)默認(rèn)使用的終端是Bash(Bourne-Again SHell)解釋器,主要有以下四項(xiàng)優(yōu)勢
Linux系統(tǒng)中已經(jīng)有了Bash這么好用的“翻譯官”,那么接下來就有必要好好學(xué)習(xí)下怎么跟它溝通了。要想準(zhǔn)確、高效地完成各種任務(wù),僅依賴于命令本身是不夠的,還應(yīng)該根據(jù)實(shí)際情況來靈活調(diào)整各種命令的參數(shù)。比如,我們切壽司時(shí)盡管可以用菜刀,但米粒一定會(huì)撒得滿地都是,因此壽司刀上設(shè)計(jì)的用于透氣的圓孔就是為了更好地適應(yīng)場景而額外增加的參數(shù)。當(dāng)您學(xué)完本書并具備一定的工作經(jīng)驗(yàn)之后,一定能夠領(lǐng)悟Linux命令的奧秘。常見執(zhí)行Linux命令的格式是這樣的:
命令名稱 [命令參數(shù)] [命令對象]
注意,命令名稱、命令參數(shù)、命令對象之間請用空格鍵分隔
例如:在命令行終端中輸入man man命令來查看man命令自身的幫助信息
展開剩余80%
在man命令幫助信息的界面中,所包含的常用操作按鍵及其用途如下表
echo命令用于在終端輸出字符串或變量提取后的值,格式為“echo [字符串 | $變量]”。
例如,把指定字符串“l(fā)inuxidc.com”輸出到終端屏幕的命令為:
[root@linuxidc ~]# echo linuxidc.Com
該命令會(huì)在終端屏幕上顯示如下信息:
linuxidc.Com
使用$變量的方式提取變量SHELL的值,并將其輸出到屏幕上:
[root@linuxidc ~]# echo $SHELL
/bin/bash
2、date命令
date命令用于顯示及設(shè)置系統(tǒng)的時(shí)間或日期,格式為“date [選項(xiàng)] [+指定的格式]”。
date命令中常見的參數(shù)格式如下表
下面舉例說明:
3、reboot命令
reboot命令用于重啟系統(tǒng),其格式為reboot。
由于重啟計(jì)算機(jī)這種操作會(huì)涉及硬件資源的管理權(quán)限,因此默認(rèn)只能使用root管理員來重啟。
4、poweroff命令
poweroff命令用于關(guān)閉系統(tǒng),其格式為poweroff。
該命令與reboot命令相同,都會(huì)涉及硬件資源的管理權(quán)限,因此默認(rèn)只有root管理員才可以關(guān)閉電腦。
5、wget命令
wget命令用于在終端中下載網(wǎng)絡(luò)文件,格式為“wget [參數(shù)] 下載地址”。
參數(shù)及作用如下表
ps命令用于查看系統(tǒng)中的進(jìn)程狀態(tài),格式為“ps [參數(shù)]”。
ps命令的常見參數(shù)以及作用如下表
Linux系統(tǒng)中時(shí)刻運(yùn)行著許多進(jìn)程,如果能夠合理地管理它們,則可以優(yōu)化系統(tǒng)的性能。
在Linux系統(tǒng)中,有5種常見的進(jìn)程狀態(tài),分別為運(yùn)行、中斷、不可中斷、僵死與停止,其各自含義如下所示。
當(dāng)執(zhí)行ps aux命令后通常會(huì)看到如下圖所示的進(jìn)程狀態(tài)(太多了只截取部分)
7、top命令
top命令用于動(dòng)態(tài)地監(jiān)視進(jìn)程活動(dòng)與系統(tǒng)負(fù)載等信息,其格式為top。linux命令
top命令相當(dāng)強(qiáng)大,能夠動(dòng)態(tài)地查看系統(tǒng)運(yùn)維狀態(tài),完全將它看作Linux中的“強(qiáng)化版的Windows任務(wù)管理器”。
top命令的運(yùn)行界面如圖
8、pidof命令
pidof命令用于查詢某個(gè)指定服務(wù)進(jìn)程的PID值,格式為“pidof [參數(shù)] [服務(wù)名稱]”。
每個(gè)進(jìn)程的進(jìn)程號碼值(PID)是唯一的,因此可以通過PID來區(qū)分不同的進(jìn)程。
例如,可以使用如下命令來查詢本機(jī)上sshd服務(wù)程序的PID
9、kill命令
kill命令用于終止某個(gè)指定PID的服務(wù)進(jìn)程,格式為“kill [參數(shù)] [進(jìn)程PID]”。
使用kill命令把上面用pidof命令查詢到的PID所代表的進(jìn)程終止掉。linux命令
例如:kill 1593 這種操作的效果等同于強(qiáng)制停止sshd服務(wù)
10、killall命令
killall命令用于終止某個(gè)指定名稱的服務(wù)所對應(yīng)的全部進(jìn)程,格式為:“killall [參數(shù)] [服務(wù)名稱]”。
通常來講,復(fù)雜軟件的服務(wù)程序會(huì)有多個(gè)進(jìn)程協(xié)同為用戶提供服務(wù),如果逐個(gè)去結(jié)束這些進(jìn)程會(huì)比較麻煩,
此時(shí)可以使用killall命令來批量結(jié)束某個(gè)服務(wù)程序帶有的全部進(jìn)程。例如:killall httpd