版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
項目6管理進程《Linux網(wǎng)絡(luò)操作系統(tǒng)項目化進程》學(xué)習(xí)目標(biāo)/Target了解進程的概念,能夠說出什么是進程及進程的特點掌握進程的狀態(tài),能夠說出進程有哪些狀態(tài)以及各種狀態(tài)之間的轉(zhuǎn)換了解進程標(biāo)識符,能夠說出進程標(biāo)識符的含義學(xué)習(xí)目標(biāo)/Target掌握進程查看命令,能夠熟練使用命令查看進程掌握進程終止命令,能夠熟練使用命令終止進程了解任務(wù)的前臺與后臺調(diào)度,能夠使用命令實現(xiàn)進程的前臺與后臺調(diào)度學(xué)習(xí)目標(biāo)/Target掌握服務(wù)管理,能夠熟練使用systemctl命令管理任務(wù)了解計劃任務(wù),能夠使用at命令設(shè)定計劃任務(wù)掌握crontab命令的使用,能夠使用crontab命令完成項目任務(wù)項目導(dǎo)入作為技術(shù)服務(wù)部門,需要監(jiān)測管理公司的服務(wù)器使用情況,為了服務(wù)器更好的工作,上級領(lǐng)導(dǎo)交代邦小苑做一個定時任務(wù),要求每周六凌晨3點重啟系統(tǒng),并重啟http服務(wù)。想到之前的數(shù)據(jù)庫都是每周五凌晨備份,領(lǐng)導(dǎo)讓邦小苑更改一下,要求每天凌晨備份數(shù)據(jù)庫。邦小苑簡單梳理了一下,上級領(lǐng)導(dǎo)交代的定時任務(wù)有以下3項:任務(wù)6-1:系統(tǒng)維護。任務(wù)6-2:重啟http服務(wù)。任務(wù)6-3:備份數(shù)據(jù)庫。目錄/Contents010203進程概述進程管理常用命令任務(wù)的前臺與后臺調(diào)度04服務(wù)管理目錄/Contents050607計劃任務(wù)任務(wù)6-1系統(tǒng)維護任務(wù)6-2重啟http服務(wù)08任務(wù)6-3備份數(shù)據(jù)庫進程概述6.16.1.1進程概念
先定一個小目標(biāo)!了解進程的概念,能夠說出什么是進程及進程的特點6.1.1進程概念進程就是一個程序運行所需要的特殊環(huán)境。進程就是一個二進制程序的執(zhí)行過程。當(dāng)程序執(zhí)行結(jié)束之后,進程會隨之消失,進程所有的資源會被系統(tǒng)回收。6.1.1進程概念早期的CPU都是單核的,一次只能執(zhí)行一個程序,即運行一個進程。但是,在人們使用計算機時可以同時運行多個程序,例如,一邊聊微信一邊看視頻,這是因為計算機采用了時間片分時調(diào)度策略,多個進程在一個隊列中排隊輪流執(zhí)行,系統(tǒng)為每個進程分配一個時間段,即進程可以運行的時間,稱作進程的時間片。如果一個進程的時間片用完了,CPU將暫停該進程的執(zhí)行,將該進程移到隊列的末尾,轉(zhuǎn)而執(zhí)行下一個進程。時間片分時調(diào)度策略6.1.2進程狀態(tài)
先定一個小目標(biāo)!熟悉進程的狀態(tài),能夠說出進程有哪些狀態(tài)以及各種狀態(tài)之間的轉(zhuǎn)換6.1.2進程狀態(tài)運行態(tài)睡眠態(tài)就緒態(tài)進程在執(zhí)行過程中,主要有3種狀態(tài),分別是就緒態(tài)、運行態(tài)和睡眠態(tài)。6.1.2進程狀態(tài)處于就緒態(tài)的進程,該進程所需的其他資源都已經(jīng)分配到位,只等待系統(tǒng)分配CPU。當(dāng)把CPU分配給就緒態(tài)的進程時,進程會立刻從就緒態(tài)轉(zhuǎn)變?yōu)檫\行態(tài)。1.就緒態(tài)2.運行態(tài)處于運行態(tài)的進程是指已經(jīng)分配到CPU,正在運行的進程。處于運行態(tài)的進程,如果時間片用完,進程就會從運行態(tài)進入就緒態(tài)。如果因為其他原因而失去CPU,進程就會從運行態(tài)進入睡眠態(tài)。6.1.2進程狀態(tài)進程因為某種原因暫時不能擁有CPU,就會進入睡眠態(tài)。根據(jù)進入睡眠態(tài)的原因,可以將睡眠態(tài)分為阻塞和掛起兩種狀態(tài)。阻塞:一般是由外部I/O調(diào)用等原因造成的睡眠態(tài),進程需要等待所需的I/O資源,即使強制中斷睡眠,進程也無法運行。掛起:進程對應(yīng)的當(dāng)前用戶請求已經(jīng)處理完畢,暫時退出CPU,當(dāng)用戶再次發(fā)出請求時,進程可隨時被喚醒,進入就緒態(tài)。3.睡眠態(tài)6.1.2進程狀態(tài)進程在運行過程中,通常會在這3種狀態(tài)之間轉(zhuǎn)換,轉(zhuǎn)換過程如下圖。6.1.3進程標(biāo)識符
先定一個小目標(biāo)!了解進程標(biāo)識符,能夠說出進程標(biāo)識符的含義6.1.3進程標(biāo)識符每一個進程都有一個唯一的標(biāo)識號,即PID(ProcessID),系統(tǒng)通過進程標(biāo)識符調(diào)度進程。用戶也可以根據(jù)PID調(diào)度進程。進程終止后,PID會被回收,可能會被分配給其他進程使用。在Linux系統(tǒng)中,除了初始化進程,其他進程都會有一個父進程,父進程即創(chuàng)建進程的進程。父進程也有對應(yīng)的標(biāo)識符,稱為父進程標(biāo)識符(ParentProcessID),簡稱PPID。1.進程標(biāo)識符6.1.3進程標(biāo)識符用戶標(biāo)識符(UserID)標(biāo)識創(chuàng)建這個進程的用戶,簡稱UID。除此之外,Linux系統(tǒng)還有EUID的概念,稱為有效用戶標(biāo)識符,表示以有效權(quán)限發(fā)起進程的用戶。例如,發(fā)起一個進程的用戶是itheima,但實際有權(quán)限的是root用戶,也就是itheima用戶以root權(quán)限發(fā)起了進程,那么這個進程的UID對應(yīng)的用戶為itheima,EUID對應(yīng)的用戶為root。2.用戶標(biāo)識符3.組標(biāo)識符組標(biāo)識符(GroupID)標(biāo)識創(chuàng)建進程用戶的所屬組,簡稱GID。EUID對應(yīng)的組標(biāo)識符為EGID。進程管理常用命令6.26.2.1進程查看命令
先定一個小目標(biāo)!掌握進程查看命令,能夠熟練使用命令查看進程6.2.1進程查看命令1.ps命令ps命令用于查看當(dāng)前系統(tǒng)中正在運行的進程信息,包括進程狀態(tài)、占用的資源等,它是最基本也最強大的進程查看命令。ps選項
參數(shù)格式6.2.1進程查看命令ps命令常用選項選項說明-a顯示除會話組長之外的所有進程,包括其他用戶的進程-e顯示所有進程,包括系統(tǒng)進程-f顯示進程更多詳細信息,多與其他選項組合使用-u以用戶的形式顯示進程信息-x顯示沒有控制終端的進程-l使用詳細的格式顯示進程信息--pid顯示指定PID的進程信息6.2.1進程查看命令使用-aux選項顯示所有用戶有關(guān)進程詳細信息。[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進程查看命令每一個進程都有10個字段,每個字段的含義如下:1USER:啟動進程的用戶。2PID:進程標(biāo)識符。3%CPU:進程本次運行時間占進程總運行時間的百分比4%MEM:進程運行占用內(nèi)存占總內(nèi)存的百分比。5VSZ:進程占用的虛擬內(nèi)存大小,單位為KB。6.2.1進程查看命令每一個進程都有11個字段,每個字段的含義如下:6RSS:進程占用的實際內(nèi)存大小,單位為KB。7TTY:進程啟動終端。8STAT:進程當(dāng)前狀態(tài),值可以是R、S、D、Z、T9START:進程開始運行的時間。TIME:進程從啟動以來占用CPU的總時間。10COMMAND:啟動該進程的命令。116.2.1進程查看命令ps命令查看的進程結(jié)果不是動態(tài)的、連續(xù)的,它相當(dāng)于快照功能,只顯示當(dāng)前時刻進程的狀態(tài)信息。如果想要動態(tài)地顯示進程狀態(tài)信息,則可以使用top命令。2.top命令top選項參數(shù)格式6.2.1進程查看命令top命令常用選項選項說明-btop命令默認只顯示一屏信息,該選項可以通過批處理方式顯示進程信息-d自定義刷新時間間隔-i忽略任何空閑進程或僵死進程-p監(jiān)視指定的PID進程-c顯示進程命令行,包括路徑6.2.1進程查看命令top命令可以實時查觀察系統(tǒng)的整體運行情況顯示結(jié)果默認每隔3s刷新一次,類似于Windows系統(tǒng)的任務(wù)管理器,是一個很實用的系統(tǒng)性能監(jiān)測工具。由于top命令的運行結(jié)果是動態(tài)顯示的,信息是連續(xù)變化的,結(jié)果信息不容易復(fù)制,所以使用截圖方式顯示結(jié)果。top命令執(zhí)行結(jié)果的前5行是整體統(tǒng)計系統(tǒng)信息,每一行含義如下:第1行:顯示系統(tǒng)相關(guān)信息,分別是系統(tǒng)當(dāng)前時間、系統(tǒng)運行時間、登錄的用戶數(shù)量、系統(tǒng)1分鐘、5分鐘、15分鐘的平均負載。第2行:顯示進程總數(shù)、運行中的進程數(shù)、睡眠中的進程數(shù)、終止的進程數(shù)和僵死的進程數(shù)。第3行:顯示CPU資源的使用情況。第4行:顯示內(nèi)存資源的使用情況。第5行:顯示swap交換分區(qū)的使用情況。6.2.1進程查看命令在top命令運行階段,用戶可以通過快捷鍵進行交互操作??旖萱I說明l控制是否顯示平均負載和啟動時間(第1行)t控制是否顯示進程統(tǒng)計信息和CPU狀態(tài)信息(第2、3行)m控制是否顯示內(nèi)存信息(第4、5行)M根據(jù)常駐內(nèi)存集RES大小為進程排序P根據(jù)%CPU為進程排序T根據(jù)TIME+為進程排序i忽略閑置和僵死的進程q退出top命令6.2.1進程查看命令top命令常用的交互快捷鍵在top命令的運行界面,使用快捷鍵i忽略閑置和僵死的進程,交互結(jié)果如下圖。6.2.1進程查看命令6.2.1進程查看命令在Linux系統(tǒng)中,除了初始化進程systemd,其他進程都有父進程。一個父進程可以創(chuàng)建多個子進程,這些子進程互稱為兄弟進程。因此,Linux系統(tǒng)中的進程之間都相互關(guān)聯(lián)。Linux系統(tǒng)提供了一個命令pstree,可以樹狀形式顯示系統(tǒng)中進程,即顯示一個進程樹,從進程樹中,可以直接觀察出進程之間的派生關(guān)系。3.pstree命令pstree選項格式6.2.1進程查看命令pstree命令常用選項選項說明-a顯示每個進程的完整命令(包括路徑、參數(shù)等)-c不使用精簡標(biāo)識法-h列出樹狀圖,特別標(biāo)明當(dāng)前正在執(zhí)行的進程-u顯示用戶名稱-n使用程序識別碼排序(默認以程序名稱排序)6.2.1進程查看命令以進程樹形式顯示系統(tǒng)當(dāng)前進程,并著重顯示當(dāng)前正在執(zhí)行的進程。[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進程查看命令pgrep命令可以根據(jù)服務(wù)名稱,從進程隊列中查找與該服務(wù)有關(guān)的進程,查找成功后顯示進程的PID。4.pgrep命令pgrep選項參數(shù)格式選項說明-o僅顯示同名進程中pid最小的進程-n僅顯示同名進程中pid最大的進程-p指定進程父進程的pidpgrep命令常用選項6.2.1進程查看命令查找與sshd服務(wù)相關(guān)的進程。[itheima@localhost~]$pgrepsshd109337903794案例6-36.2.2進程終止命令
先定一個小目標(biāo)!掌握進程終止命令,能夠熟練使用命令終止進程6.2.2進程終止命令kill命令可以終止指定的進程。kill命令的工作原理是發(fā)送某個信號給指定進程,以改變進程的狀態(tài)。1.kill命令kill選項參數(shù)格式kill命令的選項一般是信號,參數(shù)為PID。6.2.2進程終止命令Linux系統(tǒng)提供的一些預(yù)定義信號。[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號信號可以無條件終止進程kill命令默認信號6.2.2進程終止命令終止PID為3794的進程。[itheima@localhost~]$kill-93794案例6-46.2.2進程終止命令killall命令的選項通常也是信號,參數(shù)一般為服務(wù)名稱。2.killall命令killall命令用于終止某個服務(wù)所對應(yīng)的全部進程。通常,復(fù)雜程序會有多個進程協(xié)同為用戶提供服務(wù),當(dāng)要終止服務(wù)時,如果使用kill命令逐個結(jié)束進程會比較麻煩,此時可以使用killall命令批量結(jié)束該服務(wù)的所有進程。killlall選項參數(shù)格式6.2.2進程終止命令終止nginx服務(wù)的所有進程。[root@localhost~]#cd/usr/local/nginx/sbin[root@localhostsbin]#./nginx #啟動nginx[root@localhostsbin]#pgrepnginx #查看nginx相關(guān)進程28752876[root@localhostsbin]#killallnginx #終止nginx服務(wù)所有進程[root@localhostsbin]#pgrepnginx #再次查看nginx服務(wù)進程[root@localhostsbin]#nginx服務(wù)有兩個進程案例6-5任務(wù)的前臺與后臺調(diào)度6.36.3任務(wù)的前臺與后臺調(diào)度
先定一個小目標(biāo)!熟悉任務(wù)的前臺與后臺調(diào)度,能夠使用命令實現(xiàn)進程的前臺與后臺調(diào)度6.3任務(wù)的前臺與后臺調(diào)度Linux系統(tǒng)中的進程可以分為前臺進程與后臺進程。前臺進程:用戶在屏幕上進行操作的進程。后臺進程:在不需要用戶干預(yù)的情況下運行的進程,通常用于執(zhí)行如日志記錄、系統(tǒng)監(jiān)測、作業(yè)調(diào)度、用戶提醒等任務(wù)。前臺進程需要和用戶交互,一般優(yōu)先級稍微高一些,后臺進程基本上不和用戶交互,優(yōu)先級稍微低一些。6.3任務(wù)的前臺與后臺調(diào)度在Linux系統(tǒng)中,有時需要將前臺任務(wù)暫停調(diào)度至后臺,或者將后臺任務(wù)調(diào)度至前臺重新啟動,為此,Linux系統(tǒng)提供了jobs命令、bg命令、fg命令以及一些快捷鍵來完成這一系列操作。需要注意的是,雖然這些命令調(diào)度的是任務(wù),但每個任務(wù)會對應(yīng)一個或多個進程,調(diào)度任務(wù)其實就是調(diào)度進程。6.3任務(wù)的前臺與后臺調(diào)度jobs命令用于顯示系統(tǒng)中暫停的任務(wù)列表及任務(wù)狀態(tài),包括后臺任務(wù)。jobs命令常用選項選項說明-l顯示進程號-p只顯示任務(wù)PID-s只顯示停止?fàn)顟B(tài)的任務(wù)1.jobs命令jobs選項參數(shù)格式j(luò)obs命令的參數(shù)通常是任務(wù)標(biāo)識號,即第1列用來標(biāo)識任務(wù)的數(shù)字。6.3任務(wù)的前臺與后臺調(diào)度在Linux操作系統(tǒng)中,命令也是一個可執(zhí)行的二進制程序,因此,一次命令的執(zhí)行也是一次任務(wù)執(zhí)行,系統(tǒng)會運行對應(yīng)的進程。如果一個命令執(zhí)行的時間很久,可以按Ctrl+z快捷鍵暫停任務(wù),暫停之后,可以使用jobs命令查看任務(wù)及狀態(tài)。(1)執(zhí)行top命令查看系統(tǒng)進程狀態(tài),按Ctrl+z快捷鍵暫停任務(wù)。[1]+已停止top(2)執(zhí)行jobs命令查看任務(wù)列表。[itheima@localhost~]$jobs #顯示任務(wù)列表[1]+已停止top[itheima@localhost~]$jobs–l #顯示任務(wù)進程的PID[1]+5705停止(信號)top[itheima@localhost~]$kill-95705 #終止進程6.3任務(wù)的前臺與后臺調(diào)度bg命令用于將前臺任務(wù)調(diào)度至后臺執(zhí)行。2.bg命令bg參數(shù)格式bg命令的參數(shù)是任務(wù)標(biāo)識號。6.3任務(wù)的前臺與后臺調(diào)度將top命令執(zhí)行的任務(wù)調(diào)度至后臺執(zhí)行。[itheima@localhost~]$jobs[1]+已停止top[itheima@localhost~]$bg1[1]+top&案例6-66.3任務(wù)的前臺與后臺調(diào)度除了使用bg命令將任務(wù)調(diào)度至后臺執(zhí)行,還可以在執(zhí)行命令時,在命令后面添加&符號,這樣命令在開始執(zhí)行時就自動在后臺運行。例如,使用top命令查看進程狀態(tài)時,在命令后面添加&符號,命令會自動在后臺執(zhí)行。[itheima@localhost~]$top&
#在后臺執(zhí)行top命令[1]67316.3任務(wù)的前臺與后臺調(diào)度fg命令的參數(shù)也是任務(wù)標(biāo)識號。3.fg命令fg命令用于將后臺任務(wù)調(diào)度到前臺執(zhí)行。fg參數(shù)格式6.3任務(wù)的前臺與后臺調(diào)度使用vim命令編輯hello文件,假設(shè)在執(zhí)行過程中有其他任務(wù)要執(zhí)行,將vim命令調(diào)度至后臺執(zhí)行,執(zhí)行完其他任務(wù)后,再將vim命令調(diào)度至前臺執(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)度至后臺執(zhí)行[1]+vimhello&[itheima@localhost~]$fg1 #將vim命令調(diào)度至前臺執(zhí)行案例6-7服務(wù)管理6.46.4服務(wù)管理
先定一個小目標(biāo)!掌握服務(wù)管理,能夠熟練使用systemctl命令管理任務(wù)服務(wù)是一類常駐在內(nèi)存中,且可以提供一些功能來滿足用戶需求的進程。這些服務(wù)進程一旦啟動就會在后臺一直持續(xù)不斷地運行,它們不需要和用戶進行交互,因此服務(wù)進程又稱為守護進程(daemon)。6.4服務(wù)管理6.4服務(wù)管理CentOS7之前的版本使用service命令和chkconfig命令管理服務(wù)進程。CentOS7及之后的版本使用systemctl命令代替了service命令和chkconfig命令進行服務(wù)管理。systemctl功能命令服務(wù)進程格式systemctl命令常用功能命令6.4服務(wù)管理功能說明start啟動服務(wù)進程stop終止服務(wù)進程status查詢服務(wù)進程運行情況,列出該服務(wù)的詳細信息restart重啟服務(wù)進程enable設(shè)置服務(wù)開機自啟動disable取消服務(wù)開機自啟動reload重新加載指定服務(wù)的配置文件(并非所有服務(wù)都支持該參數(shù),使用restart可實現(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ù)運行狀態(tài)[root@localhost~]#systemctlstatushttpd#查詢http服務(wù)運行狀態(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ù)運行狀態(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ù)運行狀態(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ù)開機自啟動[root@localhost~]#systemctlenablehttpd #設(shè)置開機自啟動Createdsymlink/etc/systemd/system/multi-user.target.wants/httpd.service→/usr/lib/systemd/system/httpd.service.計劃任務(wù)6.56.5.1at命令
先定一個小目標(biāo)!了解at命令,能夠使用at命令制定計劃任務(wù)6.5.1at命令at命令用于執(zhí)行一次性計劃任務(wù),一般用于滿足臨時性的工作需求。at命令常用選項選項說明-l查看計劃任務(wù)。at–l功能與atq命令相同-f從文件中讀取任務(wù)-d刪除計劃任務(wù),參數(shù)為任務(wù)編號。at–d功能與atrm命令相同at選項參數(shù)格式6.5.1at命令at命令的參數(shù)通常為時間日期,at命令允許使用各種格式的時間日期,下面介紹幾種比較常用的時間日期格式:(1)允許使用hh:mm:ss的格式指定當(dāng)天時間。(2)允許使用12小時計時制,在時間后面加AM、PM指定上午還是下午。(3)允許使用midnight、noon、teatime(一般下午4點)等比較模糊的詞語指定時間。(4)允許使用monthday、mm/dd/yy、dd.mm.yy的格式指定日期。需要注意的是,日期在時間后面,例如,15:001/10/2023。(5)允許使用相對計時法指定時間,指定格式為time+counttime_units,time表示時間,time_units為時間單元(可以是minutes、hours、days、weeks),count為時間單元的數(shù)量。例如,5PM+3days,表示3天以后的下午5點開始執(zhí)行任務(wù)。(6)允許使用today、tomorrow指定時間。6.5.1at命令案例6-9制定計劃任務(wù),18點重啟http服務(wù)。[itheima@localhost~]$at18:00
#制定計劃任務(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)容,制定計劃任務(wù),執(zhí)行job文件中的任務(wù)。[itheima@localhost~]$vimjob
#編輯job文件[itheima@localhost~]$at-fjob18:07
#計劃任務(wù)warning:commandswillbeexecutedusing/bin/shjob2atThuSep1718:07:002020[itheima@localhost~]$at–l
#查看所有計劃任務(wù)1 FriSep1818:00:002020aitheima2 ThuSep1718:07:002020aitheima[itheima@localhost~]$ls
#查看是否生成at.txt文件公共
模板
視頻
圖片
文檔
下載
音樂
桌面at.txtjobusr6.5.1at命令案例6-11制定計劃任務(wù),凌晨備份data文件數(shù)據(jù)到/usr/local/bank文件中。[itheima@localhost~]$at24:00tomorrow #計劃任務(wù)時間warning:commandswillbeexecutedusing/bin/shat>cpdata/usr/local/bank #備份數(shù)據(jù)at><EOT>job4atSatSep1900:00:0020206.5.1at命令batch命令也用于執(zhí)行一次性計劃任務(wù),它的功能與at命令幾乎相同,唯一區(qū)別是batch命令會在系統(tǒng)負載較低、資源比較空閑的時候執(zhí)行。因此batch命令通常不指定時間,其執(zhí)行時間由系統(tǒng)自動控制。小提示:batch命令
先定一個小目標(biāo)!了解crontab命令,能夠使用crontab命令制定計劃任務(wù)6.5.2crontab命令6.5.2crontab命令at命令只能執(zhí)行一次性的計劃任務(wù),如果想讓周期性地重復(fù)執(zhí)行某一任務(wù),可以使用crontab命令制定計劃任務(wù)。使用crontab命令制定計劃任務(wù)時,通常將任務(wù)命令寫在一個文件中,這個任務(wù)文件叫作crontab文件。使用crontab命令加載這個文件,到指定時間系統(tǒng)會自動執(zhí)行文件中的命令。crontab文件可以使用vim命令編輯,也可以使用crontab命令直接編輯。crontab選項參數(shù)格式crontab命令的語句格式6.5.2crontab命令crontab命令常用選項選項說明-e編輯crontab文件-l查看當(dāng)前的計劃任務(wù)-r刪除計劃任務(wù)-u編輯其他用戶的計劃任務(wù),通常root使用該參數(shù)6.5.2crontab命令crontab命令的計劃任務(wù)也需要指定時間日期與執(zhí)行命令。分時日月星期
任務(wù)命令crontab命令任務(wù)格式各參數(shù)字段含義字段含義字段含義分0~59的整數(shù)月1~12的整數(shù)時0~23的整數(shù)星期0~7的整數(shù),0與7均為星期日日1~31的整數(shù)命令任務(wù)要執(zhí)行的命令或程序腳本格式6.5.2crontab命令crontab命令的用法與at命令類似,但是在制定crontab計劃任務(wù)時,有以下幾點需要注意:(1)如果有些時間日期字段沒有設(shè)置,需要使用“*”符號占位。例如,3018**7,表示每周日18:30執(zhí)行任務(wù),沒有設(shè)置日、月字段。(2)如果一個字段設(shè)置多個值,多個值之間使用“,”分隔,例如,3018**1,3,5表示每周一、周三、周五的18:30執(zhí)行任務(wù)。如果多個字段的數(shù)值是連續(xù)的,可以使用“-”符號連接起來,表示一段連接的時間,例如,30188-1010*表示10月8號到10月10號的18:30執(zhí)行任務(wù)。此外,還可以使用“/”符號表示間隔時間,例如,/10***7表示星期日每隔10分鐘執(zhí)行一次任務(wù)。6.5.2crontab命令crontab命令的用法與at命令類似,但是在制定crontab計劃任務(wù)時,有以下幾點需要注意:(3)如果crontab文件中有多個計劃任務(wù),則每個計劃任務(wù)需要寫一行。在編寫crontab文件時,可以使用“#”符號編寫注釋,方便后期閱讀。(4)計劃任務(wù)中的“分”字段必須要有數(shù)值,不能為空或使用“*”符號占位。(5)計劃任務(wù)中的“日”字段不能與“星期”字段同時使用,以免發(fā)生沖突。(6)計劃任務(wù)中的命令必須是絕對路徑,例如,ls命令必須寫成/usr/bin/ls。如果不知道命令的絕對路徑,可以使用“whereis命令”查詢。cpdata/usr/local/bank系統(tǒng)維護任務(wù)6-1任務(wù)6-1系統(tǒng)維護
先定一個小目標(biāo)!掌握crontab命令的使用,能夠使用crontab命令制定系統(tǒng)維護計劃任務(wù)(1)編輯cronjob文件,將定時任務(wù)寫入cronjob文件任務(wù)6-1系統(tǒng)維護[root@localhost~]#vimcronjob03**6/usr/sbin/shutdown-r-t1800(2)使用crontab命令加載cronjob文件[root@localhost~]#crontabcronjob(3)查看crontab計劃任務(wù)[root@localhost~]#crontab-l03**6/usr/sbin/shutdown-r-t1800實現(xiàn)步驟重啟http服務(wù)任務(wù)6-2任務(wù)6-2重啟http服務(wù)
先定一個小目標(biāo)!掌握crontab命令的使用,能夠使用crontab命令制定重啟http服務(wù)計劃任務(wù)(1)編輯cronjob文件,將定時任務(wù)寫入cronjob文件[root@localhost~]#vimcronjob03**6/usr/sbin/shutdown-r-t180003**6/usr/bin/systemctlrestarthttpd任務(wù)6-2重啟http服務(wù)實現(xiàn)步驟(2)使用crontab命令加載cronjob文件[root@localhost~]#crontabcronjob(3)查看crontab計劃任務(wù)[root@localhost~]#crontab-l03**6/usr/sbin/shutdown-r-t180003**6/usr/bin/systemctlrestarthttpd備份數(shù)據(jù)庫任務(wù)6-3任務(wù)6-3備份數(shù)據(jù)庫
先定一個小目標(biāo)!掌握crontab命令的使用,能夠使用crontab命令制定備份數(shù)據(jù)庫計劃任務(wù)(1)編寫dbbackup.sh文件#!/bin/bashtime=`date+%Y%m%d_%H%M%S`#數(shù)據(jù)庫配置信息#user=root#passwd=123456dbname=sysmysql_back_path=/home/dbbackup#備份/usr/bin/mysqldump$dbname>$mysql_back_path/$time.sql任務(wù)6-3備份數(shù)據(jù)庫實現(xiàn)步驟編寫dbbackup.sh文件時,需要注意以下幾點:①在dbbackup.sh文件中,變量與“=”符號之間,不要有空格,否則腳本會將變量當(dāng)命令執(zhí)行。②獲取日期時間時,date命令與“+”符號之間,要有一個空格,否則系統(tǒng)會報錯誤:./dbbackup.sh:行2:date+%Y%m%d_%H%M%S:未找到命令。③在dbbackup.sh腳本中,為了安全,在/usr/bin/mysqldump命令后面并沒有指定數(shù)據(jù)庫用戶名和密碼,而是直接指定了數(shù)據(jù)庫名,數(shù)據(jù)庫用戶名與密碼在/etc/f文件中配置。任務(wù)6-3備份數(shù)據(jù)庫注意:在/etc/f文件添加如下內(nèi)容完成數(shù)據(jù)庫用戶名與密碼配置。任務(wù)6-3備份數(shù)據(jù)庫[client]host=localhostuser=rootpassword=123456(2)在cronjob文件中添加dbbackup.sh腳本執(zhí)行的定時任務(wù)。任務(wù)6-3備份數(shù)據(jù)庫[root@localhost~]#vimcronjob03**6/usr/sbin/shutdown-r-t180003**6/usr/bin/systemctlrestarthttpd00***/root/dbbackup.sh實現(xiàn)步驟項目小結(jié)在本項目中,通過制定3個定時任務(wù),對進程與計劃任務(wù)相關(guān)知識進行了一次系統(tǒng)學(xué)習(xí)。首先學(xué)習(xí)了進程的相關(guān)知識,包括進程概念、進程狀態(tài)和進程標(biāo)識符;其次學(xué)習(xí)了進程管理的常用命令,包括進程查看命令和進程終止命令;然后學(xué)習(xí)了任務(wù)的前臺與后臺調(diào)度;接著學(xué)習(xí)了服務(wù)管理;最后學(xué)習(xí)了計劃任務(wù),包括由at命令執(zhí)行的一次性計劃任務(wù)、由crontab命令執(zhí)行的周期性計劃任務(wù)。進程管理是高效使用Linux系統(tǒng)的必備知識,通過本項目的學(xué)習(xí),讀者應(yīng)當(dāng)對Linux操作系統(tǒng)又有了進一步的認識,并為后續(xù)學(xué)習(xí)打下堅實基礎(chǔ)。項目7
管理磁盤《Linux網(wǎng)絡(luò)操作系統(tǒng)項目化教程》學(xué)習(xí)目標(biāo)/Target了解磁盤命名規(guī)則,能夠認識每個磁盤名稱的含義掌握df與du命令,能夠熟練使用這兩個命令查看磁盤使用情況了解磁盤添加的方法,能夠在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項目導(dǎo)入隨著招入的學(xué)生越來越多,咨詢招生部門的數(shù)據(jù)已經(jīng)存儲不下,需要更換磁盤,因此請求技術(shù)支持部門的幫助。上級領(lǐng)導(dǎo)安排邦小苑負責(zé)對接此事,有什么搞不明白的問題可以直接問安安和Lily。更換磁盤涉及磁盤與磁盤分區(qū),而對于磁盤管理,邦小苑還算是有些基礎(chǔ)??紤]到咨詢招生部門搭建的小型存儲器是用于存儲學(xué)生信息的,但學(xué)生信息會越來越多,固定的磁盤分區(qū)不能滿足存儲需求,需要具備隨時擴容的條件,這就得創(chuàng)建LVM邏輯卷。項目導(dǎo)入邦小苑把想法和安安溝通了一下,安安想了想說,對于咨詢招生部門,學(xué)生信息是核心數(shù)據(jù),學(xué)生信息的存儲既要保證安全又要保證讀寫速度,就得做好數(shù)據(jù)冗余備份處理,可以采用RAID磁盤陣列技術(shù)存儲數(shù)據(jù)。根據(jù)安安的指點,邦小苑將本次任務(wù)劃分成了兩個子任務(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ī)則
先定一個小目標(biāo)!了解磁盤命名規(guī)則,能夠說出每個磁盤名稱的含義7.1.1磁盤設(shè)備命名規(guī)則Linux操作系統(tǒng)中的磁盤設(shè)備也是文件,磁盤設(shè)備文件存儲在/dev目錄下,用戶可以進入/dev目錄查看磁盤設(shè)備文件。其實,除了磁盤設(shè)備,其他所有的硬件設(shè)備文件都存儲在/dev目錄下。Linux操作系統(tǒng)中的磁盤設(shè)備的命名遵循以下規(guī)則:/dev/存儲設(shè)備類型+磁盤編號+分區(qū)編號格式7.1.1磁盤設(shè)備命名規(guī)則(1)存儲設(shè)備類型Linux系統(tǒng)的存儲設(shè)備類型包括IDE、SATA、USB、SCSI等,其中,IDE設(shè)備在Linux系統(tǒng)中被識別為hd;SATA、USB、SCSI設(shè)備在Linux系統(tǒng)中被識別為sd。由于IDE存儲設(shè)備逐漸被淘汰,所以/dev目錄下可能沒有hd開頭的存儲設(shè)備文件。/dev/存儲設(shè)備類型+磁盤編號+分區(qū)編號格式7.1.1磁盤設(shè)備命名規(guī)則/dev/存儲設(shè)備類型+磁盤編號+分區(qū)編號格式(2)磁盤編號如果系統(tǒng)中有多個不同類型的磁盤設(shè)備,這些磁盤將會按照添加的順序,使用小寫的英文字母依次編號。例如,如果系統(tǒng)中有兩塊sd磁盤,則第一塊磁盤編號為sda,第二塊磁盤編號為sdb。7.1.1磁盤設(shè)備命名規(guī)則/dev/存儲設(shè)備類型+磁盤盤編號+分區(qū)編號格式(3)分區(qū)編號一個磁盤可以有多個分區(qū),這些分區(qū)使用阿拉伯?dāng)?shù)字進行編號。例如,如果第一塊磁盤劃分為了4個分區(qū),那么第一個分區(qū)的設(shè)備文件名為sda1,第二個分區(qū)的設(shè)備文件名為sda2,第三個分區(qū)的設(shè)備文件名為sda3,第四個分區(qū)的設(shè)備文件名為sda4。7.1.1磁盤設(shè)備命名規(guī)則系統(tǒng)中有一塊磁盤sda。磁盤有兩個分區(qū),分別是sda1和sda2。示例進入/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命令是通過搜索文件或者目錄來計算每個文件或目錄的大小,然后進行累加。7.1.2查看磁盤使用情況df命令可以查看磁盤的使用情況,包括磁盤容量、已用空間大小、可用空間大小、磁盤使用率等信息。1.df命令格式df選項磁盤設(shè)備選項說明-h以用戶易讀的格式顯示磁盤使用情況,如單位為GB、MB、KB等。-l只顯示本地文件系統(tǒng)-T顯示文件系統(tǒng)類型df命令常用選項7.1.2查看磁盤使用情況案例7-1查看/dev/sda1的使用情況。[root@localhost~]#df-h/dev/sda1文件系統(tǒng)
容量
已用
可用
已用% 掛載點/dev/sda1976M 193M 717M 22% /boot7.1.2查看磁盤使用情況2.du命令du命令用于查看文件或目錄的磁盤占用情況。格式du選項磁盤設(shè)備du命令常用選項選項說明-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)計結(jié)果不一致在實際應(yīng)用中,往往會出現(xiàn)df命令與du命令統(tǒng)計結(jié)果不一致的問題。例如,分別使用df命令和du命令統(tǒng)計/dev/sda1磁盤設(shè)備的使用情況,命令及輸出結(jié)果如下:[root@localhost~]#du-h/dev/sda10 /dev/sda1[root@localhost~]#df-h/dev/sda1文件系統(tǒng)
容量
已用
可用
已用% 掛載點/dev/sda1976M 193M 717M 22% /boot7.1.2查看磁盤使用情況df命令與du命令統(tǒng)計結(jié)果不一致出現(xiàn)上述問題的原因是兩個命令的統(tǒng)計范圍不一樣。df命令在統(tǒng)計磁盤設(shè)備時可以統(tǒng)計到已經(jīng)刪除的文件,但du命令只統(tǒng)計當(dāng)前存在的文件。例如,當(dāng)刪除一個文件時,文件并不會立即釋放所占用的空間,只是暫時無法使用,只有到最后所有程序都不再使用該文件,操作系統(tǒng)才會按照規(guī)則釋放該文件所占用的空間。df命令在統(tǒng)計時會統(tǒng)計該文件,但du命令不對該文件進行統(tǒng)計,因此,df命令與du命令的統(tǒng)計結(jié)果往往不一致。添加磁盤7.27.2添加磁盤
先定一個小目標(biāo)!熟悉磁盤添加,能夠在Linux系統(tǒng)中正確添加磁盤7.2添加磁盤在Linux操作系統(tǒng)中,一塊磁盤需要經(jīng)過分區(qū)、格式化、掛載操作之后才能使用。為了后面更好的講解磁盤分區(qū)、格式化、掛載與卸載操作,下面以一塊新的磁盤為例,演示如何在虛擬機中添加磁盤。STEP01選中虛擬機,單擊右鍵→設(shè)置,彈出虛擬機設(shè)置對話框。7.2添加磁盤STEP02在“硬件”選項卡中,選中“硬盤(SCSI)20GB”選項,然后單擊下方的“添加”按鈕,彈出添加硬件向?qū)υ捒颉?.2添加磁盤選擇硬件類型為硬盤,然后單擊“下一步”按鈕,進入選擇磁盤類型界面。STEP037.2添加磁盤勾選“SCSI(S)”虛擬磁盤類型,然后單擊“下一步”按鈕,進入選擇磁盤界面。STEP047.2添加磁盤勾選“創(chuàng)建新虛擬磁盤(V)”選項,然后單擊“下一步”按鈕,進入指定磁盤容量界面。STEP057.2添加磁盤設(shè)置最大磁盤大小為20GB,讀者也可以設(shè)置其他數(shù)值,勾選“將虛擬磁盤存儲拆分成多個文件(M)”選項,然后單擊“下一步”按鈕,進入指定磁盤文件界面。單擊“完成”按鈕,返回虛擬機設(shè)置界面,再單擊“確定”按鈕,完成磁盤添加。STEP067.2添加磁盤磁盤添加成功后,重啟系統(tǒng),磁盤才能識別。系統(tǒng)重啟后,進入/dev目錄查看,可以看到sdb設(shè)備文件。[root@localhostdev]#ls…cpu_dma_latencylp2sdatty14tty33tty52uinputvhcidisklp3sda1tty15tty34tty53urandomvhost-netdm-0mappersda2tty16tty35tty54usbmon0vhost-vsockdm-1mcelogsdbtty17tty36tty55usbmon1vmcidmmidimemsg0tty18tty37tty56usbmon2vsock…磁盤分區(qū)7.37.3磁盤分區(qū)STEP06無論是Windows系統(tǒng)還是Linux系統(tǒng),一塊新的磁盤無法直接使用,需要先對磁盤進行分區(qū)。磁盤分區(qū)有利于數(shù)據(jù)的分類存儲,管理員可以根據(jù)文件類型、文件數(shù)量和文件大小等因素,合理規(guī)劃磁盤空間,以提高磁盤使用率與讀取速率。Linux系統(tǒng)有兩種常用的磁盤分區(qū)方式,分別是MBR和GPT。7.3.1MBR分區(qū)規(guī)則
先定一個小目標(biāo)!了解MBR分區(qū)規(guī)則,能夠說出MBR分區(qū)規(guī)則與分區(qū)特點7.3.1MBR分區(qū)規(guī)則MBR全稱為MasterBootRecord,即主引導(dǎo)記錄,在MBR分區(qū)方式中,第一個扇區(qū)是最重要的,它記錄了3部分信息,分別是主引導(dǎo)記錄、分區(qū)表信息和結(jié)束符。主引導(dǎo)記錄:包括引導(dǎo)代碼和磁盤簽名兩部分,共占用446字節(jié)空間。分區(qū)表:占用64字節(jié)空間,記錄了磁盤分區(qū)信息,每記錄一個分區(qū)信息就需要占用16字節(jié)空間,因此第1扇區(qū)中最多只能寫入4個分區(qū)信息,這4個分區(qū)就是主分區(qū)。結(jié)束符:占用2字節(jié)空間。7.3.1MBR分區(qū)規(guī)則第一扇區(qū)數(shù)據(jù)信息7.3.1MBR分區(qū)規(guī)則一塊磁盤設(shè)備最多只能有4個主分區(qū),即便這4個分區(qū)的容量和小于磁盤總?cè)萘?,也無法再為剩余空間分區(qū)。但是一塊磁盤只有4個分區(qū),遠遠無法滿足系統(tǒng)數(shù)據(jù)的存儲管理,為此,MBR提出了擴展分區(qū)的概念。將第1扇區(qū)中的一個分區(qū)指向另一個分區(qū),即將原本要寫入主分區(qū)信息的空間,寫入另一個分區(qū)的信息,該主分區(qū)指向的另一個分區(qū)就稱為擴展分區(qū),在擴展分區(qū)中可以分出多個邏輯分區(qū),以滿足用戶需求。7.3.1MBR分區(qū)規(guī)則擴展分區(qū)結(jié)構(gòu)在MBR分區(qū)中,編號1~4被預(yù)留給主分區(qū),因此邏輯分區(qū)的編號一定從5開始,即使主分區(qū)數(shù)量不足4個,邏輯分區(qū)編號也是從5開始。7.3.2MBR分區(qū)管理
先定一個小目標(biāo)!掌握MBR分區(qū),能夠使用MBR規(guī)則完成磁盤分區(qū)7.3.2MBR分區(qū)管理在Linux系統(tǒng)中,如果使用MBR方式創(chuàng)建分區(qū),可以通過fdisk命令對磁盤分區(qū)進行管理。fdisk命令的功能包括創(chuàng)建分區(qū)、刪除分區(qū)、查看分區(qū)等。fdisk命令常用選項選項說明-l顯示磁盤及分區(qū)詳細信息-s顯示磁盤分區(qū)容量(單位為block)fdisk選項磁盤格式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個扇區(qū)單元:扇區(qū)/1*512=512字節(jié)扇區(qū)大小(邏輯/物理):512字節(jié)/512字節(jié)┄磁盤標(biāo)識符:0xc1df62f設(shè)備
啟動
起點
末尾
扇區(qū)
大小Id類型/dev/sda1*2048209919920971521G83Linux/dev/sda22099200419430393984384019G8eLinuxLVM[root@localhost~]#fdisk-l/dev/sdb #查看/dev/sdb磁盤分區(qū)情況Disk/dev/sdb:20GiB,21474836480字節(jié),41943040個扇區(qū)單元:扇區(qū)/1*512=512字節(jié)扇區(qū)大小(邏輯/物理):512字節(jié)/512字節(jié)I/O大小(最小/最佳):512字節(jié)/512字節(jié)7.3.2MBR分區(qū)管理fdisk命令通過選項只能實現(xiàn)磁盤分區(qū)的簡單管理,若要使用fdisk命令創(chuàng)建、刪除磁盤分區(qū)等,需要進入fdisk命令的交互界面。在終端輸入“fdisk磁盤”即可進入交互界面。[root@localhost~]#fdisk/dev/sdb #進入交互界面,操作/dev/sdb磁盤
歡迎使用fdisk(util-linux2.32.1)。更改將停留在內(nèi)存中,直到您決定將更改寫入磁盤。使用寫入命令前請三思。
設(shè)備不包含可識別的分區(qū)表。創(chuàng)建了一個磁盤標(biāo)識符為0x488a6922的新DOS磁盤標(biāo)簽。
命令(輸入m獲取幫助):7.3.2MBR分區(qū)管理fdisk交互界面常用的命令快捷鍵選項說明d刪除分區(qū)F列出未分區(qū)的空閑區(qū)l列出已知分區(qū)類型n添加新分區(qū)p打印分區(qū)表i打印某個分區(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個字節(jié),41940992個扇區(qū)單元:扇區(qū)/1*512=512字節(jié)扇區(qū)大小(邏輯/物理):512字節(jié)/512字節(jié)
起點
末尾
扇區(qū)
大小2048419430394194099220G命令(輸入m獲取幫助):有20GB未分區(qū)的空閑空間示例7.3.2MBR分區(qū)管理創(chuàng)建主分區(qū)。命令(輸入m獲取幫助):n #創(chuàng)建分區(qū)┄上個扇區(qū),+sectors或+size{K,M,G,T,P}(2048-41943039,默認41943039):+2G創(chuàng)建了一個新分區(qū)1,類型為“Linux”,大小為2GiB。命令(輸入m獲取幫助):p #打印分區(qū)表,查看分區(qū)情況┄設(shè)備
啟動
起點
末尾
扇區(qū)
大小Id類型/dev/sdb12048419635141943042G83Linux命令(輸入m獲取幫助):示例7.3.2MBR分區(qū)管理創(chuàng)建邏輯分區(qū)(中間輸出省略)。示例命令(輸入m獲取幫助):n #創(chuàng)建擴展分區(qū)選擇
(默認p):e #選擇擴展分區(qū)分區(qū)號(2-4,默認2):3 #設(shè)置擴展分區(qū)編號為3命令(輸入m獲取幫助):n #創(chuàng)建第1個邏輯分區(qū)選擇(默認p):l #選擇邏輯分區(qū)命令(輸入m獲取幫助):n #創(chuàng)建第2個邏輯分區(qū)選擇(默認p):l #選擇邏輯分區(qū)添加邏輯分區(qū)
6命令(輸入m獲取幫助):p #打印分區(qū)表,查看分區(qū)情況┄7.3.2MBR分區(qū)管理刪除分區(qū)。命令(輸入m獲取幫助):d #刪除分區(qū)分區(qū)號(1,3,5,6,默認6):6 #指定分區(qū)編號分區(qū)5已刪除。命令(輸入m獲取幫助):p #打印分區(qū)編號,查看分區(qū)情況┄設(shè)備
啟動
起點
末尾
扇區(qū)
大小Id類型/dev/sdb12048419635141943042G83Linux/dev/sdb3419635214682111104857605G5擴展/dev/sdb583947521468211162873603G83Linux示例7.3.2MBR分區(qū)管理退出。[root@localhost~]#fdisk-l/dev/sdb
//退出后,使用fdisk命令查看/dev/sdb分區(qū)Disk/dev/sdb:20GiB,21474836480字節(jié),41943040個扇區(qū)單元:扇區(qū)/1*512=512字節(jié)扇區(qū)大小(邏輯/物理):512字節(jié)/512字節(jié)I/O大小(最小/最佳):512字節(jié)/512字節(jié)磁盤標(biāo)簽類型:dos磁盤標(biāo)識符:0x2a94e1f8設(shè)備
啟動
起點
末尾
扇區(qū)大小Id類型/dev/sdb12048419635141943042G83Linux/dev/sdb3419635214682111104857605G5擴展/dev/sdb54198400839270341943042G83Linux示例7.3.3GPT分區(qū)規(guī)則
先定一個小目標(biāo)!了解GPT分區(qū)規(guī)則,能夠說出GPT分區(qū)規(guī)則及特點GPT(GUIDPartitionTable,全局唯一標(biāo)識分區(qū)表)是一種較新的分區(qū)方式,它兼容MBR,能夠處理超過2TB的磁盤。另外,GPT突破了MBR只有4個主分區(qū)的限制,最多可以有128個主分區(qū),每個分區(qū)的容量也可以超過2TB。GPT磁盤分區(qū)結(jié)構(gòu)由6部分組成,包括保護MBR、GPT頭、分區(qū)表、分區(qū)區(qū)域、分區(qū)表備份、GPT頭備份。7.3.3GPT分區(qū)規(guī)則7.3.3GPT分區(qū)規(guī)則保護MBR位于GPT磁盤的第一個扇區(qū)(0號扇區(qū)),由磁盤簽名、MBR分區(qū)表和結(jié)束符組成,它的作用是阻止不能識別GPT分區(qū)的磁盤工具試圖對磁盤進行分區(qū)或格式化等操作,因此該扇區(qū)被稱為保護MBR。GPT頭位于GPT磁盤的第二個扇區(qū)(1號扇區(qū)),用于定義分區(qū)表的起始位置、結(jié)束位置和分區(qū)表項的大小。此外,GPT頭還包含分區(qū)表的校驗和,這樣可以及時發(fā)現(xiàn)錯誤。7.3.3GPT分區(qū)規(guī)則分區(qū)表位于GPT磁盤的第2~33號扇區(qū),一共占用32個扇區(qū)。分區(qū)表可以定義分區(qū)項,每個分區(qū)占用128字節(jié)空間,因此,磁盤可以創(chuàng)建128個分區(qū)。每個分區(qū)項包含分區(qū)起始地址、結(jié)束地址、類型值、分區(qū)名稱、屬性標(biāo)志、GUID值等。分區(qū)區(qū)域就是用戶使用的分區(qū),即用戶存儲數(shù)據(jù)的區(qū)域,它是占用空間最大的區(qū)域。分區(qū)區(qū)域的起始地址和結(jié)束地址由分區(qū)表定義。7.3.3GPT分區(qū)規(guī)則分區(qū)表備份位于分區(qū)區(qū)域后,它是分區(qū)表32個扇區(qū)的完整備份,如果分區(qū)表遭到破壞,系統(tǒng)會自動讀取分區(qū)表備份,能夠保證正常識別分區(qū)。GPT頭備份位于GPT磁盤最后一個扇區(qū),但GPT頭的備份并非完全與GPT頭相同,有些信息可能會有些出入。7.3.4GPT分區(qū)管理
先定一個小目標(biāo)!掌握GPT分區(qū),能夠使用GPT規(guī)則完成磁盤分區(qū)7.3.4GPT分區(qū)管理GPT分區(qū)可以使用parted命令實現(xiàn)。parted命令是GNU開發(fā)的一款功能強大的磁盤管理工具,既可以管理MBR分區(qū),也可以管理GPT分區(qū),但通常用來管理GPT分區(qū)。parted命令有命令行和交互模式兩種用法,但交互模式更為常用。進入parted命令交互模式的語法如下:parted磁盤格式7.3.4GPT分區(qū)管理在parted交互模式下,可以使用交互命令完成磁盤分區(qū)的管理。parted交互命令很多,這些命令在交互模式下和命令行模式下用法相同。(1)選擇分區(qū)類型mklabel分區(qū)類型格式(2)查看分區(qū)信息print格式(3)創(chuàng)建分區(qū)mkpart分區(qū)名稱起始點結(jié)束點格式(4)刪除分區(qū)格式rm分區(qū)編號7.3.4GPT分區(qū)管理下面將虛擬機還原至剛添加/dev/sdb磁盤的狀態(tài),以/dev/sdb磁盤分區(qū)為例,演示parted命令的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年行政單位合同業(yè)務(wù)流程創(chuàng)新與執(zhí)行監(jiān)督合同3篇
- 體育場館車庫租用合同
- 2024年網(wǎng)絡(luò)安全技術(shù)產(chǎn)品買賣框架協(xié)議范本3篇
- 制造業(yè)應(yīng)屆生聘用合同管理
- 鋼鐵廠地面施工協(xié)議
- 箱包行業(yè)節(jié)能減排資源管理辦法
- 木工工程合作協(xié)議
- 水果收購合同
- 城鎮(zhèn)公共場所安全風(fēng)險評估規(guī)定
- 2024年船舶租賃運輸合同
- 《格林童話》課外閱讀試題及答案
- 重型再生障礙性貧血造血干細胞移植治療課件
- 私立民辦高中學(xué)校項目投資計劃書
- 《電機與電氣控制技術(shù)》教學(xué)設(shè)計及授課計劃表
- “銷售技巧課件-讓你掌握銷售技巧”
- 2019北師大版高中英語選修一UNIT 2 單詞短語句子復(fù)習(xí)默寫單
- 房地產(chǎn)項目保密協(xié)議
- 汽車配件產(chǎn)業(yè)園項目商業(yè)計劃書
- 2023年云南省初中學(xué)業(yè)水平考試 物理
- 【安吉物流股份有限公司倉儲管理現(xiàn)狀及問題和優(yōu)化研究15000字(論文)】
- 2023年污水站設(shè)備維修 污水處理廠設(shè)備維護方案(五篇)
評論
0/150
提交評論