版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
項(xiàng)目6管理進(jìn)程《Linux網(wǎng)絡(luò)操作系統(tǒng)項(xiàng)目化進(jìn)程》學(xué)習(xí)目標(biāo)/Target了解進(jìn)程的概念,能夠說出什么是進(jìn)程及進(jìn)程的特點(diǎn)掌握進(jìn)程的狀態(tài),能夠說出進(jìn)程有哪些狀態(tài)以及各種狀態(tài)之間的轉(zhuǎn)換了解進(jìn)程標(biāo)識(shí)符,能夠說出進(jìn)程標(biāo)識(shí)符的含義學(xué)習(xí)目標(biāo)/Target掌握進(jìn)程查看命令,能夠熟練使用命令查看進(jìn)程掌握進(jìn)程終止命令,能夠熟練使用命令終止進(jìn)程了解任務(wù)的前臺(tái)與后臺(tái)調(diào)度,能夠使用命令實(shí)現(xiàn)進(jìn)程的前臺(tái)與后臺(tái)調(diào)度學(xué)習(xí)目標(biāo)/Target掌握服務(wù)管理,能夠熟練使用systemctl命令管理任務(wù)了解計(jì)劃任務(wù),能夠使用at命令設(shè)定計(jì)劃任務(wù)掌握crontab命令的使用,能夠使用crontab命令完成項(xiàng)目任務(wù)項(xiàng)目導(dǎo)入作為技術(shù)服務(wù)部門,需要監(jiān)測(cè)管理公司的服務(wù)器使用情況,為了服務(wù)器更好的工作,上級(jí)領(lǐng)導(dǎo)交代邦小苑做一個(gè)定時(shí)任務(wù),要求每周六凌晨3點(diǎn)重啟系統(tǒng),并重啟http服務(wù)。想到之前的數(shù)據(jù)庫(kù)都是每周五凌晨備份,領(lǐng)導(dǎo)讓邦小苑更改一下,要求每天凌晨備份數(shù)據(jù)庫(kù)。邦小苑簡(jiǎn)單梳理了一下,上級(jí)領(lǐng)導(dǎo)交代的定時(shí)任務(wù)有以下3項(xiàng):任務(wù)6-1:系統(tǒng)維護(hù)。任務(wù)6-2:重啟http服務(wù)。任務(wù)6-3:備份數(shù)據(jù)庫(kù)。目錄/Contents010203進(jìn)程概述進(jìn)程管理常用命令任務(wù)的前臺(tái)與后臺(tái)調(diào)度04服務(wù)管理目錄/Contents050607計(jì)劃任務(wù)任務(wù)6-1系統(tǒng)維護(hù)任務(wù)6-2重啟http服務(wù)08任務(wù)6-3備份數(shù)據(jù)庫(kù)進(jìn)程概述6.16.1.1進(jìn)程概念
先定一個(gè)小目標(biāo)!了解進(jìn)程的概念,能夠說出什么是進(jìn)程及進(jìn)程的特點(diǎn)6.1.1進(jìn)程概念進(jìn)程就是一個(gè)程序運(yùn)行所需要的特殊環(huán)境。進(jìn)程就是一個(gè)二進(jìn)制程序的執(zhí)行過程。當(dāng)程序執(zhí)行結(jié)束之后,進(jìn)程會(huì)隨之消失,進(jìn)程所有的資源會(huì)被系統(tǒng)回收。6.1.1進(jìn)程概念早期的CPU都是單核的,一次只能執(zhí)行一個(gè)程序,即運(yùn)行一個(gè)進(jìn)程。但是,在人們使用計(jì)算機(jī)時(shí)可以同時(shí)運(yùn)行多個(gè)程序,例如,一邊聊微信一邊看視頻,這是因?yàn)橛?jì)算機(jī)采用了時(shí)間片分時(shí)調(diào)度策略,多個(gè)進(jìn)程在一個(gè)隊(duì)列中排隊(duì)輪流執(zhí)行,系統(tǒng)為每個(gè)進(jìn)程分配一個(gè)時(shí)間段,即進(jìn)程可以運(yùn)行的時(shí)間,稱作進(jìn)程的時(shí)間片。如果一個(gè)進(jìn)程的時(shí)間片用完了,CPU將暫停該進(jìn)程的執(zhí)行,將該進(jìn)程移到隊(duì)列的末尾,轉(zhuǎn)而執(zhí)行下一個(gè)進(jìn)程。時(shí)間片分時(shí)調(diào)度策略6.1.2進(jìn)程狀態(tài)
先定一個(gè)小目標(biāo)!熟悉進(jìn)程的狀態(tài),能夠說出進(jìn)程有哪些狀態(tài)以及各種狀態(tài)之間的轉(zhuǎn)換6.1.2進(jìn)程狀態(tài)運(yùn)行態(tài)睡眠態(tài)就緒態(tài)進(jìn)程在執(zhí)行過程中,主要有3種狀態(tài),分別是就緒態(tài)、運(yùn)行態(tài)和睡眠態(tài)。6.1.2進(jìn)程狀態(tài)處于就緒態(tài)的進(jìn)程,該進(jìn)程所需的其他資源都已經(jīng)分配到位,只等待系統(tǒng)分配CPU。當(dāng)把CPU分配給就緒態(tài)的進(jìn)程時(shí),進(jìn)程會(huì)立刻從就緒態(tài)轉(zhuǎn)變?yōu)檫\(yùn)行態(tài)。1.就緒態(tài)2.運(yùn)行態(tài)處于運(yùn)行態(tài)的進(jìn)程是指已經(jīng)分配到CPU,正在運(yùn)行的進(jìn)程。處于運(yùn)行態(tài)的進(jìn)程,如果時(shí)間片用完,進(jìn)程就會(huì)從運(yùn)行態(tài)進(jìn)入就緒態(tài)。如果因?yàn)槠渌蚨PU,進(jìn)程就會(huì)從運(yùn)行態(tài)進(jìn)入睡眠態(tài)。6.1.2進(jìn)程狀態(tài)進(jìn)程因?yàn)槟撤N原因暫時(shí)不能擁有CPU,就會(huì)進(jìn)入睡眠態(tài)。根據(jù)進(jìn)入睡眠態(tài)的原因,可以將睡眠態(tài)分為阻塞和掛起兩種狀態(tài)。阻塞:一般是由外部I/O調(diào)用等原因造成的睡眠態(tài),進(jìn)程需要等待所需的I/O資源,即使強(qiáng)制中斷睡眠,進(jìn)程也無(wú)法運(yùn)行。掛起:進(jìn)程對(duì)應(yīng)的當(dāng)前用戶請(qǐng)求已經(jīng)處理完畢,暫時(shí)退出CPU,當(dāng)用戶再次發(fā)出請(qǐng)求時(shí),進(jìn)程可隨時(shí)被喚醒,進(jìn)入就緒態(tài)。3.睡眠態(tài)6.1.2進(jìn)程狀態(tài)進(jìn)程在運(yùn)行過程中,通常會(huì)在這3種狀態(tài)之間轉(zhuǎn)換,轉(zhuǎn)換過程如下圖。6.1.3進(jìn)程標(biāo)識(shí)符
先定一個(gè)小目標(biāo)!了解進(jìn)程標(biāo)識(shí)符,能夠說出進(jìn)程標(biāo)識(shí)符的含義6.1.3進(jìn)程標(biāo)識(shí)符每一個(gè)進(jìn)程都有一個(gè)唯一的標(biāo)識(shí)號(hào),即PID(ProcessID),系統(tǒng)通過進(jìn)程標(biāo)識(shí)符調(diào)度進(jìn)程。用戶也可以根據(jù)PID調(diào)度進(jìn)程。進(jìn)程終止后,PID會(huì)被回收,可能會(huì)被分配給其他進(jìn)程使用。在Linux系統(tǒng)中,除了初始化進(jìn)程,其他進(jìn)程都會(huì)有一個(gè)父進(jìn)程,父進(jìn)程即創(chuàng)建進(jìn)程的進(jìn)程。父進(jìn)程也有對(duì)應(yīng)的標(biāo)識(shí)符,稱為父進(jìn)程標(biāo)識(shí)符(ParentProcessID),簡(jiǎn)稱PPID。1.進(jìn)程標(biāo)識(shí)符6.1.3進(jìn)程標(biāo)識(shí)符用戶標(biāo)識(shí)符(UserID)標(biāo)識(shí)創(chuàng)建這個(gè)進(jìn)程的用戶,簡(jiǎn)稱UID。除此之外,Linux系統(tǒng)還有EUID的概念,稱為有效用戶標(biāo)識(shí)符,表示以有效權(quán)限發(fā)起進(jìn)程的用戶。例如,發(fā)起一個(gè)進(jìn)程的用戶是itheima,但實(shí)際有權(quán)限的是root用戶,也就是itheima用戶以root權(quán)限發(fā)起了進(jìn)程,那么這個(gè)進(jìn)程的UID對(duì)應(yīng)的用戶為itheima,EUID對(duì)應(yīng)的用戶為root。2.用戶標(biāo)識(shí)符3.組標(biāo)識(shí)符組標(biāo)識(shí)符(GroupID)標(biāo)識(shí)創(chuàng)建進(jìn)程用戶的所屬組,簡(jiǎn)稱GID。EUID對(duì)應(yīng)的組標(biāo)識(shí)符為EGID。進(jìn)程管理常用命令6.26.2.1進(jìn)程查看命令
先定一個(gè)小目標(biāo)!掌握進(jìn)程查看命令,能夠熟練使用命令查看進(jìn)程6.2.1進(jìn)程查看命令1.ps命令ps命令用于查看當(dāng)前系統(tǒng)中正在運(yùn)行的進(jìn)程信息,包括進(jìn)程狀態(tài)、占用的資源等,它是最基本也最強(qiáng)大的進(jìn)程查看命令。ps選項(xiàng)
參數(shù)格式6.2.1進(jìn)程查看命令ps命令常用選項(xiàng)選項(xiàng)說明-a顯示除會(huì)話組長(zhǎng)之外的所有進(jìn)程,包括其他用戶的進(jìn)程-e顯示所有進(jìn)程,包括系統(tǒng)進(jìn)程-f顯示進(jìn)程更多詳細(xì)信息,多與其他選項(xiàng)組合使用-u以用戶的形式顯示進(jìn)程信息-x顯示沒有控制終端的進(jìn)程-l使用詳細(xì)的格式顯示進(jìn)程信息--pid顯示指定PID的進(jìn)程信息6.2.1進(jìn)程查看命令使用-aux選項(xiàng)顯示所有用戶有關(guān)進(jìn)程詳細(xì)信息。[itheima@localhost~]$ps-auxUSERPID%CPU%MEMVSZRSSTTYSTATSTARTTIMECOMMAND…root130.00.000?S09:340:00[cpuhp/0]…itheima27180.00.4939927508?Ss10:420:00/usr/lib/systemitheima27230.00.22535884480?S10:420:00(sd-pam)…root54280.00.000?I13:500:00[kworker/0:3-cgitheima54290.00.2609443968pts/0R+13:510:00ps-aux案例6-16.2.1進(jìn)程查看命令每一個(gè)進(jìn)程都有10個(gè)字段,每個(gè)字段的含義如下:1USER:?jiǎn)?dòng)進(jìn)程的用戶。2PID:進(jìn)程標(biāo)識(shí)符。3%CPU:進(jìn)程本次運(yùn)行時(shí)間占進(jìn)程總運(yùn)行時(shí)間的百分比4%MEM:進(jìn)程運(yùn)行占用內(nèi)存占總內(nèi)存的百分比。5VSZ:進(jìn)程占用的虛擬內(nèi)存大小,單位為KB。6.2.1進(jìn)程查看命令每一個(gè)進(jìn)程都有11個(gè)字段,每個(gè)字段的含義如下:6RSS:進(jìn)程占用的實(shí)際內(nèi)存大小,單位為KB。7TTY:進(jìn)程啟動(dòng)終端。8STAT:進(jìn)程當(dāng)前狀態(tài),值可以是R、S、D、Z、T9START:進(jìn)程開始運(yùn)行的時(shí)間。TIME:進(jìn)程從啟動(dòng)以來占用CPU的總時(shí)間。10COMMAND:?jiǎn)?dòng)該進(jìn)程的命令。116.2.1進(jìn)程查看命令ps命令查看的進(jìn)程結(jié)果不是動(dòng)態(tài)的、連續(xù)的,它相當(dāng)于快照功能,只顯示當(dāng)前時(shí)刻進(jìn)程的狀態(tài)信息。如果想要?jiǎng)討B(tài)地顯示進(jìn)程狀態(tài)信息,則可以使用top命令。2.top命令top選項(xiàng)參數(shù)格式6.2.1進(jìn)程查看命令top命令常用選項(xiàng)選項(xiàng)說明-btop命令默認(rèn)只顯示一屏信息,該選項(xiàng)可以通過批處理方式顯示進(jìn)程信息-d自定義刷新時(shí)間間隔-i忽略任何空閑進(jìn)程或僵死進(jìn)程-p監(jiān)視指定的PID進(jìn)程-c顯示進(jìn)程命令行,包括路徑6.2.1進(jìn)程查看命令top命令可以實(shí)時(shí)查觀察系統(tǒng)的整體運(yùn)行情況顯示結(jié)果默認(rèn)每隔3s刷新一次,類似于Windows系統(tǒng)的任務(wù)管理器,是一個(gè)很實(shí)用的系統(tǒng)性能監(jiān)測(cè)工具。由于top命令的運(yùn)行結(jié)果是動(dòng)態(tài)顯示的,信息是連續(xù)變化的,結(jié)果信息不容易復(fù)制,所以使用截圖方式顯示結(jié)果。top命令執(zhí)行結(jié)果的前5行是整體統(tǒng)計(jì)系統(tǒng)信息,每一行含義如下:第1行:顯示系統(tǒng)相關(guān)信息,分別是系統(tǒng)當(dāng)前時(shí)間、系統(tǒng)運(yùn)行時(shí)間、登錄的用戶數(shù)量、系統(tǒng)1分鐘、5分鐘、15分鐘的平均負(fù)載。第2行:顯示進(jìn)程總數(shù)、運(yùn)行中的進(jìn)程數(shù)、睡眠中的進(jìn)程數(shù)、終止的進(jìn)程數(shù)和僵死的進(jìn)程數(shù)。第3行:顯示CPU資源的使用情況。第4行:顯示內(nèi)存資源的使用情況。第5行:顯示swap交換分區(qū)的使用情況。6.2.1進(jìn)程查看命令在top命令運(yùn)行階段,用戶可以通過快捷鍵進(jìn)行交互操作??旖萱I說明l控制是否顯示平均負(fù)載和啟動(dòng)時(shí)間(第1行)t控制是否顯示進(jìn)程統(tǒng)計(jì)信息和CPU狀態(tài)信息(第2、3行)m控制是否顯示內(nèi)存信息(第4、5行)M根據(jù)常駐內(nèi)存集RES大小為進(jìn)程排序P根據(jù)%CPU為進(jìn)程排序T根據(jù)TIME+為進(jìn)程排序i忽略閑置和僵死的進(jìn)程q退出top命令6.2.1進(jìn)程查看命令top命令常用的交互快捷鍵在top命令的運(yùn)行界面,使用快捷鍵i忽略閑置和僵死的進(jìn)程,交互結(jié)果如下圖。6.2.1進(jìn)程查看命令6.2.1進(jìn)程查看命令在Linux系統(tǒng)中,除了初始化進(jìn)程systemd,其他進(jìn)程都有父進(jìn)程。一個(gè)父進(jìn)程可以創(chuàng)建多個(gè)子進(jìn)程,這些子進(jìn)程互稱為兄弟進(jìn)程。因此,Linux系統(tǒng)中的進(jìn)程之間都相互關(guān)聯(lián)。Linux系統(tǒng)提供了一個(gè)命令pstree,可以樹狀形式顯示系統(tǒng)中進(jìn)程,即顯示一個(gè)進(jìn)程樹,從進(jìn)程樹中,可以直接觀察出進(jìn)程之間的派生關(guān)系。3.pstree命令pstree選項(xiàng)格式6.2.1進(jìn)程查看命令pstree命令常用選項(xiàng)選項(xiàng)說明-a顯示每個(gè)進(jìn)程的完整命令(包括路徑、參數(shù)等)-c不使用精簡(jiǎn)標(biāo)識(shí)法-h列出樹狀圖,特別標(biāo)明當(dāng)前正在執(zhí)行的進(jìn)程-u顯示用戶名稱-n使用程序識(shí)別碼排序(默認(rèn)以程序名稱排序)6.2.1進(jìn)程查看命令以進(jìn)程樹形式顯示系統(tǒng)當(dāng)前進(jìn)程,并著重顯示當(dāng)前正在執(zhí)行的進(jìn)程。[itheima@localhost~]$pstree-hsystemd─┬─ModemManager───2*[{ModemManager}]
├─NetworkManager───2*[{NetworkManager}]
├─VGAuthService
…
├─sshd───sshd───sshd───bash───pstree
├─sssd─┬─sssd_be
│
└─sssd_nss
├─sssd_kcm
…
└─wpa_supplicant案例6-26.2.1進(jìn)程查看命令pgrep命令可以根據(jù)服務(wù)名稱,從進(jìn)程隊(duì)列中查找與該服務(wù)有關(guān)的進(jìn)程,查找成功后顯示進(jìn)程的PID。4.pgrep命令pgrep選項(xiàng)參數(shù)格式選項(xiàng)說明-o僅顯示同名進(jìn)程中pid最小的進(jìn)程-n僅顯示同名進(jìn)程中pid最大的進(jìn)程-p指定進(jìn)程父進(jìn)程的pidpgrep命令常用選項(xiàng)6.2.1進(jìn)程查看命令查找與sshd服務(wù)相關(guān)的進(jìn)程。[itheima@localhost~]$pgrepsshd109337903794案例6-36.2.2進(jìn)程終止命令
先定一個(gè)小目標(biāo)!掌握進(jìn)程終止命令,能夠熟練使用命令終止進(jìn)程6.2.2進(jìn)程終止命令kill命令可以終止指定的進(jìn)程。kill命令的工作原理是發(fā)送某個(gè)信號(hào)給指定進(jìn)程,以改變進(jìn)程的狀態(tài)。1.kill命令kill選項(xiàng)參數(shù)格式kill命令的選項(xiàng)一般是信號(hào),參數(shù)為PID。6.2.2進(jìn)程終止命令Linux系統(tǒng)提供的一些預(yù)定義信號(hào)。[itheima@localhost~]$kill-l1)SIGHUP 2)SIGINT 3)SIGQUIT 4)SIGILL 5)SIGTRAP6)SIGABRT 7)SIGBUS 8)SIGFPE9)SIGKILL 10)SIGUSR111)SIGSEGV 12)SIGUSR2 13)SIGPIPE 14)SIGALRM15)SIGTERM16)SIGSTKFLT17)SIGCHLD18)SIGCONT19)SIGSTOP 20)SIGTSTP21)SIGTTIN 22)SIGTTOU23)SIGURG24)SIGXCPU25)SIGXFSZ26)SIGVTALRM ┄┄49)SIGRTMIN+15 50)SIGRTMAX-14 51)SIGRTMAX-13 52)SIGRTMAX-1253)SIGRTMAX-11 54)SIGRTMAX-10 55)SIGRTMAX-9 56)SIGRTMAX-857)SIGRTMAX-758)SIGRTMAX-6 59)SIGRTMAX-5 60)SIGRTMAX-4 61)SIGRTMAX-3 62)SIGRTMAX-263)SIGRTMAX-1 64)SIGRTMAX9號(hào)信號(hào)可以無(wú)條件終止進(jìn)程kill命令默認(rèn)信號(hào)6.2.2進(jìn)程終止命令終止PID為3794的進(jìn)程。[itheima@localhost~]$kill-93794案例6-46.2.2進(jìn)程終止命令killall命令的選項(xiàng)通常也是信號(hào),參數(shù)一般為服務(wù)名稱。2.killall命令killall命令用于終止某個(gè)服務(wù)所對(duì)應(yīng)的全部進(jìn)程。通常,復(fù)雜程序會(huì)有多個(gè)進(jìn)程協(xié)同為用戶提供服務(wù),當(dāng)要終止服務(wù)時(shí),如果使用kill命令逐個(gè)結(jié)束進(jìn)程會(huì)比較麻煩,此時(shí)可以使用killall命令批量結(jié)束該服務(wù)的所有進(jìn)程。killlall選項(xiàng)參數(shù)格式6.2.2進(jìn)程終止命令終止nginx服務(wù)的所有進(jìn)程。[root@localhost~]#cd/usr/local/nginx/sbin[root@localhostsbin]#./nginx #啟動(dòng)nginx[root@localhostsbin]#pgrepnginx #查看nginx相關(guān)進(jìn)程28752876[root@localhostsbin]#killallnginx #終止nginx服務(wù)所有進(jìn)程[root@localhostsbin]#pgrepnginx #再次查看nginx服務(wù)進(jìn)程[root@localhostsbin]#nginx服務(wù)有兩個(gè)進(jìn)程案例6-5任務(wù)的前臺(tái)與后臺(tái)調(diào)度6.36.3任務(wù)的前臺(tái)與后臺(tái)調(diào)度
先定一個(gè)小目標(biāo)!熟悉任務(wù)的前臺(tái)與后臺(tái)調(diào)度,能夠使用命令實(shí)現(xiàn)進(jìn)程的前臺(tái)與后臺(tái)調(diào)度6.3任務(wù)的前臺(tái)與后臺(tái)調(diào)度Linux系統(tǒng)中的進(jìn)程可以分為前臺(tái)進(jìn)程與后臺(tái)進(jìn)程。前臺(tái)進(jìn)程:用戶在屏幕上進(jìn)行操作的進(jìn)程。后臺(tái)進(jìn)程:在不需要用戶干預(yù)的情況下運(yùn)行的進(jìn)程,通常用于執(zhí)行如日志記錄、系統(tǒng)監(jiān)測(cè)、作業(yè)調(diào)度、用戶提醒等任務(wù)。前臺(tái)進(jìn)程需要和用戶交互,一般優(yōu)先級(jí)稍微高一些,后臺(tái)進(jìn)程基本上不和用戶交互,優(yōu)先級(jí)稍微低一些。6.3任務(wù)的前臺(tái)與后臺(tái)調(diào)度在Linux系統(tǒng)中,有時(shí)需要將前臺(tái)任務(wù)暫停調(diào)度至后臺(tái),或者將后臺(tái)任務(wù)調(diào)度至前臺(tái)重新啟動(dòng),為此,Linux系統(tǒng)提供了jobs命令、bg命令、fg命令以及一些快捷鍵來完成這一系列操作。需要注意的是,雖然這些命令調(diào)度的是任務(wù),但每個(gè)任務(wù)會(huì)對(duì)應(yīng)一個(gè)或多個(gè)進(jìn)程,調(diào)度任務(wù)其實(shí)就是調(diào)度進(jìn)程。6.3任務(wù)的前臺(tái)與后臺(tái)調(diào)度jobs命令用于顯示系統(tǒng)中暫停的任務(wù)列表及任務(wù)狀態(tài),包括后臺(tái)任務(wù)。jobs命令常用選項(xiàng)選項(xiàng)說明-l顯示進(jìn)程號(hào)-p只顯示任務(wù)PID-s只顯示停止?fàn)顟B(tài)的任務(wù)1.jobs命令jobs選項(xiàng)參數(shù)格式j(luò)obs命令的參數(shù)通常是任務(wù)標(biāo)識(shí)號(hào),即第1列用來標(biāo)識(shí)任務(wù)的數(shù)字。6.3任務(wù)的前臺(tái)與后臺(tái)調(diào)度在Linux操作系統(tǒng)中,命令也是一個(gè)可執(zhí)行的二進(jìn)制程序,因此,一次命令的執(zhí)行也是一次任務(wù)執(zhí)行,系統(tǒng)會(huì)運(yùn)行對(duì)應(yīng)的進(jìn)程。如果一個(gè)命令執(zhí)行的時(shí)間很久,可以按Ctrl+z快捷鍵暫停任務(wù),暫停之后,可以使用jobs命令查看任務(wù)及狀態(tài)。(1)執(zhí)行top命令查看系統(tǒng)進(jìn)程狀態(tài),按Ctrl+z快捷鍵暫停任務(wù)。[1]+已停止top(2)執(zhí)行jobs命令查看任務(wù)列表。[itheima@localhost~]$jobs #顯示任務(wù)列表[1]+已停止top[itheima@localhost~]$jobs–l #顯示任務(wù)進(jìn)程的PID[1]+5705停止(信號(hào))top[itheima@localhost~]$kill-95705 #終止進(jìn)程6.3任務(wù)的前臺(tái)與后臺(tái)調(diào)度bg命令用于將前臺(tái)任務(wù)調(diào)度至后臺(tái)執(zhí)行。2.bg命令bg參數(shù)格式bg命令的參數(shù)是任務(wù)標(biāo)識(shí)號(hào)。6.3任務(wù)的前臺(tái)與后臺(tái)調(diào)度將top命令執(zhí)行的任務(wù)調(diào)度至后臺(tái)執(zhí)行。[itheima@localhost~]$jobs[1]+已停止top[itheima@localhost~]$bg1[1]+top&案例6-66.3任務(wù)的前臺(tái)與后臺(tái)調(diào)度除了使用bg命令將任務(wù)調(diào)度至后臺(tái)執(zhí)行,還可以在執(zhí)行命令時(shí),在命令后面添加&符號(hào),這樣命令在開始執(zhí)行時(shí)就自動(dòng)在后臺(tái)運(yùn)行。例如,使用top命令查看進(jìn)程狀態(tài)時(shí),在命令后面添加&符號(hào),命令會(huì)自動(dòng)在后臺(tái)執(zhí)行。[itheima@localhost~]$top&
#在后臺(tái)執(zhí)行top命令[1]67316.3任務(wù)的前臺(tái)與后臺(tái)調(diào)度f(wàn)g命令的參數(shù)也是任務(wù)標(biāo)識(shí)號(hào)。3.fg命令fg命令用于將后臺(tái)任務(wù)調(diào)度到前臺(tái)執(zhí)行。fg參數(shù)格式6.3任務(wù)的前臺(tái)與后臺(tái)調(diào)度使用vim命令編輯hello文件,假設(shè)在執(zhí)行過程中有其他任務(wù)要執(zhí)行,將vim命令調(diào)度至后臺(tái)執(zhí)行,執(zhí)行完其他任務(wù)后,再將vim命令調(diào)度至前臺(tái)執(zhí)行。[itheima@localhost~]$vimhello~~"hello"[新文件]^Z0,0-1全部
[1]+已停止vimhello #按【Ctrl+z】快捷鍵停止任務(wù)[itheima@localhost~]$jobs #查看任務(wù)[1]+已停止vimhello[itheima@localhost~]$bg1 #將vim命令調(diào)度至后臺(tái)執(zhí)行[1]+vimhello&[itheima@localhost~]$fg1 #將vim命令調(diào)度至前臺(tái)執(zhí)行案例6-7服務(wù)管理6.46.4服務(wù)管理
先定一個(gè)小目標(biāo)!掌握服務(wù)管理,能夠熟練使用systemctl命令管理任務(wù)服務(wù)是一類常駐在內(nèi)存中,且可以提供一些功能來滿足用戶需求的進(jìn)程。這些服務(wù)進(jìn)程一旦啟動(dòng)就會(huì)在后臺(tái)一直持續(xù)不斷地運(yùn)行,它們不需要和用戶進(jìn)行交互,因此服務(wù)進(jìn)程又稱為守護(hù)進(jìn)程(daemon)。6.4服務(wù)管理6.4服務(wù)管理CentOS7之前的版本使用service命令和chkconfig命令管理服務(wù)進(jìn)程。CentOS7及之后的版本使用systemctl命令代替了service命令和chkconfig命令進(jìn)行服務(wù)管理。systemctl功能命令服務(wù)進(jìn)程格式systemctl命令常用功能命令6.4服務(wù)管理功能說明start啟動(dòng)服務(wù)進(jìn)程stop終止服務(wù)進(jìn)程status查詢服務(wù)進(jìn)程運(yùn)行情況,列出該服務(wù)的詳細(xì)信息restart重啟服務(wù)進(jìn)程enable設(shè)置服務(wù)開機(jī)自啟動(dòng)disable取消服務(wù)開機(jī)自啟動(dòng)reload重新加載指定服務(wù)的配置文件(并非所有服務(wù)都支持該參數(shù),使用restart可實(shí)現(xiàn)相同功能)6.4服務(wù)管理案例6-8以http服務(wù)為例,演示systemctl用法。(1)安裝http服務(wù)。[root@localhost~]#dnf-yinstallhttpd…Installedproductsupdated.已安裝:…h(huán)ttpd-filesystem-2.4.37-21.module_el8.2.0+382+15b0afa8.noarchhttpd-tools-2.4.37-21.module_el8.2.0+382+15b0afa8.x86_64mod_http2-1.11.3-3.module_el8.2.0+307+4d18d695.x86_64完畢!6.4服務(wù)管理案例6-8以http服務(wù)為例,演示systemctl用法。(2)查看http服務(wù)運(yùn)行狀態(tài)[root@localhost~]#systemctlstatushttpd#查詢http服務(wù)運(yùn)行狀態(tài)●httpd.service-TheApacheHTTPServerLoaded:loaded(/usr/lib/systemd/system/httpd.service;disabled;vendorpreset:d>Active:inactive(dead)Docs:man:httpd.service(8)…6.4服務(wù)管理案例6-8以http服務(wù)為例,演示systemctl用法。(3)開啟http服務(wù)[root@localhost~]#systemctlstarthttpd#開啟http服務(wù)[root@localhost~]#systemctlstatushttpd#再次查看http服務(wù)運(yùn)行狀態(tài)●httpd.service-TheApacheHTTPServerLoaded:loaded(/usr/lib/systemd/system/httpd.service;disabled;vendorpreset:d>Active:active(running)sinceFri2020-09-1810:15:39CST;4sagoDocs:man:httpd.service(8)…服務(wù)開啟6.4服務(wù)管理案例6-8以http服務(wù)為例,演示systemctl用法。(4)終止http服務(wù)[root@localhost~]#systemctlstophttpd #終止http服務(wù)[root@localhost~]#systemctlstatushttpd #再次查看http服務(wù)運(yùn)行狀態(tài)●httpd.service-TheApacheHTTPServerLoaded:loaded(/usr/lib/systemd/system/httpd.service;disabled;vendorpreset:d>
Active:inactive(dead)Docs:man:httpd.service(8)…h(huán)ttp服務(wù)關(guān)閉6.4服務(wù)管理案例6-8以http服務(wù)為例,演示systemctl用法。(5)設(shè)置http服務(wù)開機(jī)自啟動(dòng)[root@localhost~]#systemctlenablehttpd #設(shè)置開機(jī)自啟動(dòng)Createdsymlink/etc/systemd/system/multi-user.target.wants/httpd.service→/usr/lib/systemd/system/httpd.service.計(jì)劃任務(wù)6.56.5.1at命令
先定一個(gè)小目標(biāo)!了解at命令,能夠使用at命令制定計(jì)劃任務(wù)6.5.1at命令at命令用于執(zhí)行一次性計(jì)劃任務(wù),一般用于滿足臨時(shí)性的工作需求。at命令常用選項(xiàng)選項(xiàng)說明-l查看計(jì)劃任務(wù)。at–l功能與atq命令相同-f從文件中讀取任務(wù)-d刪除計(jì)劃任務(wù),參數(shù)為任務(wù)編號(hào)。at–d功能與atrm命令相同at選項(xiàng)參數(shù)格式6.5.1at命令at命令的參數(shù)通常為時(shí)間日期,at命令允許使用各種格式的時(shí)間日期,下面介紹幾種比較常用的時(shí)間日期格式:(1)允許使用hh:mm:ss的格式指定當(dāng)天時(shí)間。(2)允許使用12小時(shí)計(jì)時(shí)制,在時(shí)間后面加AM、PM指定上午還是下午。(3)允許使用midnight、noon、teatime(一般下午4點(diǎn))等比較模糊的詞語(yǔ)指定時(shí)間。(4)允許使用monthday、mm/dd/yy、dd.mm.yy的格式指定日期。需要注意的是,日期在時(shí)間后面,例如,15:001/10/2023。(5)允許使用相對(duì)計(jì)時(shí)法指定時(shí)間,指定格式為time+counttime_units,time表示時(shí)間,time_units為時(shí)間單元(可以是minutes、hours、days、weeks),count為時(shí)間單元的數(shù)量。例如,5PM+3days,表示3天以后的下午5點(diǎn)開始執(zhí)行任務(wù)。(6)允許使用today、tomorrow指定時(shí)間。6.5.1at命令案例6-9制定計(jì)劃任務(wù),18點(diǎn)重啟http服務(wù)。[itheima@localhost~]$at18:00
#制定計(jì)劃任務(wù)warning:commandswillbeexecutedusing/bin/shat>systemctlrestarthttpd
#重啟http服務(wù)at><EOT>
#按Ctrl+d快捷鍵即可退出交互模式j(luò)ob7atFriSep1818:00:002020 #顯示任務(wù)信息6.5.1at命令案例6-10在itheima用戶工作目錄下編輯job文件,寫入echo"helloworld">at.txt內(nèi)容,制定計(jì)劃任務(wù),執(zhí)行job文件中的任務(wù)。[itheima@localhost~]$vimjob
#編輯job文件[itheima@localhost~]$at-fjob18:07
#計(jì)劃任務(wù)warning:commandswillbeexecutedusing/bin/shjob2atThuSep1718:07:002020[itheima@localhost~]$at–l
#查看所有計(jì)劃任務(wù)1 FriSep1818:00:002020aitheima2 ThuSep1718:07:002020aitheima[itheima@localhost~]$ls
#查看是否生成at.txt文件公共
模板
視頻
圖片
文檔
下載
音樂
桌面at.txtjobusr6.5.1at命令案例6-11制定計(jì)劃任務(wù),凌晨備份data文件數(shù)據(jù)到/usr/local/bank文件中。[itheima@localhost~]$at24:00tomorrow #計(jì)劃任務(wù)時(shí)間warning:commandswillbeexecutedusing/bin/shat>cpdata/usr/local/bank #備份數(shù)據(jù)at><EOT>job4atSatSep1900:00:0020206.5.1at命令batch命令也用于執(zhí)行一次性計(jì)劃任務(wù),它的功能與at命令幾乎相同,唯一區(qū)別是batch命令會(huì)在系統(tǒng)負(fù)載較低、資源比較空閑的時(shí)候執(zhí)行。因此batch命令通常不指定時(shí)間,其執(zhí)行時(shí)間由系統(tǒng)自動(dòng)控制。小提示:batch命令
先定一個(gè)小目標(biāo)!了解crontab命令,能夠使用crontab命令制定計(jì)劃任務(wù)6.5.2crontab命令6.5.2crontab命令at命令只能執(zhí)行一次性的計(jì)劃任務(wù),如果想讓周期性地重復(fù)執(zhí)行某一任務(wù),可以使用crontab命令制定計(jì)劃任務(wù)。使用crontab命令制定計(jì)劃任務(wù)時(shí),通常將任務(wù)命令寫在一個(gè)文件中,這個(gè)任務(wù)文件叫作crontab文件。使用crontab命令加載這個(gè)文件,到指定時(shí)間系統(tǒng)會(huì)自動(dòng)執(zhí)行文件中的命令。crontab文件可以使用vim命令編輯,也可以使用crontab命令直接編輯。crontab選項(xiàng)參數(shù)格式crontab命令的語(yǔ)句格式6.5.2crontab命令crontab命令常用選項(xiàng)選項(xiàng)說明-e編輯crontab文件-l查看當(dāng)前的計(jì)劃任務(wù)-r刪除計(jì)劃任務(wù)-u編輯其他用戶的計(jì)劃任務(wù),通常root使用該參數(shù)6.5.2crontab命令crontab命令的計(jì)劃任務(wù)也需要指定時(shí)間日期與執(zhí)行命令。分時(shí)日月星期
任務(wù)命令crontab命令任務(wù)格式各參數(shù)字段含義字段含義字段含義分0~59的整數(shù)月1~12的整數(shù)時(shí)0~23的整數(shù)星期0~7的整數(shù),0與7均為星期日日1~31的整數(shù)命令任務(wù)要執(zhí)行的命令或程序腳本格式6.5.2crontab命令crontab命令的用法與at命令類似,但是在制定crontab計(jì)劃任務(wù)時(shí),有以下幾點(diǎn)需要注意:(1)如果有些時(shí)間日期字段沒有設(shè)置,需要使用“*”符號(hào)占位。例如,3018**7,表示每周日18:30執(zhí)行任務(wù),沒有設(shè)置日、月字段。(2)如果一個(gè)字段設(shè)置多個(gè)值,多個(gè)值之間使用“,”分隔,例如,3018**1,3,5表示每周一、周三、周五的18:30執(zhí)行任務(wù)。如果多個(gè)字段的數(shù)值是連續(xù)的,可以使用“-”符號(hào)連接起來,表示一段連接的時(shí)間,例如,30188-1010*表示10月8號(hào)到10月10號(hào)的18:30執(zhí)行任務(wù)。此外,還可以使用“/”符號(hào)表示間隔時(shí)間,例如,/10***7表示星期日每隔10分鐘執(zhí)行一次任務(wù)。6.5.2crontab命令crontab命令的用法與at命令類似,但是在制定crontab計(jì)劃任務(wù)時(shí),有以下幾點(diǎn)需要注意:(3)如果crontab文件中有多個(gè)計(jì)劃任務(wù),則每個(gè)計(jì)劃任務(wù)需要寫一行。在編寫crontab文件時(shí),可以使用“#”符號(hào)編寫注釋,方便后期閱讀。(4)計(jì)劃任務(wù)中的“分”字段必須要有數(shù)值,不能為空或使用“*”符號(hào)占位。(5)計(jì)劃任務(wù)中的“日”字段不能與“星期”字段同時(shí)使用,以免發(fā)生沖突。(6)計(jì)劃任務(wù)中的命令必須是絕對(duì)路徑,例如,ls命令必須寫成/usr/bin/ls。如果不知道命令的絕對(duì)路徑,可以使用“whereis命令”查詢。cpdata/usr/local/bank系統(tǒng)維護(hù)任務(wù)6-1任務(wù)6-1系統(tǒng)維護(hù)
先定一個(gè)小目標(biāo)!掌握crontab命令的使用,能夠使用crontab命令制定系統(tǒng)維護(hù)計(jì)劃任務(wù)(1)編輯cronjob文件,將定時(shí)任務(wù)寫入cronjob文件任務(wù)6-1系統(tǒng)維護(hù)[root@localhost~]#vimcronjob03**6/usr/sbin/shutdown-r-t1800(2)使用crontab命令加載cronjob文件[root@localhost~]#crontabcronjob(3)查看crontab計(jì)劃任務(wù)[root@localhost~]#crontab-l03**6/usr/sbin/shutdown-r-t1800實(shí)現(xiàn)步驟重啟http服務(wù)任務(wù)6-2任務(wù)6-2重啟http服務(wù)
先定一個(gè)小目標(biāo)!掌握crontab命令的使用,能夠使用crontab命令制定重啟http服務(wù)計(jì)劃任務(wù)(1)編輯cronjob文件,將定時(shí)任務(wù)寫入cronjob文件[root@localhost~]#vimcronjob03**6/usr/sbin/shutdown-r-t180003**6/usr/bin/systemctlrestarthttpd任務(wù)6-2重啟http服務(wù)實(shí)現(xiàn)步驟(2)使用crontab命令加載cronjob文件[root@localhost~]#crontabcronjob(3)查看crontab計(jì)劃任務(wù)[root@localhost~]#crontab-l03**6/usr/sbin/shutdown-r-t180003**6/usr/bin/systemctlrestarthttpd備份數(shù)據(jù)庫(kù)任務(wù)6-3任務(wù)6-3備份數(shù)據(jù)庫(kù)
先定一個(gè)小目標(biāo)!掌握crontab命令的使用,能夠使用crontab命令制定備份數(shù)據(jù)庫(kù)計(jì)劃任務(wù)(1)編寫dbbackup.sh文件#!/bin/bashtime=`date+%Y%m%d_%H%M%S`#數(shù)據(jù)庫(kù)配置信息#user=root#passwd=123456dbname=sysmysql_back_path=/home/dbbackup#備份/usr/bin/mysqldump$dbname>$mysql_back_path/$time.sql任務(wù)6-3備份數(shù)據(jù)庫(kù)實(shí)現(xiàn)步驟編寫dbbackup.sh文件時(shí),需要注意以下幾點(diǎn):①在dbbackup.sh文件中,變量與“=”符號(hào)之間,不要有空格,否則腳本會(huì)將變量當(dāng)命令執(zhí)行。②獲取日期時(shí)間時(shí),date命令與“+”符號(hào)之間,要有一個(gè)空格,否則系統(tǒng)會(huì)報(bào)錯(cuò)誤:./dbbackup.sh:行2:date+%Y%m%d_%H%M%S:未找到命令。③在dbbackup.sh腳本中,為了安全,在/usr/bin/mysqldump命令后面并沒有指定數(shù)據(jù)庫(kù)用戶名和密碼,而是直接指定了數(shù)據(jù)庫(kù)名,數(shù)據(jù)庫(kù)用戶名與密碼在/etc/f文件中配置。任務(wù)6-3備份數(shù)據(jù)庫(kù)注意:在/etc/f文件添加如下內(nèi)容完成數(shù)據(jù)庫(kù)用戶名與密碼配置。任務(wù)6-3備份數(shù)據(jù)庫(kù)[client]host=localhostuser=rootpassword=123456(2)在cronjob文件中添加dbbackup.sh腳本執(zhí)行的定時(shí)任務(wù)。任務(wù)6-3備份數(shù)據(jù)庫(kù)[root@localhost~]#vimcronjob03**6/usr/sbin/shutdown-r-t180003**6/usr/bin/systemctlrestarthttpd00***/root/dbbackup.sh實(shí)現(xiàn)步驟項(xiàng)目小結(jié)在本項(xiàng)目中,通過制定3個(gè)定時(shí)任務(wù),對(duì)進(jìn)程與計(jì)劃任務(wù)相關(guān)知識(shí)進(jìn)行了一次系統(tǒng)學(xué)習(xí)。首先學(xué)習(xí)了進(jìn)程的相關(guān)知識(shí),包括進(jìn)程概念、進(jìn)程狀態(tài)和進(jìn)程標(biāo)識(shí)符;其次學(xué)習(xí)了進(jìn)程管理的常用命令,包括進(jìn)程查看命令和進(jìn)程終止命令;然后學(xué)習(xí)了任務(wù)的前臺(tái)與后臺(tái)調(diào)度;接著學(xué)習(xí)了服務(wù)管理;最后學(xué)習(xí)了計(jì)劃任務(wù),包括由at命令執(zhí)行的一次性計(jì)劃任務(wù)、由crontab命令執(zhí)行的周期性計(jì)劃任務(wù)。進(jìn)程管理是高效使用Linux系統(tǒng)的必備知識(shí),通過本項(xiàng)目的學(xué)習(xí),讀者應(yīng)當(dāng)對(duì)Linux操作系統(tǒng)又有了進(jìn)一步的認(rèn)識(shí),并為后續(xù)學(xué)習(xí)打下堅(jiān)實(shí)基礎(chǔ)。項(xiàng)目7
管理磁盤《Linux網(wǎng)絡(luò)操作系統(tǒng)項(xiàng)目化教程》學(xué)習(xí)目標(biāo)/Target了解磁盤命名規(guī)則,能夠認(rèn)識(shí)每個(gè)磁盤名稱的含義掌握df與du命令,能夠熟練使用這兩個(gè)命令查看磁盤使用情況了解磁盤添加的方法,能夠在Linux操作系統(tǒng)中正確添加磁盤掌握MBR分區(qū),能夠使用MBR規(guī)則完成磁盤分區(qū)掌握GPT分區(qū),能夠使用GPT規(guī)則完成磁盤分區(qū)學(xué)習(xí)目標(biāo)/Target掌握分區(qū)格式化,能夠熟練使用mkfs命令完成分區(qū)格式化操作掌握掛載與卸載的方法,熟練使用相應(yīng)命令完成磁盤分區(qū)的掛載與卸載掌握LVM技術(shù),能夠完成LVM的創(chuàng)建掌握RAID技術(shù),能夠部署RAID10項(xiàng)目導(dǎo)入隨著招入的學(xué)生越來越多,咨詢招生部門的數(shù)據(jù)已經(jīng)存儲(chǔ)不下,需要更換磁盤,因此請(qǐng)求技術(shù)支持部門的幫助。上級(jí)領(lǐng)導(dǎo)安排邦小苑負(fù)責(zé)對(duì)接此事,有什么搞不明白的問題可以直接問安安和Lily。更換磁盤涉及磁盤與磁盤分區(qū),而對(duì)于磁盤管理,邦小苑還算是有些基礎(chǔ)??紤]到咨詢招生部門搭建的小型存儲(chǔ)器是用于存儲(chǔ)學(xué)生信息的,但學(xué)生信息會(huì)越來越多,固定的磁盤分區(qū)不能滿足存儲(chǔ)需求,需要具備隨時(shí)擴(kuò)容的條件,這就得創(chuàng)建LVM邏輯卷。項(xiàng)目導(dǎo)入邦小苑把想法和安安溝通了一下,安安想了想說,對(duì)于咨詢招生部門,學(xué)生信息是核心數(shù)據(jù),學(xué)生信息的存儲(chǔ)既要保證安全又要保證讀寫速度,就得做好數(shù)據(jù)冗余備份處理,可以采用RAID磁盤陣列技術(shù)存儲(chǔ)數(shù)據(jù)。根據(jù)安安的指點(diǎn),邦小苑將本次任務(wù)劃分成了兩個(gè)子任務(wù)。任務(wù)7-1創(chuàng)建LVM。任務(wù)7-2部署RAID
10。目錄/Contents010203磁盤概述添加磁盤磁盤分區(qū)04格式化分區(qū)05掛載與卸載目錄/Contents060708LVM概述RAID概述任務(wù)7-1創(chuàng)建LVM09任務(wù)7-2部署RAID10磁盤概述7.17.1.1磁盤設(shè)備命名規(guī)則
先定一個(gè)小目標(biāo)!了解磁盤命名規(guī)則,能夠說出每個(gè)磁盤名稱的含義7.1.1磁盤設(shè)備命名規(guī)則Linux操作系統(tǒng)中的磁盤設(shè)備也是文件,磁盤設(shè)備文件存儲(chǔ)在/dev目錄下,用戶可以進(jìn)入/dev目錄查看磁盤設(shè)備文件。其實(shí),除了磁盤設(shè)備,其他所有的硬件設(shè)備文件都存儲(chǔ)在/dev目錄下。Linux操作系統(tǒng)中的磁盤設(shè)備的命名遵循以下規(guī)則:/dev/存儲(chǔ)設(shè)備類型+磁盤編號(hào)+分區(qū)編號(hào)格式7.1.1磁盤設(shè)備命名規(guī)則(1)存儲(chǔ)設(shè)備類型Linux系統(tǒng)的存儲(chǔ)設(shè)備類型包括IDE、SATA、USB、SCSI等,其中,IDE設(shè)備在Linux系統(tǒng)中被識(shí)別為hd;SATA、USB、SCSI設(shè)備在Linux系統(tǒng)中被識(shí)別為sd。由于IDE存儲(chǔ)設(shè)備逐漸被淘汰,所以/dev目錄下可能沒有hd開頭的存儲(chǔ)設(shè)備文件。/dev/存儲(chǔ)設(shè)備類型+磁盤編號(hào)+分區(qū)編號(hào)格式7.1.1磁盤設(shè)備命名規(guī)則/dev/存儲(chǔ)設(shè)備類型+磁盤編號(hào)+分區(qū)編號(hào)格式(2)磁盤編號(hào)如果系統(tǒng)中有多個(gè)不同類型的磁盤設(shè)備,這些磁盤將會(huì)按照添加的順序,使用小寫的英文字母依次編號(hào)。例如,如果系統(tǒng)中有兩塊sd磁盤,則第一塊磁盤編號(hào)為sda,第二塊磁盤編號(hào)為sdb。7.1.1磁盤設(shè)備命名規(guī)則/dev/存儲(chǔ)設(shè)備類型+磁盤盤編號(hào)+分區(qū)編號(hào)格式(3)分區(qū)編號(hào)一個(gè)磁盤可以有多個(gè)分區(qū),這些分區(qū)使用阿拉伯?dāng)?shù)字進(jìn)行編號(hào)。例如,如果第一塊磁盤劃分為了4個(gè)分區(qū),那么第一個(gè)分區(qū)的設(shè)備文件名為sda1,第二個(gè)分區(qū)的設(shè)備文件名為sda2,第三個(gè)分區(qū)的設(shè)備文件名為sda3,第四個(gè)分區(qū)的設(shè)備文件名為sda4。7.1.1磁盤設(shè)備命名規(guī)則系統(tǒng)中有一塊磁盤sda。磁盤有兩個(gè)分區(qū),分別是sda1和sda2。示例進(jìn)入/dev目錄查看系統(tǒng)的磁盤設(shè)備文件。[root@localhost~]#cd/dev[root@localhostdev]#ls…cpulp1rtc0tty15tty34tty53urandomvhost-netcpu_dma_latencylp2sdatty16tty35tty54usbmon0vhost-vsockdisklp3sda1tty17tty36tty55usbmon1vmcidm-0mappersda2tty18tty37tty56usbmon2vsockdm-1mcelogsg0tty19tty38tty57vcszero…7.1.2查看磁盤使用情況df命令和du命令都可以用來查看磁盤使用情況,但df命令通過文件系統(tǒng)獲取空間大小和使用情況等信息,而du命令是通過搜索文件或者目錄來計(jì)算每個(gè)文件或目錄的大小,然后進(jìn)行累加。7.1.2查看磁盤使用情況df命令可以查看磁盤的使用情況,包括磁盤容量、已用空間大小、可用空間大小、磁盤使用率等信息。1.df命令格式df選項(xiàng)磁盤設(shè)備選項(xiàng)說明-h以用戶易讀的格式顯示磁盤使用情況,如單位為GB、MB、KB等。-l只顯示本地文件系統(tǒng)-T顯示文件系統(tǒng)類型df命令常用選項(xiàng)7.1.2查看磁盤使用情況案例7-1查看/dev/sda1的使用情況。[root@localhost~]#df-h/dev/sda1文件系統(tǒng)
容量
已用
可用
已用% 掛載點(diǎn)/dev/sda1976M 193M 717M 22% /boot7.1.2查看磁盤使用情況2.du命令du命令用于查看文件或目錄的磁盤占用情況。格式du選項(xiàng)磁盤設(shè)備du命令常用選項(xiàng)選項(xiàng)說明-a顯示所有文件或目錄的磁盤占用情況-c顯示所有文件和目錄的大小總和-h以用戶易讀的格式顯示磁盤使用情況,如單位為KB、MB、GB等-s僅顯示當(dāng)前目錄的大小7.1.2查看磁盤使用情況案例7-2查看當(dāng)前目錄下所有子目錄的大小。[root@localhost~]#du…0 ./nginx-1.18.0/objs/src/mail0 ./nginx-1.18.0/objs/src/stream0 ./nginx-1.18.0/objs/src/misc12M ./nginx-1.18.0/objs/src17M ./nginx-1.18.0/objs23M ./nginx-1.18.036M .7.1.2查看磁盤使用情況案例7-3查看當(dāng)前目錄占用空間大小[root@localhost~]#du-sh36M7.1.2查看磁盤使用情況df命令與du命令統(tǒng)計(jì)結(jié)果不一致在實(shí)際應(yīng)用中,往往會(huì)出現(xiàn)df命令與du命令統(tǒng)計(jì)結(jié)果不一致的問題。例如,分別使用df命令和du命令統(tǒng)計(jì)/dev/sda1磁盤設(shè)備的使用情況,命令及輸出結(jié)果如下:[root@localhost~]#du-h/dev/sda10 /dev/sda1[root@localhost~]#df-h/dev/sda1文件系統(tǒng)
容量
已用
可用
已用% 掛載點(diǎn)/dev/sda1976M 193M 717M 22% /boot7.1.2查看磁盤使用情況df命令與du命令統(tǒng)計(jì)結(jié)果不一致出現(xiàn)上述問題的原因是兩個(gè)命令的統(tǒng)計(jì)范圍不一樣。df命令在統(tǒng)計(jì)磁盤設(shè)備時(shí)可以統(tǒng)計(jì)到已經(jīng)刪除的文件,但du命令只統(tǒng)計(jì)當(dāng)前存在的文件。例如,當(dāng)刪除一個(gè)文件時(shí),文件并不會(huì)立即釋放所占用的空間,只是暫時(shí)無(wú)法使用,只有到最后所有程序都不再使用該文件,操作系統(tǒng)才會(huì)按照規(guī)則釋放該文件所占用的空間。df命令在統(tǒng)計(jì)時(shí)會(huì)統(tǒng)計(jì)該文件,但du命令不對(duì)該文件進(jìn)行統(tǒng)計(jì),因此,df命令與du命令的統(tǒng)計(jì)結(jié)果往往不一致。添加磁盤7.27.2添加磁盤
先定一個(gè)小目標(biāo)!熟悉磁盤添加,能夠在Linux系統(tǒng)中正確添加磁盤7.2添加磁盤在Linux操作系統(tǒng)中,一塊磁盤需要經(jīng)過分區(qū)、格式化、掛載操作之后才能使用。為了后面更好的講解磁盤分區(qū)、格式化、掛載與卸載操作,下面以一塊新的磁盤為例,演示如何在虛擬機(jī)中添加磁盤。STEP01選中虛擬機(jī),單擊右鍵→設(shè)置,彈出虛擬機(jī)設(shè)置對(duì)話框。7.2添加磁盤STEP02在“硬件”選項(xiàng)卡中,選中“硬盤(SCSI)20GB”選項(xiàng),然后單擊下方的“添加”按鈕,彈出添加硬件向?qū)?duì)話框。7.2添加磁盤選擇硬件類型為硬盤,然后單擊“下一步”按鈕,進(jìn)入選擇磁盤類型界面。STEP037.2添加磁盤勾選“SCSI(S)”虛擬磁盤類型,然后單擊“下一步”按鈕,進(jìn)入選擇磁盤界面。STEP047.2添加磁盤勾選“創(chuàng)建新虛擬磁盤(V)”選項(xiàng),然后單擊“下一步”按鈕,進(jìn)入指定磁盤容量界面。STEP057.2添加磁盤設(shè)置最大磁盤大小為20GB,讀者也可以設(shè)置其他數(shù)值,勾選“將虛擬磁盤存儲(chǔ)拆分成多個(gè)文件(M)”選項(xiàng),然后單擊“下一步”按鈕,進(jìn)入指定磁盤文件界面。單擊“完成”按鈕,返回虛擬機(jī)設(shè)置界面,再單擊“確定”按鈕,完成磁盤添加。STEP067.2添加磁盤磁盤添加成功后,重啟系統(tǒng),磁盤才能識(shí)別。系統(tǒng)重啟后,進(jìn)入/dev目錄查看,可以看到sdb設(shè)備文件。[root@localhostdev]#ls…cpu_dma_latencylp2sdatty14tty33tty52uinputvhcidisklp3sda1tty15tty34tty53urandomvhost-netdm-0mappersda2tty16tty35tty54usbmon0vhost-vsockdm-1mcelogsdbtty17tty36tty55usbmon1vmcidmmidimemsg0tty18tty37tty56usbmon2vsock…磁盤分區(qū)7.37.3磁盤分區(qū)STEP06無(wú)論是Windows系統(tǒng)還是Linux系統(tǒng),一塊新的磁盤無(wú)法直接使用,需要先對(duì)磁盤進(jìn)行分區(qū)。磁盤分區(qū)有利于數(shù)據(jù)的分類存儲(chǔ),管理員可以根據(jù)文件類型、文件數(shù)量和文件大小等因素,合理規(guī)劃磁盤空間,以提高磁盤使用率與讀取速率。Linux系統(tǒng)有兩種常用的磁盤分區(qū)方式,分別是MBR和GPT。7.3.1MBR分區(qū)規(guī)則
先定一個(gè)小目標(biāo)!了解MBR分區(qū)規(guī)則,能夠說出MBR分區(qū)規(guī)則與分區(qū)特點(diǎn)7.3.1MBR分區(qū)規(guī)則MBR全稱為MasterBootRecord,即主引導(dǎo)記錄,在MBR分區(qū)方式中,第一個(gè)扇區(qū)是最重要的,它記錄了3部分信息,分別是主引導(dǎo)記錄、分區(qū)表信息和結(jié)束符。主引導(dǎo)記錄:包括引導(dǎo)代碼和磁盤簽名兩部分,共占用446字節(jié)空間。分區(qū)表:占用64字節(jié)空間,記錄了磁盤分區(qū)信息,每記錄一個(gè)分區(qū)信息就需要占用16字節(jié)空間,因此第1扇區(qū)中最多只能寫入4個(gè)分區(qū)信息,這4個(gè)分區(qū)就是主分區(qū)。結(jié)束符:占用2字節(jié)空間。7.3.1MBR分區(qū)規(guī)則第一扇區(qū)數(shù)據(jù)信息7.3.1MBR分區(qū)規(guī)則一塊磁盤設(shè)備最多只能有4個(gè)主分區(qū),即便這4個(gè)分區(qū)的容量和小于磁盤總?cè)萘浚矡o(wú)法再為剩余空間分區(qū)。但是一塊磁盤只有4個(gè)分區(qū),遠(yuǎn)遠(yuǎn)無(wú)法滿足系統(tǒng)數(shù)據(jù)的存儲(chǔ)管理,為此,MBR提出了擴(kuò)展分區(qū)的概念。將第1扇區(qū)中的一個(gè)分區(qū)指向另一個(gè)分區(qū),即將原本要寫入主分區(qū)信息的空間,寫入另一個(gè)分區(qū)的信息,該主分區(qū)指向的另一個(gè)分區(qū)就稱為擴(kuò)展分區(qū),在擴(kuò)展分區(qū)中可以分出多個(gè)邏輯分區(qū),以滿足用戶需求。7.3.1MBR分區(qū)規(guī)則擴(kuò)展分區(qū)結(jié)構(gòu)在MBR分區(qū)中,編號(hào)1~4被預(yù)留給主分區(qū),因此邏輯分區(qū)的編號(hào)一定從5開始,即使主分區(qū)數(shù)量不足4個(gè),邏輯分區(qū)編號(hào)也是從5開始。7.3.2MBR分區(qū)管理
先定一個(gè)小目標(biāo)!掌握MBR分區(qū),能夠使用MBR規(guī)則完成磁盤分區(qū)7.3.2MBR分區(qū)管理在Linux系統(tǒng)中,如果使用MBR方式創(chuàng)建分區(qū),可以通過fdisk命令對(duì)磁盤分區(qū)進(jìn)行管理。fdisk命令的功能包括創(chuàng)建分區(qū)、刪除分區(qū)、查看分區(qū)等。fdisk命令常用選項(xiàng)選項(xiàng)說明-l顯示磁盤及分區(qū)詳細(xì)信息-s顯示磁盤分區(qū)容量(單位為block)fdisk選項(xiàng)磁盤格式7.3.2MBR分區(qū)管理案例7-4查看/dev/sda磁盤和/dev/sdb磁盤的分區(qū)情況。[root@localhost~]#fdisk-l/dev/sda #查看/dev/sda磁盤分區(qū)情況Disk/dev/sda:20GiB,21474836480字節(jié),41943040個(gè)扇區(qū)單元:扇區(qū)/1*512=512字節(jié)扇區(qū)大小(邏輯/物理):512字節(jié)/512字節(jié)┄磁盤標(biāo)識(shí)符:0xc1df62f設(shè)備
啟動(dòng)
起點(diǎn)
末尾
扇區(qū)
大小Id類型/dev/sda1*2048209919920971521G83Linux/dev/sda22099200419430393984384019G8eLinuxLVM[root@localhost~]#fdisk-l/dev/sdb #查看/dev/sdb磁盤分區(qū)情況Disk/dev/sdb:20GiB,21474836480字節(jié),41943040個(gè)扇區(qū)單元:扇區(qū)/1*512=512字節(jié)扇區(qū)大小(邏輯/物理):512字節(jié)/512字節(jié)I/O大小(最小/最佳):512字節(jié)/512字節(jié)7.3.2MBR分區(qū)管理fdisk命令通過選項(xiàng)只能實(shí)現(xiàn)磁盤分區(qū)的簡(jiǎn)單管理,若要使用fdisk命令創(chuàng)建、刪除磁盤分區(qū)等,需要進(jìn)入fdisk命令的交互界面。在終端輸入“fdisk磁盤”即可進(jìn)入交互界面。[root@localhost~]#fdisk/dev/sdb #進(jìn)入交互界面,操作/dev/sdb磁盤
歡迎使用fdisk(util-linux2.32.1)。更改將停留在內(nèi)存中,直到您決定將更改寫入磁盤。使用寫入命令前請(qǐng)三思。
設(shè)備不包含可識(shí)別的分區(qū)表。創(chuàng)建了一個(gè)磁盤標(biāo)識(shí)符為0x488a6922的新DOS磁盤標(biāo)簽。
命令(輸入m獲取幫助):7.3.2MBR分區(qū)管理fdisk交互界面常用的命令快捷鍵選項(xiàng)說明d刪除分區(qū)F列出未分區(qū)的空閑區(qū)l列出已知分區(qū)類型n添加新分區(qū)p打印分區(qū)表i打印某個(gè)分區(qū)的相關(guān)信息w將分區(qū)表寫入磁盤并退出q退出而不保存更改在fdisk命令的交互界面,通過命令快捷鍵m可以獲取幫助信息,幫助信息中包含此界面可執(zhí)行的命令快捷鍵。7.3.2MBR分區(qū)管理下面以/dev/sdb磁盤為例演示fdisk命令的應(yīng)用。查看磁盤分區(qū)情況。命令(輸入m獲取幫助):F #查看磁盤分區(qū)未分區(qū)的空間/dev/sdb:20GiB,21473787904個(gè)字節(jié),41940992個(gè)扇區(qū)單元:扇區(qū)/1*512=512字節(jié)扇區(qū)大小(邏輯/物理):512字節(jié)/512字節(jié)
起點(diǎn)
末尾
扇區(qū)
大小2048419430394194099220G命令(輸入m獲取幫助):有20GB未分區(qū)的空閑空間示例7.3.2MBR分區(qū)管理創(chuàng)建主分區(qū)。命令(輸入m獲取幫助):n #創(chuàng)建分區(qū)┄上個(gè)扇區(qū),+sectors或+size{K,M,G,T,P}(2048-41943039,默認(rèn)41943039):+2G創(chuàng)建了一個(gè)新分區(qū)1,類型為“Linux”,大小為2GiB。命令(輸入m獲取幫助):p #打印分區(qū)表,查看分區(qū)情況┄設(shè)備
啟動(dòng)
起點(diǎn)
末尾
扇區(qū)
大小Id類型/dev/sdb12048419635141943042G83Linux命令(輸入m獲取幫助):示例7.3.2MBR分區(qū)管理創(chuàng)建邏輯分區(qū)(中間輸出省略)。示例命令(輸入m獲取幫助):n #創(chuàng)建擴(kuò)展分區(qū)選擇
(默認(rèn)p):e #選擇擴(kuò)展分區(qū)分區(qū)號(hào)(2-4,默認(rèn)2):3 #設(shè)置擴(kuò)展分區(qū)編號(hào)為3命令(輸入m獲取幫助):n #創(chuàng)建第1個(gè)邏輯分區(qū)選擇(默認(rèn)p):l #選擇邏輯分區(qū)命令(輸入m獲取幫助):n #創(chuàng)建第2個(gè)邏輯分區(qū)選擇(默認(rèn)p):l #選擇邏輯分區(qū)添加邏輯分區(qū)
6命令(輸入m獲取幫助):p #打印分區(qū)表,查看分區(qū)情況┄7.3.2MBR分區(qū)管理刪除分區(qū)。命令(輸入m獲取幫助):d #刪除分區(qū)分區(qū)號(hào)(1,3,5,6,默認(rèn)6):6 #指定分區(qū)編號(hào)分區(qū)5已刪除。命令(輸入m獲取幫助):p #打印分區(qū)編號(hào),查看分區(qū)情況┄設(shè)備
啟動(dòng)
起點(diǎn)
末尾
扇區(qū)
大小Id類型/dev/sdb12048419635141943042G83Linux/dev/sdb3419635214682111104857605G5擴(kuò)展/dev/sdb583947521468211162873603G83Linux示例7.3.2MBR分區(qū)管理退出。[root@localhost~]#fdisk-l/dev/sdb
//退出后,使用fdisk命令查看/dev/sdb分區(qū)Disk/dev/sdb:20GiB,21474836480字節(jié),41943040個(gè)扇區(qū)單元:扇區(qū)/1*512=512字節(jié)扇區(qū)大小(邏輯/物理):512字節(jié)/512字節(jié)I/O大小(最小/最佳):512字節(jié)/512字節(jié)磁盤標(biāo)簽類型:dos磁盤標(biāo)識(shí)符:0x2a94e1f8設(shè)備
啟動(dòng)
起點(diǎn)
末尾
扇區(qū)大小Id類型/dev/sdb12048419635141943042G83Linux/dev/sdb3419635214682111104857605G5擴(kuò)展/dev/sdb54198400839270341943042G83Linux示例7.3.3GPT分區(qū)規(guī)則
先定一個(gè)小目標(biāo)!了解GPT分區(qū)規(guī)則,能夠說出GPT分區(qū)規(guī)則及特點(diǎn)GPT(GUIDPartitionTable,全局唯一標(biāo)識(shí)分區(qū)表)是一種較新的分區(qū)方式,它兼容MBR,能夠處理超過2TB的磁盤。另外,GPT突破了MBR只有4個(gè)主分區(qū)的限制,最多可以有128個(gè)主分區(qū),每個(gè)分區(qū)的容量也可以超過2TB。GPT磁盤分區(qū)結(jié)構(gòu)由6部分組成,包括保護(hù)MBR、GPT頭、分區(qū)表、分區(qū)區(qū)域、分區(qū)表備份、GPT頭備份。7.3.3GPT分區(qū)規(guī)則7.3.3GPT分區(qū)規(guī)則保護(hù)MBR位于GPT磁盤的第一個(gè)扇區(qū)(0號(hào)扇區(qū)),由磁盤簽名、MBR分區(qū)表和結(jié)束符組成,它的作用是阻止不能識(shí)別GPT分區(qū)的磁盤工具試圖對(duì)磁盤進(jìn)行分區(qū)或格式化等操作,因此該扇區(qū)被稱為保護(hù)MBR。GPT頭位于GPT磁盤的第二個(gè)扇區(qū)(1號(hào)扇區(qū)),用于定義分區(qū)表的起始位置、結(jié)束位置和分區(qū)表項(xiàng)的大小。此外,GPT頭還包含分區(qū)表的校驗(yàn)和,這樣可以及時(shí)發(fā)現(xiàn)錯(cuò)誤。7.3.3GPT分區(qū)規(guī)則分區(qū)表位于GPT磁盤的第2~33號(hào)扇區(qū),一共占用32個(gè)扇區(qū)。分區(qū)表可以定義分區(qū)項(xiàng),每個(gè)分區(qū)占用128字節(jié)空間,因此,磁盤可以創(chuàng)建128個(gè)分區(qū)。每個(gè)分區(qū)項(xiàng)包含分區(qū)起始地址、結(jié)束地址、類型值、分區(qū)名稱、屬性標(biāo)志、GUID值等。分區(qū)區(qū)域就是用戶使用的分區(qū),即用戶存儲(chǔ)數(shù)據(jù)的區(qū)域,它是占用空間最大的區(qū)域。分區(qū)區(qū)域的起始地址和結(jié)束地址由分區(qū)表定義。7.3.3GPT分區(qū)規(guī)則分區(qū)表備份位于分區(qū)區(qū)域后,它是分區(qū)表32個(gè)扇區(qū)的完整備份,如果分區(qū)表遭到破壞,系統(tǒng)會(huì)自動(dòng)讀取分區(qū)表備份,能夠保證正常識(shí)別分區(qū)。GPT頭備份位于GPT磁盤最后一個(gè)扇區(qū),但GPT頭的備份并非完全與GPT頭相同,有些信息可能會(huì)有些出入。7.3.4GPT分區(qū)管理
先定一個(gè)小目標(biāo)!掌握GPT分區(qū),能夠使用GPT規(guī)則完成磁盤分區(qū)7.3.4GPT分區(qū)管理GPT分區(qū)可以使用parted命令實(shí)現(xiàn)。parted命令是GNU開發(fā)的一款功能強(qiáng)大的磁盤管理工具,既可以管理MBR分區(qū),也可以管理GPT分區(qū),但通常用來管理GPT分區(qū)。parted命令有命令行和交互模式兩種用法,但交互模式更為常用。進(jìn)入parted命令交互模式的語(yǔ)法如下:parted磁盤格式7.3.4GPT分區(qū)管理在parted交互模式下,可以使用交互命令完成磁盤分區(qū)的管理。parted交互命令很多,這些命令在交互模式下和命令行模式下用法相同。(1)選擇分區(qū)類型mklabel分區(qū)類型格式(2)查看分區(qū)信息print格式(3)創(chuàng)建分區(qū)mkpart分區(qū)名稱起始點(diǎn)結(jié)束點(diǎn)格式(4)刪除分區(qū)格式rm分區(qū)編號(hào)7.3.4GPT分區(qū)管理下面將虛擬機(jī)還原至剛添加/dev/sdb磁盤的狀態(tài),以/dev/sdb磁盤分區(qū)為例,演示parted命令的
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 江蘇省江都區(qū)黃思中學(xué)蘇科版達(dá)標(biāo)名校2025屆中考生物考前最后一卷含解析
- 湖北省棗陽(yáng)市太平三中學(xué)2025屆中考一模生物試題含解析
- 2025屆遼寧省沈陽(yáng)市第八十二中學(xué)中考生物押題試卷含解析
- 2025合同范本:高端彩色打印機(jī)購(gòu)銷合同
- 2025年專利技術(shù)轉(zhuǎn)讓合同參考模板(2篇)
- 2025年度國(guó)際論壇會(huì)議組織與管理服務(wù)合同
- 2025年ci設(shè)計(jì)委托合同標(biāo)準(zhǔn)版本(4篇)
- cdmo公司合同管理制度
- 2024年民間借款房屋抵押合同范本
- 山東省臨朐縣重點(diǎn)名校2025屆中考試題猜想生物試卷含解析
- DB33T 2570-2023 營(yíng)商環(huán)境無(wú)感監(jiān)測(cè)規(guī)范 指標(biāo)體系
- 上海市2024年中考英語(yǔ)試題及答案
- 房屋市政工程生產(chǎn)安全重大事故隱患判定標(biāo)準(zhǔn)(2024版)宣傳海報(bào)
- 房屋市政工程生產(chǎn)安全重大事故隱患判定標(biāo)準(zhǔn)(2024版)宣傳畫冊(cè)
- 2025年道路運(yùn)輸企業(yè)客運(yùn)駕駛員安全教育培訓(xùn)計(jì)劃
- 南京工業(yè)大學(xué)浦江學(xué)院《線性代數(shù)(理工)》2022-2023學(xué)年第一學(xué)期期末試卷
- 2024版機(jī)床維護(hù)保養(yǎng)服務(wù)合同3篇
- 《論拒不執(zhí)行判決、裁定罪“執(zhí)行能力”之認(rèn)定》
- 工程融資分紅合同范例
- 2024年貴州省公務(wù)員錄用考試《行測(cè)》真題及答案解析
- 2024國(guó)家安全員資格考試題庫(kù)加解析答案
評(píng)論
0/150
提交評(píng)論