Linux常用指令总结二~~
文章目錄
- 1. crond任務(wù)調(diào)度
- 2. 磁盤分區(qū)
- 3. 磁盤情況查詢
- 4. 網(wǎng)絡(luò)配置
- 5. 進(jìn)程管理
- 6. 服務(wù)(service)管理
- 7. 動(dòng)態(tài)監(jiān)控進(jìn)程
- 8. 監(jiān)控網(wǎng)絡(luò)狀態(tài)
- 9. RPM包和YUM包
Linux常用指令總結(jié)一~~指路==>
1. crond任務(wù)調(diào)度
crontab進(jìn)行定時(shí)任務(wù)的設(shè)置。
a. 任務(wù)調(diào)度:是指系統(tǒng)在某個(gè)時(shí)間執(zhí)行的特定的命令或程序。
b. 任務(wù)調(diào)度分類:
系統(tǒng)工作:有些工作必須反復(fù)進(jìn)行,如360掃描等;
個(gè)別用戶工作:個(gè)別用戶希望執(zhí)行某些程序,如對(duì)mysql數(shù)據(jù)庫(kù)的備份。
crontab [選項(xiàng)]
常用選項(xiàng):
-e : 編輯crontab定時(shí)任務(wù);
-l:查詢crontab任務(wù);
-r:刪除當(dāng)前用戶所有的crontab任務(wù);
特殊符號(hào)說(shuō)明:
" * " 代表任何時(shí)間。如第一個(gè)代表1h中每分鐘都執(zhí)行一次;
" , " 代表不連續(xù)的時(shí)間。如"0,2,8, * * 命令",就代表在每天的2:00,8:00,都執(zhí)行一次命令;
" - " 代表連續(xù)的時(shí)間范圍。如"0 5 * * 1-6 命令",代表在周一-周六的陵城5:00執(zhí)行命令;
" /n " 代表每隔多久執(zhí)行一次命令。如"/10 * * * * 命令",代表每隔10分鐘執(zhí)行一次命令。
特定時(shí)間任務(wù)案例:
eg:
任務(wù)要求:
設(shè)置任務(wù)調(diào)度文件:/etc/crontab;
設(shè)置個(gè)人任務(wù)調(diào)度。執(zhí)行crontab-e命令;
輸入任務(wù)到調(diào)度文件:如"/1***|s -l /etc/ > tmp/to.txt"(每小時(shí)的每分鐘執(zhí)行|s -l /etc/ > tmp/to.txt命令);
5個(gè)占位符說(shuō)明:
第一個(gè)* 一小時(shí)當(dāng)中的第幾分鐘 0-59;
第二個(gè)* 一天當(dāng)中的第幾小時(shí) 0-23;
第三個(gè)* 一月當(dāng)中的第幾天 1-31;
第四個(gè)* 一年當(dāng)中的第幾月 1-12;
第五個(gè)* 一周當(dāng)中的星期幾 0-7(0/7代表周末);
1.編輯crontab定時(shí)任務(wù):crontab -e;
2.輸入文件內(nèi)容:“/1***|s -l /etc/ > tmp/to.txt”保存并退出;
3.tmp中進(jìn)行查看,已經(jīng)存在to.txt,每隔一分鐘就會(huì)自動(dòng)執(zhí)行調(diào)度文件;
4.使用more進(jìn)行查看to.txt文件內(nèi)容:more to.txt;
2. 磁盤分區(qū)
a. 分區(qū)的方式:
1). mbr分區(qū):
2). gtp分區(qū)(目前常用):
windows分區(qū):
Linux分區(qū):
1.Linux來(lái)說(shuō)無(wú)論有幾個(gè)分區(qū),分給哪一個(gè)目錄使用,它歸根結(jié)底就只有一個(gè)根目錄,一個(gè)獨(dú)立且唯一的文件結(jié)構(gòu),Linux中每個(gè)分區(qū)都是用來(lái)組成整個(gè)文件系統(tǒng)的一部分。
2.Linux采用了一種“載入”的處理方法,它的整個(gè)文件系統(tǒng)中包含了一整套的文件和目錄,且將一個(gè)分區(qū)和一個(gè)目錄聯(lián)系起來(lái)。這時(shí)要載入的一個(gè)分區(qū)將使用它的存儲(chǔ)空間在一個(gè)目錄下獲得。
b.硬盤說(shuō)明:
1.Linux硬盤分IDE硬盤和SCSI硬盤,目前基本是SCSI硬盤;
2.對(duì)于IDE硬盤,驅(qū)動(dòng)器標(biāo)識(shí)符為“hdx~ ”,其中“hd”表明分區(qū)所在設(shè)備的類型,這里指IDE硬盤。“x”為盤號(hào)(a為基本盤,b為基本從屬盤,c為輔助主盤,d為輔助從屬盤),“~”代表分區(qū),前四個(gè)分區(qū)用數(shù)字1–4表示,他們是主分區(qū)/擴(kuò)展分區(qū),從5開始就是邏輯分區(qū)。
eg:hda3表示為第一個(gè)IDE硬盤上的第三個(gè)主分區(qū)/擴(kuò)展分區(qū),hdb2表示為第二個(gè)IDE硬盤上的第二個(gè)主分區(qū)/擴(kuò)展分區(qū)。
3.對(duì)于SCSI硬盤則標(biāo)識(shí)為“sdx~”,SCSI硬盤是用“sd”來(lái)表示分區(qū)所在設(shè)備的類型的,其余和IDE硬盤的表示方法相同。
c. 使用lsblk / lsblk -f(list block)查看當(dāng)前系統(tǒng)的分區(qū)情況:
1.使用lsblk -f 查看系統(tǒng)的分區(qū)和掛載情況;
2.“sda”,“sda1”,“sda2”,“sda3”為分區(qū)情況;
3.為分區(qū)類型;
4.唯一標(biāo)示分區(qū)的40位不重復(fù)的字符串UUID;
5.掛載點(diǎn);
3. 磁盤情況查詢
a. 查詢系統(tǒng)整體磁盤使用情況:df -h / df -lh;
b. 查詢指定目錄的磁盤占用情況:du -h / 目錄;
查詢指定目錄的磁盤占用情況,默認(rèn)為當(dāng)前目錄;
-s 指定目錄占用大小匯總;
-h 帶計(jì)量單位;
-a 含文件;
--max-depth=1子目錄深度;
-c 列出明細(xì)的同時(shí),增加匯總值;
eg:查詢/opt目錄的磁盤占用情況,深度為1:du -ach --max-depth=1 /opt;
c. 磁盤情況-工作實(shí)用指令:
1.統(tǒng)計(jì)/home文件夾下文件的個(gè)數(shù):ls -l /home |grep “^-” | wc -l;(wc統(tǒng)計(jì)個(gè)數(shù))
2.統(tǒng)計(jì)/home文件夾下目錄的個(gè)數(shù):ls -l /home |grep “^d” | wc -l;
3.統(tǒng)計(jì)/home文件夾下文件的個(gè)數(shù),包括子文件夾里的:ls -lR /home |grep “^-” | wc -l;
4.統(tǒng)計(jì)文件夾下目錄的個(gè)數(shù),包括子文件夾:ls -lR /home |grep “^d” | wc -l;
5.以樹狀顯示目錄結(jié)構(gòu):tree 目錄;(若顯示bash:tree: command not found…表明沒(méi)有安裝tree指令,先使用yum install tree安裝tree指令,再執(zhí)行上述操作就好啦~)。
eg:
4. 網(wǎng)絡(luò)配置
Linux網(wǎng)絡(luò)配置原理圖(含虛擬機(jī)):
eg:教室網(wǎng)絡(luò):
查看網(wǎng)絡(luò)IP和網(wǎng)關(guān): ifconfig
或centos7在“編輯-虛擬網(wǎng)絡(luò)編輯器”中查看/修改IP;
centos7在“編輯-虛擬網(wǎng)絡(luò)編輯器-VMnet8-NAT設(shè)置”中查看網(wǎng)關(guān);
**ping測(cè)試主機(jī)之間網(wǎng)絡(luò)連通性:**ping 目的主機(jī);
eg:ping百度:ping www.baidu.com;
ping我的windows主機(jī):
Linux網(wǎng)絡(luò)環(huán)境配置:
指定固定的ip:直接修改配置文件來(lái)指定IP,并可以連接到外網(wǎng),編輯vi/etc/sysconfig/network-scripts/ifcfg-ens33;
配置完成后重啟服務(wù):service network restart;
tips:不同版本配置命令有差異,建議直接百度~
5. 進(jìn)程管理
1.每個(gè)執(zhí)行的程序都稱為一個(gè)進(jìn)程,每一個(gè)進(jìn)程都分配一個(gè)ID號(hào);
2.每一個(gè)進(jìn)程,都對(duì)應(yīng)一個(gè)父進(jìn)程,而這個(gè)父進(jìn)程可以復(fù)制多個(gè)子進(jìn)程;如www服務(wù)器;
3.每個(gè)進(jìn)程都可能以兩種方式存在:前臺(tái)和后臺(tái);
一般系統(tǒng)的服務(wù)都是以后臺(tái)進(jìn)程的方式存在,而且都會(huì)常駐在系統(tǒng)中,直到關(guān)機(jī)才結(jié)束。
ps(process status)命令是用來(lái)查看目前系統(tǒng)中,有哪些正在執(zhí)行、以及它們執(zhí)行的狀況;可以不加任何參數(shù)。
ps顯示的信息選項(xiàng):
ps -a:顯示當(dāng)前終端的所有進(jìn)程信息;
ps -u:以用戶的格式顯示進(jìn)程信息;
ps -x:顯示后臺(tái)進(jìn)程運(yùn)行的參數(shù);
ps指令:
1.ps -aux | grep xxx;
2.指令說(shuō)明:
System V展示風(fēng)格;
SUER:用戶名稱;
PID:進(jìn)程號(hào);
%CPU:進(jìn)程占用CPU的百分比;
%MEM:進(jìn)程占用的物理內(nèi)存百分比;
VSZ:進(jìn)程占用的虛擬內(nèi)存大小(kB);
RSS:進(jìn)程占用的物理內(nèi)存大小(KB);
TTY:終端名稱,縮寫;
STAT:進(jìn)程狀態(tài);S睡眠,s表示該進(jìn)程是會(huì)話的先導(dǎo)進(jìn)程,N表示進(jìn)程擁有比普通優(yōu)先級(jí)更低的優(yōu)先級(jí),R正在運(yùn)行,D短期等待,Z僵死進(jìn)程,T被跟蹤/被停止等;
TIME:CPU時(shí)間,即進(jìn)程使用CPU的總時(shí)間;
COMMAND:啟動(dòng)進(jìn)程所用的命令和參數(shù),若過(guò)長(zhǎng)會(huì)被截?cái)囡@示。
eg:查看sshd信息:ps -aux | grep sshd;
以全格式顯示當(dāng)前所有的進(jìn)程,查看進(jìn)程的父進(jìn)程:ps -ef | less;
ps -ef是以全格式顯示當(dāng)前所有進(jìn)程;
-e顯示所有進(jìn)程,-f全格式;
ps -ef | grep xxx:
UID:用戶ID;
PPID:父進(jìn)程ID;
C:CPU用于計(jì)算執(zhí)行優(yōu)先級(jí)的因子。數(shù)值越大,表明進(jìn)程是CPU密集型運(yùn)算,執(zhí)行優(yōu)先級(jí)會(huì)降低;數(shù)值越小,表明進(jìn)程是I/O密集型運(yùn)算,執(zhí)行優(yōu)先級(jí)會(huì)提高。
終止進(jìn)程kill/ killall:
若是某個(gè)進(jìn)程執(zhí)行一半需要停止時(shí),或是已經(jīng)消耗了很大的系統(tǒng)資源時(shí),此時(shí)可以考慮停止該進(jìn)程。
kill [選項(xiàng)] 進(jìn)程號(hào) :通過(guò)進(jìn)程號(hào)殺死進(jìn)程;
killall 進(jìn)程名稱:通過(guò)進(jìn)程名稱殺死進(jìn)程,也支持通配符(a*,*.txt等),這在系統(tǒng)因負(fù)載過(guò)大而變慢時(shí)很有用;
常用選項(xiàng):-9:表示強(qiáng)迫進(jìn)程立即停止;
eg:終止sshd服務(wù):kill 1000;(使用service sshd start可重啟sshd服務(wù))
tips:可使用killall直接殺死父進(jìn)程達(dá)到殺死很多不需要的進(jìn)程的目的;
eg:終止xiaobai用戶,使用kill 19022系統(tǒng)自動(dòng)忽略(因本機(jī)登錄的是xiaobai),使用kill -9 19022可強(qiáng)制殺死xiaobai(logout);
查看進(jìn)程樹pstree:
pstree [選項(xiàng)]:更直觀查看進(jìn)程信息;
常用選項(xiàng):
-p:顯示進(jìn)程的PID;
-u:顯示進(jìn)程的所屬用戶;
eg:pstree -p;(最大的父進(jìn)程是systemd)
6. 服務(wù)(service)管理
服務(wù)service本質(zhì)就是進(jìn)程,但是運(yùn)行在后臺(tái),通常都會(huì)監(jiān)聽(tīng)某個(gè)端口,等待其他程序的請(qǐng)求,如sshd,mysqld等,因此我們又稱為守護(hù)進(jìn)程。
service管理指令:
service 服務(wù)名 [start | stop | restart | reload | status];
centos7大多命令使用systemctl;
systemctl list-unit-files:列出所有服務(wù);
注;關(guān)閉/啟用防火墻后,立即生效;(可用telnet 測(cè)試某個(gè)端口);
此方式只是臨時(shí)生效,當(dāng)重啟系統(tǒng)后,回歸以前的服務(wù)設(shè)置;
若希望某個(gè)服務(wù)自啟動(dòng)/關(guān)閉永久生效,需使用chkconfig指令。
eg:查看防火墻狀態(tài):service firewalld status / systemctl status firewalld;
tips:通過(guò)telnet指令檢查linux的某個(gè)端口是否在監(jiān)聽(tīng),并且可以訪問(wèn);
dos:telnet ip 端口 ;
服務(wù)的運(yùn)行級(jí)別(runlevel):
查看/修改默認(rèn)級(jí)別:vi/etc/inittab;
Linux系統(tǒng)有7中運(yùn)行級(jí)別,常用級(jí)別3/5;
運(yùn)行級(jí)別0:系統(tǒng)停機(jī)狀態(tài),系統(tǒng)默認(rèn)運(yùn)行級(jí)別不能設(shè)為0,否則不能正常啟動(dòng);
運(yùn)行級(jí)別1:單用戶工作狀態(tài),root權(quán)限,用于系統(tǒng)維護(hù),禁止遠(yuǎn)程登錄;
運(yùn)行級(jí)別2:多用戶狀態(tài)(沒(méi)有NFS),不支持網(wǎng)絡(luò);
運(yùn)行級(jí)別3:完全的多用戶狀態(tài)(有NFS),登錄后進(jìn)入控制臺(tái)命令行模式;
運(yùn)行級(jí)別4:系統(tǒng)未使用,保留;
運(yùn)行級(jí)別5:X11控制臺(tái),登錄后進(jìn)入圖形GUI模式;
運(yùn)行級(jí)別6:系統(tǒng)正常關(guān)閉/重啟,默認(rèn)運(yùn)行級(jí)別不能設(shè)為6,否則不能正常啟動(dòng);
開機(jī)流程:開機(jī)–>BIOS–>/boot–>init進(jìn)程–>運(yùn)行級(jí)別–>運(yùn)行級(jí)別對(duì)應(yīng)的服務(wù);
chkconfig指令:
通過(guò)chkconfig指令可以給每個(gè)服務(wù)的各個(gè)運(yùn)行級(jí)別設(shè)置自啟動(dòng)/關(guān)閉。
查看所有服務(wù):systemctl list-unit-files
查看服務(wù)的運(yùn)行狀態(tài):chkconfig 服務(wù)名 --list; / chkconfig --list | grep xxx;
centos7:systemctl status 服務(wù)名;
給某個(gè)服務(wù)的運(yùn)行級(jí)別設(shè)置自啟動(dòng)/關(guān)閉:chkconfig --level 5 服務(wù)名 on/off;
systemctl list-dependencies [運(yùn)行級(jí)別名稱];
systemctl disable sshd.service;
eg:
tips:chkconfig只能查看非系統(tǒng)級(jí)別的服務(wù)運(yùn)行級(jí)別。
7. 動(dòng)態(tài)監(jiān)控進(jìn)程
top命令:top與ps很相似,都是用來(lái)顯示正在執(zhí)行的進(jìn)程。but top在執(zhí)行一段時(shí)間可以更新正在運(yùn)行的進(jìn)程。
top [選項(xiàng)]:
選項(xiàng):
-d 秒數(shù) 指定top命令每隔幾秒更新,默認(rèn)是3秒在top命令的交互模式中可以執(zhí)行命令;
-i 使top不顯示任何閑置/僵死進(jìn)程;
-p 通過(guò)指定監(jiān)控進(jìn)程ID來(lái)僅僅監(jiān)控某個(gè)進(jìn)程的狀態(tài)。
交互操作:
P 以CPU使用率排序,默認(rèn)此項(xiàng);
M 以內(nèi)存的使用率排序;
N 以PID排序;
q 退出top。
eg1:監(jiān)視特定用戶:
1.輸入top查看執(zhí)行的進(jìn)程:
-22:04:42為當(dāng)前時(shí)間;up 22:21為運(yùn)行時(shí)間;1 user 為當(dāng)前登錄系統(tǒng)用戶數(shù);CPU%:0.0us為用戶使用,0.3sy為系統(tǒng)使用,99.7id為空閑;Mem:內(nèi)存使用情況(每隔3s自動(dòng)刷新)。
2.輸入“u”,再輸入用戶名:root/其他想監(jiān)控的用戶;
3.q退出。
eg2:終止指定的進(jìn)程:
1.輸入top,查看執(zhí)行的進(jìn)程;
2.輸入“k”,再輸入要結(jié)束的進(jìn)程ID號(hào);
3.q退出。
eg3:指定系統(tǒng)狀態(tài)更新的時(shí)間為1s:top -d 1;
8. 監(jiān)控網(wǎng)絡(luò)狀態(tài)
查看系統(tǒng)網(wǎng)絡(luò)情況netstat:
netstat [選項(xiàng)]
選項(xiàng):
-an 按一定順序排列輸出;
-p 顯示哪個(gè)進(jìn)程在調(diào)用;
netstat -anp:查看系統(tǒng)所有的網(wǎng)絡(luò)服務(wù),可用 | less 或 | more分頁(yè);
查看服務(wù)名為sshd的信息:netstat -anp | grep sshd;
9. RPM包和YUM包
RPM包的管理:
RPM包是一種用于互聯(lián)網(wǎng)下載包的打包及安裝工具,它包含在某些Linux分發(fā)版中。它生成具有.RPM擴(kuò)展名的文件。RPM是RedHat Package Manager(RedHat軟件包管理工具)的縮寫。
Linux的分發(fā)版本都有采用(suse,redhat,centos等)。
a. rpm包的簡(jiǎn)單查詢指令:
查詢已安裝的RPM列表:rpm -qa | grep xx;(qa=query all)
eg:查詢Linux是否安裝firefox:rpm -qa | grep firefox;
b. rpm包名基本格式:
一個(gè)rpm包名:firefox-78.8.0-1.el7.centos.x86_64;
名稱:firefox;
版本號(hào):-78.8.0-1;
使用操作系統(tǒng):el7.centos.x86_64;
表示centos7.x的64位系統(tǒng),若是i686、i386表示32位系統(tǒng),noarch表示通用。
c. rpm包的其他查詢指令:
rpm -qa:查詢所安裝的所有rpm軟件包;
rpm -qa | more;
rpm -qa | grep X[rpm -qa | grep firefox];
rpm -q 軟件包名:查詢軟件包是否安裝;
rpm -qi 軟件包名:查詢軟件包信息;
rpm -ql 軟件包名:查詢軟件包中的文件;
rpm -qf 文件全路徑名:查詢某個(gè)文件所屬的軟件包;
rpm -qf /etc/passwd;
rpm -qf /root/install.log;
卸載rpm包:
卸載rpm包:rpm -e RPM包的名稱;
1.刪除firefox 軟件包:
2.如果其他軟件包依賴于要卸載的軟件包,卸載時(shí)會(huì)產(chǎn)生錯(cuò)誤信息;
如 $ rpm -e foo;
如果非要?jiǎng)h除foo這個(gè)rpm包,可以增加參數(shù)--nodeps,可以強(qiáng)制刪除,一般不推薦~~,依賴于這個(gè)軟件包的程序可能會(huì)無(wú)法運(yùn)行。
eg:$ rpm -e --nodeps foo;
安裝rpm包:
安裝rpm包:rpm -ivh RPM包全路徑名稱;
i=install 安裝;
v=verbose 提示;
h=hash 進(jìn)度條;
YUM包:
yum是一個(gè)Shell前端軟件包管理器。基于RPM包管理,能夠從指定的服務(wù)器自動(dòng)下載RPM包并且安裝,可以自動(dòng)處理依賴性關(guān)系,并且一次安裝所有依賴的軟件包。
yum基本指令:
查詢yum服務(wù)器是否有需要安裝的軟件:yum list | grep xx軟件列表;
安裝指定的yum包:yum install xxx;
總結(jié)
以上是生活随笔為你收集整理的Linux常用指令总结二~~的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: POJ 2155 Matrix 二维线段
- 下一篇: Linux内核编译与管理