七、高級(jí)指令
1.hostname指令
作用:操作服務(wù)器的主機(jī)名(讀取、設(shè)置)
語法:#hostname ——含義:表示輸出完整的主機(jī)名
語法:#hostname -f ——含義:表示輸出當(dāng)前主機(jī)名中的FQDN(全限定域名)

2.id命令
作用:查看一個(gè)用戶的一些基本信息(包含用戶id,用戶組id,附加組id...),該指令如果不指定用戶則默認(rèn)當(dāng)前用戶。
語法1:#id 默認(rèn)顯示當(dāng)前執(zhí)行該命令的用戶的基本信息
語法2:#id 用戶名顯示指定用戶的基本信息
驗(yàn)證上述信息是否正確?
驗(yàn)證用戶信息:通過文件/etc/paswd
驗(yàn)證用戶組信息:通過文件/etc/group

3.whoami指令
作用:“我是誰?”顯示當(dāng)前登錄的用戶名,一般用于shell腳本,用于獲取當(dāng)前操作的用戶名方便記錄日志。
語法:#whoami

4.ps -ef指令(重點(diǎn))
指令:ps
作用:主要是查看服務(wù)器的進(jìn)程信息
選項(xiàng)含義:
-e:等價(jià)于“-A”,表示列出全部的進(jìn)程信息
-f:顯示全部列(顯示全字段)

列的含義:
UID:該進(jìn)程執(zhí)行的用戶id;
PID:進(jìn)程id;
PPID:該進(jìn)程的父級(jí)進(jìn)程id,如果一個(gè)程序的父進(jìn)程找不到,該程序的進(jìn)程稱之為僵尸進(jìn)程;
C:CPU的占用率,其形式是百分?jǐn)?shù);
STIME:進(jìn)程的啟動(dòng)時(shí)間;
TIY:終端設(shè)備,發(fā)起該進(jìn)程的設(shè)備識(shí)別符號(hào),如果顯示“?”,則表示該進(jìn)程并不是由終端設(shè)備發(fā)起;
TIME:進(jìn)程執(zhí)行的時(shí)間;
CMD:該進(jìn)程的名稱或者對(duì)應(yīng)的路徑;

5.top指令(重點(diǎn))
作用:查看服務(wù)器的進(jìn)程占的資源
語法:
進(jìn)入命令:#top (動(dòng)態(tài)顯示)
退出命令:按下q鍵

表頭含義:
PID:進(jìn)程id;
USER:該進(jìn)程對(duì)應(yīng)的用戶;
PR:優(yōu)先級(jí);
VIRT:虛擬內(nèi)存;
RES:常駐內(nèi)存;
SHR:共享內(nèi)存;
計(jì)算一個(gè)進(jìn)程實(shí)際使用的內(nèi)存 = 常駐內(nèi)存(RES)-共享內(nèi)存(SHR)
S:表示進(jìn)行的狀態(tài)[sleeping,其中S表示睡眠,R表示運(yùn)行];
%CPU:表示cpu的占用百分比;
%MEM:表示內(nèi)存的占用百分比;
TIME+:執(zhí)行的時(shí)間;
COMMAND:進(jìn)程的名稱或者路徑;
在運(yùn)行top的時(shí)候,可以按下方便的快捷鍵:
M:表示將結(jié)果按照內(nèi)存(MEM)從高到低進(jìn)行降序排列;
P:表示將結(jié)果按照CPU使用率從高到低進(jìn)行降序排列;
1:當(dāng)服務(wù)器擁有多個(gè)cpu的時(shí)候可以使用“1”快捷鍵來切換是否展示顯示各個(gè)CPU的詳細(xì)信息。
6.du-sh命令
作用:查看目錄的真實(shí)大小
語法:#du -sh 目錄路徑
選項(xiàng)含義:
-s:summaries,只顯示匯總的大小
-h:表示以較高的可讀性的形式進(jìn)行顯示

7.find指令
作用:用于查找文件(其參數(shù)有55個(gè)之多)
語法:#find 路徑范圍 選項(xiàng) 選項(xiàng)的值
選項(xiàng):
-name:按照文檔名稱進(jìn)行搜索(支持模糊搜索)
-type:按照文檔的類型進(jìn)行搜索
文檔類型:"_"表示文件(在使用find的時(shí)候需要f來替換),“d”表示文件夾;


8.service指令(重點(diǎn))
作用:用于控制一些軟件的服務(wù)啟動(dòng)/停止/重啟
語法:#service 服務(wù)名 start/stop/restart
9.kill指令(重點(diǎn))
作用:表示殺死進(jìn)程(當(dāng)遇到僵尸進(jìn)程或者出于某些原因需要關(guān)閉進(jìn)程的時(shí)候)
語法:#kill 進(jìn)程 PID(語法需要配合ps -ef一起使用)

與kill命令作用相似但是比kill更加好用的殺死進(jìn)程的命令:killall
語法:killall 進(jìn)程名稱

10.ifconfig指令(重點(diǎn))
作用:用于操作網(wǎng)卡相關(guān)的指令
簡(jiǎn)單語法:#ifconfig(獲取網(wǎng)卡信息)
Eth0表示Linux中的一個(gè)網(wǎng)卡,eth0是其名稱。Lo(loop,本地回環(huán)網(wǎng)卡,其IP地址一般都是127.0.0.1)也是一個(gè)網(wǎng)卡名稱。

其中inet是網(wǎng)卡的IP地址
11.reboot指令
作用:重新啟動(dòng)計(jì)算機(jī)
語法:#reboot 重啟
語法:#reboot -w模擬重啟,但是不重啟(只寫關(guān)機(jī)與開機(jī)的日志信息)

12.shutdown指令
作用:關(guān)機(jī)(慎用)
語法1:#shutdown -h now "提示" 或者 #shutdown -h 12:00 "提示"

如果想要取消關(guān)機(jī)計(jì)劃的話,則可以按照以下方式去嘗試:
針對(duì)于centos7.x之前的版本:ctrl+c
針對(duì)于centos7.x(包含)之后的版本:
#shutdown -c
除了shutdown關(guān)機(jī)以外,還有以下幾個(gè)命令:
#halt
#poweoff
13.uptime指令
作用:輸出計(jì)算機(jī)的持續(xù)在線時(shí)間(計(jì)算機(jī)從開機(jī)到現(xiàn)在運(yùn)行的時(shí)間),以及用戶數(shù)和負(fù)載。
語法:#uptime
14.uname指令
作用:獲取計(jì)算機(jī)操作系統(tǒng)相關(guān)信息
語法1:#uname 獲取操作系統(tǒng)的類型
語法2:#uname -a all,表示獲取全部的系統(tǒng)信息(類型、全部主機(jī)名、內(nèi)核版本、發(fā)布時(shí)間、開源計(jì)劃)

15.netstat -tnlp指令
作用:查看網(wǎng)絡(luò)連接狀態(tài)
語法:#netstat -tnlp

選項(xiàng)說明:
-t:表示只列出tcp協(xié)議的連接
-n:表示將地址從字母組合轉(zhuǎn)化成ip地址,將協(xié)議轉(zhuǎn)化成端口號(hào)來顯示;
-l:表示過濾出“state(狀態(tài))”列中其值為L(zhǎng)ISTEN(監(jiān)聽)的連接;
-p:表示顯示發(fā)起連接的進(jìn)程pid和進(jìn)程名稱;
16.man指令
作用:manual,手冊(cè)(包含了Linux中全部命令手冊(cè),英文)
語法:#man 命令(退出按下q鍵)

練習(xí)題
1.如何通過命令行重啟linux操作系統(tǒng)?#reboot
2.如何在命令行中快速刪除光標(biāo)前/后的內(nèi)容?前:ctrl+u 后:ctrl+k
3.如何刪除/tmp下所有A開頭的文件? #rm -f /tmp/A*
4.系統(tǒng)重要文件需要備份,如何使用/etc/passwd備份到/tmp目錄下? #cp /etc/passwd /tmp/
5.如何查看系統(tǒng)最后創(chuàng)建的3個(gè)用戶? #tail -3 /etc/passwd
6.什么命令可以統(tǒng)計(jì)當(dāng)前系統(tǒng)中一共有多少賬戶? #wc -l /etc/passwd 或者#cat /etc/passwd|wc -l
7.如何創(chuàng)建/tmp/test.conf文件? #touch /tmp/test.conf
8.如何通過vim編輯打開/tmp/test.conf? #vim /tmp/test.conf
9.如何查看/etc/passwd的頭3行和尾3行? #head -3 /etc/passwd 和#tail -3 /etc/passwd
10.如何一次性創(chuàng)建目錄/text/1/2/3/4?#mkdir -p /text/1/2/3/4
11.如何最快的返回到當(dāng)前賬戶的家目錄?#cd ~ 或 #cd
12.如何查看/etc/所占的磁盤空間?#du -sh /etc
13.如何刪除/tmp下所有的文件? #rm -rf /tmp/*
14.嘗試啟動(dòng)Apache的服務(wù),并且檢查是否啟動(dòng)成功? #service httpd start #ps -ef|grep httpd
15.使用已學(xué)習(xí)命令殺死Apache的進(jìn)程。 #killall httpd