linux下的關(guān)機(jī)命令使用方法如下:
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比平陰網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式平陰網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋平陰地區(qū)。費(fèi)用合理售后完善,10多年實(shí)體公司更值得信賴。
1、halt。用halt命令來關(guān)機(jī)時(shí),實(shí)際調(diào)用的是shutdown -h。halt 執(zhí)行時(shí)將殺死應(yīng)用進(jìn)程,執(zhí)行sync系統(tǒng)調(diào)用文件系統(tǒng)寫操作完成后就會(huì)停止內(nèi)核。
2、poweroff,指向halt的鏈接。
3、shutdown -h now,shutdown執(zhí)行它的工作是送信號(hào)〔signal〕給init程序,要求它改變 runlevel為run level 0 。(run level 0: 關(guān)機(jī))
4、init 0。init是所有進(jìn)程的祖先,是Linux系統(tǒng)操作中不可缺少的程序之一。它的進(jìn)程號(hào)始終為1,所以發(fā)送TERM信號(hào)給init會(huì)終止所有的用戶進(jìn)程,守護(hù)進(jìn)程等。shutdown 就是使用這種機(jī)制。init定義了8個(gè)運(yùn)行級(jí)別(runlevel),init 0為關(guān)機(jī),init 1為重啟。
5、reboot。reboot的工作過程差不多跟halt一樣﹐不過它是引發(fā)主機(jī)重啟,而halt是關(guān)機(jī)。
Linux中常用的關(guān)機(jī)和重新啟動(dòng)命令有shutdown、halt、reboot以及init,它們都可以達(dá)到關(guān)機(jī)和重新啟動(dòng)的目的,但是每個(gè)命令的內(nèi)部工作過程是不同的,下面將逐一進(jìn)行介紹。
1. shutdown
shutdown命令用于安全關(guān)閉Linux系統(tǒng)。有些用戶會(huì)使用直接斷掉電源的方式來關(guān)閉Linux,這是十分危險(xiǎn)的。因?yàn)長inux與Windows不同,其后臺(tái)運(yùn)行著許多進(jìn)程,所以強(qiáng)制關(guān)機(jī)可能會(huì)導(dǎo)致進(jìn)程的數(shù)據(jù)丟失,使系統(tǒng)處于不穩(wěn)定的狀態(tài),甚至?xí)p壞硬件設(shè)備。
執(zhí) 行shutdown命令時(shí),系統(tǒng)會(huì)通知所有登錄的用戶系統(tǒng)將要關(guān)閉,并且login指令會(huì)被凍結(jié),即新的用戶不能再登錄系統(tǒng)。使用shutdown命令可 以直接關(guān)閉系統(tǒng),也可以延遲指定的時(shí)間再關(guān)閉系統(tǒng),還可以重新啟動(dòng)。延遲指定的時(shí)間再關(guān)閉系統(tǒng),可以讓用戶有時(shí)間儲(chǔ)存當(dāng)前正在處理的文件和關(guān)閉已經(jīng)打開的 程序。
shutdown命令的部分參數(shù)如下:
[-t] 指定在多長時(shí)間之后關(guān)閉系統(tǒng)
[-r] 重啟系統(tǒng)
[-k] 并不真正關(guān)機(jī),只是給每個(gè)登錄用戶發(fā)送警告信號(hào)
[-h] 關(guān)閉系統(tǒng)(halt)
shutdown命令的工作實(shí)質(zhì)是給init程序發(fā)送信號(hào)(signal),要求其切換系統(tǒng)的運(yùn)行級(jí)別(Runlevel)。系統(tǒng)的運(yùn)行級(jí)別包括:
0:關(guān)閉系統(tǒng)
1:單用戶模式,如果沒有為shutdown命令指定-h或-r參數(shù)而直接執(zhí)行,則默認(rèn)將切換到此運(yùn)行級(jí)別
2:多用戶模式(不支持NFS)
3:多用戶模式(支持NFS),一般常用此種運(yùn)行級(jí)別
5:多用戶模式(GUI模式)
6:重新啟動(dòng)系統(tǒng)
2. halt
halt是最簡單的關(guān)機(jī)命令,其實(shí)際上是調(diào)用shutdown -h命令。halt執(zhí)行時(shí),殺死應(yīng)用進(jìn)程,文件系統(tǒng)寫操作完成后就會(huì)停止內(nèi)核。
halt命令的部分參數(shù)如下:
[-f] 沒有調(diào)用shutdown而強(qiáng)制關(guān)機(jī)或重啟
[-i] 關(guān)機(jī)或重新啟動(dòng)之前,關(guān)掉所有的網(wǎng)絡(luò)接口
[-p] 關(guān)機(jī)時(shí)調(diào)用poweroff,此選項(xiàng)為缺省選項(xiàng)
3.reboot
reboot的工作過程與halt類似,其作用是重新啟動(dòng),而halt是關(guān)機(jī)。其參數(shù)也與halt類似。
4.init
init是所有進(jìn)程的祖先,其進(jìn)程號(hào)始終為1。init用于切換系統(tǒng)的運(yùn)行級(jí)別,切換的工作是立即完成的。init 0命令用于立即將系統(tǒng)運(yùn)行級(jí)別切換為0,即關(guān)機(jī);init 6命令用于將系統(tǒng)運(yùn)行級(jí)別切換為6,即重新啟動(dòng)。
linux命令格式:
說明:command: 命令名,相應(yīng)功能的英文單詞或單詞的縮寫 [-options]:選項(xiàng),可用來對(duì)命令進(jìn)行控制,也可以省略,[]代表可選 parameter1 …:傳給命令的參數(shù):可以是零個(gè)一個(gè)或多個(gè)
一般是linux命令自帶的幫助信息
如:
man是linux提供的一個(gè)手冊(cè),包含了絕大部分的命令、函數(shù)使用說明
該手冊(cè)分成很多章節(jié)(section),使用man時(shí)可以指定不同的章節(jié)來瀏覽。
例:man ls ; man 2 printf
man中各個(gè)section意義如下:
man是按照手冊(cè)的章節(jié)號(hào)的順序進(jìn)行搜索的。
man設(shè)置了如下的功能鍵:
在敲出命令的前幾個(gè)字母的同時(shí),按下tab鍵,系統(tǒng)會(huì)自動(dòng)幫我們補(bǔ)全命令
當(dāng)系統(tǒng)執(zhí)行過一些命令后,可按上下鍵翻看以前的命令,history將執(zhí)行過的命令列舉出來
ls是英文單詞list的簡寫,其功能為列出目錄的內(nèi)容,是用戶最常用的命令之一,它類似于DOS下的dir命令。
Linux文件或者目錄名稱最長可以有265個(gè)字符,“.”代表當(dāng)前目錄,“..”代表上一級(jí)目錄,以“.”開頭的文件為隱藏文件,需要用 -a 參數(shù)才能顯示。
ls常用參數(shù):
Linux允許將命令執(zhí)行結(jié)果重定向到一個(gè)文件,本應(yīng)顯示在終端上的內(nèi)容保存到指定文件中。
如:ls test.txt ( test.txt 如果不存在,則創(chuàng)建,存在則覆蓋其內(nèi)容 )
注意: 輸出重定向會(huì)覆蓋原來的內(nèi)容,輸出重定向則會(huì)追加到文件的尾部。
查看內(nèi)容時(shí),在信息過長無法在一屏上顯示時(shí),會(huì)出現(xiàn)快速滾屏,使得用戶無法看清文件的內(nèi)容,此時(shí)可以使用more命令,每次只顯示一頁,按下空格鍵可以顯示下一頁,按下q鍵退出顯示,按下h鍵可以獲取幫助。
管道:一個(gè)命令的輸出可以通過管道做為另一個(gè)命令的輸入。
管道我們可以理解現(xiàn)實(shí)生活中的管子,管子的一頭塞東西進(jìn)去,另一頭取出來,這里“ | ”的左右分為兩端,左端塞東西(寫),右端取東西(讀)。
clear作用為清除終端上的顯示(類似于DOS的cls清屏功能),也可使用快捷鍵:Ctrl + l ( “l(fā)” 為字母 )。
在使用Unix/Linux的時(shí)候,經(jīng)常需要更換工作目錄。cd命令可以幫助用戶切換工作目錄。Linux所有的目錄和文件名大小寫敏感
cd后面可跟絕對(duì)路徑,也可以跟相對(duì)路徑。如果省略目錄,則默認(rèn)切換到當(dāng)前用戶的主目錄。
使用pwd命令可以顯示當(dāng)前的工作目錄,該命令很簡單,直接輸入pwd即可,后面不帶參數(shù)。
通過mkdir命令可以創(chuàng)建一個(gè)新的目錄。參數(shù)-p可遞歸創(chuàng)建目錄。
需要注意的是新建目錄的名稱不能與當(dāng)前目錄中已有的目錄或文件同名,并且目錄創(chuàng)建者必須對(duì)當(dāng)前目錄具有寫權(quán)限。
可使用rmdir命令刪除一個(gè)目錄。必須離開目錄,并且目錄必須為空目錄,不然提示刪除失敗。
可通過rm刪除文件或目錄。使用rm命令要小心,因?yàn)槲募h除后不能恢復(fù)。為了防止文件誤刪,可以在rm后使用-i參數(shù)以逐個(gè)確認(rèn)要?jiǎng)h除的文件。
常用參數(shù)及含義如下表所示:
Linux鏈接文件類似于Windows下的快捷方式。
鏈接文件分為軟鏈接和硬鏈接。
軟鏈接:軟鏈接不占用磁盤空間,源文件刪除則軟鏈接失效。
硬鏈接:硬鏈接只能鏈接普通文件,不能鏈接目錄。
使用格式:
如果沒有-s選項(xiàng)代表建立一個(gè)硬鏈接文件,兩個(gè)文件占用相同大小的硬盤空間,即使刪除了源文件,鏈接文件還是存在,所以-s選項(xiàng)是更常見的形式。
注意:如果軟鏈接文件和源文件不在同一個(gè)目錄,源文件要使用絕對(duì)路徑,不能使用相對(duì)路徑。
Linux系統(tǒng)中g(shù)rep命令是一種強(qiáng)大的文本搜索工具,grep允許對(duì)文本文件進(jìn)行模式查找。如果找到匹配模式, grep打印包含模式的所有行。
grep一般格式為:
在grep命令中輸入字符串參數(shù)時(shí),最好引號(hào)或雙引號(hào)括起來。例如:grep‘a(chǎn) ’1.txt。
常用選項(xiàng)說明:
find命令功能非常強(qiáng)大,通常用來在特定的目錄下搜索符合條件的文件,也可以用來搜索特定用戶屬主的文件。
常用用法:
cp命令的功能是將給出的文件或目錄復(fù)制到另一個(gè)文件或目錄中,相當(dāng)于DOS下的copy命令。
常用選項(xiàng)說明:
用戶可以使用mv命令來移動(dòng)文件或目錄,也可以給文件或目錄重命名。
常用選項(xiàng)說明:
計(jì)算機(jī)中的數(shù)據(jù)經(jīng)常需要備份,tar是Unix/Linux中最常用的備份工具,此命令可以把一系列文件歸檔到一個(gè)大文件中,也可以把檔案文件解開以恢復(fù)數(shù)據(jù)。
tar使用格式 tar [參數(shù)] 打包文件名 文件
tar命令很特殊,其參數(shù)前面可以使用“-”,也可以不使用。
常用參數(shù):
tar與gzip命令結(jié)合使用實(shí)現(xiàn)文件打包、壓縮。 tar只負(fù)責(zé)打包文件,但不壓縮,用gzip壓縮tar打包后的文件,其擴(kuò)展名一般用xxxx.tar.gz。
gzip使用格式如下:
gzip [選項(xiàng)] 被壓縮文件
常用選項(xiàng):
tar與bzip2命令結(jié)合使用實(shí)現(xiàn)文件打包、壓縮(用法和gzip一樣)。
tar只負(fù)責(zé)打包文件,但不壓縮,用bzip2壓縮tar打包后的文件,其擴(kuò)展名一般用xxxx.tar.gz2。
在tar命令中增加一個(gè)選項(xiàng)(-j)可以調(diào)用bzip2實(shí)現(xiàn)了一個(gè)壓縮的功能,實(shí)行一個(gè)先打包后壓縮的過程。
壓縮用法:tar -jcvf 壓縮包包名 文件...(tar jcvf bk.tar.bz2 *.c)
解壓用法:tar -jxvf 壓縮包包名 (tar jxvf bk.tar.bz2)
通過zip壓縮文件的目標(biāo)文件不需要指定擴(kuò)展名,默認(rèn)擴(kuò)展名為zip。
壓縮文件:zip [-r] 目標(biāo)文件(沒有擴(kuò)展名) 源文件
解壓文件:unzip -d 解壓后目錄文件 壓縮文件
whoami該命令用戶查看當(dāng)前系統(tǒng)當(dāng)前賬號(hào)的用戶名??赏ㄟ^cat /etc/passwd查看系統(tǒng)用戶信息。
由于系統(tǒng)管理員通常需要使用多種身份登錄系統(tǒng),例如通常使用普通用戶登錄系統(tǒng),然后再以su命令切換到root身份對(duì)傳統(tǒng)進(jìn)行管理。這時(shí)候就可以使用whoami來查看當(dāng)前用戶的身份。
who命令用于查看當(dāng)前所有登錄系統(tǒng)的用戶信息。
常用選項(xiàng):
如果是圖形界面,退出當(dāng)前終端;
如果是使用ssh遠(yuǎn)程登錄,退出登陸賬戶;
如果是切換后的登陸用戶,退出則返回上一個(gè)登陸賬號(hào)。
在Unix/Linux中添加用戶賬號(hào)可以使用adduser或useradd命令,因?yàn)閍dduser命令是指向useradd命令的一個(gè)鏈接,因此,這兩個(gè)命令的使用格式完全一樣。
useradd命令的使用格式如下:
useradd [參數(shù)] 新建用戶賬號(hào)
在Unix/Linux中,超級(jí)用戶可以使用passwd命令為普通用戶設(shè)置或修改用戶口令。用戶也可以直接使用該命令來修改自己的口令,而無需在命令后面使用用戶名。
可以通過su命令切換用戶,su后面可以加“-”。su和su –命令不同之處在于,su -切換到對(duì)應(yīng)的用戶時(shí)會(huì)將當(dāng)前的工作目錄自動(dòng)轉(zhuǎn)換到切換后的用戶主目錄:
注意:如果是ubuntu平臺(tái),需要在命令前加“sudo”,如果在某些操作需要管理員才能操作,ubuntu無需切換到root用戶即可操作,只需加“sudo”即可。sudo是ubuntu平臺(tái)下允許系統(tǒng)管理員讓普通用戶執(zhí)行一些或者全部的root命令的一個(gè)工具,減少了root 用戶的登陸和管理時(shí)間,提高了安全性。
方法一:
方法二:
groupadd 新建組賬號(hào) groupdel 組賬號(hào) cat /etc/group 查看用戶組
使用方法:usermod -g 用戶組 用戶名
新創(chuàng)建的用戶,默認(rèn)不能sudo,需要進(jìn)行一下操作
-g用來制定這個(gè)用戶默認(rèn)的用戶組
-G一般配合'-a'來完成向其它組添加
chmod 修改文件權(quán)限有兩種使用格式:字母法與數(shù)字法。
字母法:chmod u/g/o/a +/-/= rwx 文件
cal命令用于查看當(dāng)前日歷,-y顯示整年日歷
設(shè)置時(shí)間格式(需要管理員權(quán)限):
date [MMDDhhmm[[CC]YY][.ss]] +format
CC為年前兩位yy為年的后兩位,前兩位的mm為月,后兩位的mm為分鐘,dd為天,hh為小時(shí),ss為秒。如: date 010203042016.55。
顯示時(shí)間格式(date '+%y,%m,%d,%H,%M,%S'):
進(jìn)程是一個(gè)具有一定獨(dú)立功能的程序,它是操作系統(tǒng)動(dòng)態(tài)執(zhí)行的基本單元。
ps命令可以查看進(jìn)程的詳細(xì)狀況,常用選項(xiàng)(選項(xiàng)可以不加“-”)如下:
top命令用來動(dòng)態(tài)顯示運(yùn)行中的進(jìn)程。top命令能夠在運(yùn)行后,在指定的時(shí)間間隔更新顯示信息??梢栽谑褂胻op命令時(shí)加上-d 來指定顯示信息更新的時(shí)間間隔。
在top命令執(zhí)行后,可以按下按鍵得到對(duì)顯示的結(jié)果進(jìn)行排序:
kill命令指定進(jìn)程號(hào)的進(jìn)程,需要配合 ps 使用。有些進(jìn)程不能直接殺死,這時(shí)候我們需要加一個(gè)參數(shù)“ -9 ”,“ -9 ” 代表強(qiáng)制結(jié)束.
使用格式:
kill [-signal] pid
df命令用于檢測(cè)文件系統(tǒng)的磁盤空間占用和空余情況,可以顯示所有文件系統(tǒng)對(duì)節(jié)點(diǎn)和磁盤塊的使用情況。
du命令用于統(tǒng)計(jì)目錄或文件所占磁盤空間的大小,該命令的執(zhí)行結(jié)果與df類似,du更側(cè)重于磁盤的使用狀況。
du命令的使用格式如下: du [選項(xiàng)] 目錄或文件名
linux常用的20個(gè)命令:
1、ls命令
ls命令是列出目錄內(nèi)容(List Directory Contents)的意思。運(yùn)行它就是列出文件夾里的內(nèi)容,可能是文件也可能是文件夾。
2、lsblk命令
"lsblk"就是列出塊設(shè)備。除了RAM外,以標(biāo)準(zhǔn)的樹狀輸出格式,整齊地顯示塊設(shè)備。
3、查看一個(gè)程序是否運(yùn)行
ps –ef|grep tomcat //查看所有有關(guān)tomcat的進(jìn)程
4、終止線程
kill -9 19979 //終止線程號(hào)位19979的線程
5、查看文件,包含隱藏文件
ls -al
6、當(dāng)前工作目錄
pwd
7、創(chuàng)建目錄
mkdir newfolder
8、刪除目錄(此目錄是空目錄)
rmdir deleteEmptyFolder
9、刪除文件包括其子文件
rm -rf deleteFile
10、移動(dòng)文件
mv /temp/movefile /targetFolder//擴(kuò)展重命名 mv oldNameFile newNameFile
11、切換用戶
su -username
12、修改文件權(quán)限
chmod 777 file.java //file.java的權(quán)限-rwxrwxrwx,r表示讀、w表示寫、x表示可執(zhí)行
13、壓縮文件
tar -czf test.tar.gz /test1 /test2
14、列出壓縮文件列表
tar -tzf test.tar.gz
15、解壓文件
tar -xvzf test.tar.gz
16、查看文件頭10行
head -n 10 example.txt
17、查看文件尾10行
tail -n 10 example.txt
18、查看日志文件
tail -f exmaple.log //這個(gè)命令會(huì)自動(dòng)顯示新增內(nèi)容,屏幕只顯示10行內(nèi)容的(可設(shè)置)。
19、啟動(dòng)Vi編輯器
vi
20、查看系統(tǒng)當(dāng)前時(shí)間
date
命令會(huì)輸出 周幾 幾月 幾日 時(shí)間 和 時(shí)間顯示格式 和年份
Sat Feb 22 15:36:49 CST 2019
date +”%Y-%m-%d”
linux中關(guān)機(jī)命令
在linux下一些常用的關(guān)機(jī)/重啟命令有shutdown、halt、reboot、及init,它們都可以達(dá)到重啟系統(tǒng)的目的,但每個(gè)命令的內(nèi)部工作過程是不同的,通過本文的介紹,希望你可以更加靈活的運(yùn)用各種關(guān)機(jī)命令。
1.shutdown
shutdown命令安全地將系統(tǒng)關(guān)機(jī)。 有些用戶會(huì)使用直接斷掉電源的方式來關(guān)閉linux,這是十分危險(xiǎn)的。因?yàn)閘inux與windows不同,其后臺(tái)運(yùn)行著許多進(jìn)程,所以強(qiáng)制關(guān)機(jī)可能會(huì)導(dǎo) 致進(jìn)程的數(shù)據(jù)丟失﹐使系統(tǒng)處于不穩(wěn)定的狀態(tài)﹐甚至在有的系統(tǒng)中會(huì)損壞硬件設(shè)備。而在系統(tǒng)關(guān)機(jī)前使用shutdown命令﹐系統(tǒng)管理員會(huì)通知所有登錄的用戶 系統(tǒng)將要關(guān)閉。并且login指令會(huì)被凍結(jié)﹐即新的用戶不能再登錄。直接關(guān)機(jī)或者延遲一定的時(shí)間才關(guān)機(jī)都是可能的﹐還可能重啟。這是由所有進(jìn)程 〔process〕都會(huì)收到系統(tǒng)所送達(dá)的信號(hào)〔signal決定的。這讓像vi之類的程序有時(shí)間儲(chǔ)存目前正在編輯的文檔﹐而像處理郵件〔mail〕和新聞 〔news〕的程序則可以正常地離開等等。
shutdown執(zhí)行它的工作是送信號(hào)〔signal〕給init程序﹐要求它 改變r(jià)unlevel。Runlevel 0被用來停機(jī)〔halt〕﹐runlevel 6是用來重新激活〔reboot〕系統(tǒng)﹐而runlevel 1則是被用來讓系統(tǒng)進(jìn)入管理工作可以進(jìn)行的狀態(tài)﹔這是預(yù)設(shè)的﹐假定沒有-h也沒有-r參數(shù)給shutdown。要想了解在停機(jī)〔halt〕或者重新開機(jī) 〔reboot〕過程中做了哪些動(dòng)作﹐你可以在這個(gè)文件/etc/inittab里看到這些runlevels相關(guān)的資料。
shutdown 參數(shù)說明:
[-t] 在改變到其它runlevel之前﹐告訴init多久以后關(guān)機(jī)。 [-r] 重啟計(jì)算器。
[-k] 并不真正關(guān)機(jī)﹐只是送警告信號(hào)給每位登錄者〔login〕。 [-h] 關(guān)機(jī)后關(guān)閉電源〔halt〕。
[-n] 不用init﹐而是自己來關(guān)機(jī)。不鼓勵(lì)使用這個(gè)選項(xiàng)﹐而且該選項(xiàng)所產(chǎn)生的后果往往不總是你所預(yù)期得到的。
[-c] cancel current process取消目前正在執(zhí)行的關(guān)機(jī)程序。所以這個(gè)選項(xiàng)當(dāng)然沒有時(shí)間參數(shù)﹐但是可以輸入一個(gè)用來解釋的訊息﹐而這信息將會(huì)送到每位使用者。
[-f] 在重啟計(jì)算器〔reboot〕時(shí)忽略fsck。 [-F] 在重啟計(jì)算器〔reboot〕時(shí)強(qiáng)迫fsck。
[-time] 設(shè)定關(guān)機(jī)〔shutdown〕前的時(shí)間。 2.halt----最簡單的關(guān)機(jī)命令
其實(shí)halt就是調(diào)用shutdown -h。halt執(zhí)行時(shí)﹐殺死應(yīng)用進(jìn)程﹐執(zhí)行sync系統(tǒng)調(diào)用﹐文件系統(tǒng)寫操作完成后就會(huì)停止內(nèi)核。
參數(shù)說明:
[-n] 防止sync系統(tǒng)調(diào)用﹐它用在用fsck修補(bǔ)根分區(qū)之后﹐以阻止內(nèi)核用老版本的超級(jí)塊〔superblock〕覆蓋修補(bǔ)過的超級(jí)塊。
[-w] 并不是真正的重啟或關(guān)機(jī)﹐只是寫wtmp〔/var/log/wtmp〕紀(jì)錄。 [-d] 不寫wtmp紀(jì)錄〔已包含在選項(xiàng)[-n]中〕。 [-f] 沒有調(diào)用shutdown而強(qiáng)制關(guān)機(jī)或重啟。 [-i] 關(guān)機(jī)〔或重啟〕前﹐關(guān)掉所有的網(wǎng)絡(luò)接口。 [-p] 該選項(xiàng)為缺省選項(xiàng)。就是關(guān)機(jī)時(shí)調(diào)用poweroff。 3.reboot
reboot的工作過程差不多跟halt一樣﹐不過它是引發(fā)主機(jī)重啟﹐而halt是關(guān)機(jī)。它的參數(shù)與halt相差不多。
4.init
init是所有進(jìn)程的祖先﹐它的進(jìn)程號(hào)始終為1﹐所以發(fā)送TERM信號(hào)給init會(huì)終止所有的用戶進(jìn)程﹑守護(hù)進(jìn)程等。shutdown 就是使用這種機(jī)制。init定義了8個(gè)運(yùn)行級(jí)別(runlevel),init 0為關(guān)機(jī)﹐init 1為重啟。
終端模式 關(guān)機(jī)命令有學(xué)問
1.“shutdown”實(shí)現(xiàn)延遲關(guān)機(jī)
“shutdown”命令是在Linux文本模式(終端模式)下,使用最多的關(guān)機(jī)或重啟命令。其使用格式為:“[sudo] shutdown 參數(shù) 延遲時(shí)間”。
“參數(shù)”常用的有“-h”和“-r”,“-h”對(duì)應(yīng)關(guān)機(jī)操作,“-r”對(duì)應(yīng)系統(tǒng)重啟(使用“-r”參數(shù)時(shí),其功能與Linux系統(tǒng)中的另一個(gè)命令“reboot”功能類似)。
“延遲時(shí)間”是指從發(fā)出命令到真正執(zhí)行關(guān)機(jī)或重啟操作的延遲時(shí)間。又因該命
令的執(zhí)行,需要有管理員權(quán)限,所以如果當(dāng)前登錄用戶(如“root”用戶)具有該權(quán)限,則無須在“shutdown”命令前加“sudo”,否則需要加上。
“ shutdown”命令執(zhí)行后,將通知所有登錄用戶系統(tǒng)將要關(guān)閉,并停止新用戶的登錄請(qǐng)求,收到終止信號(hào)的用戶進(jìn)程或守護(hù)進(jìn)程也將安全地停止。
細(xì)心的讀者也許會(huì)發(fā)現(xiàn),在Windows系統(tǒng)中也存在一個(gè)“shutdown”命令,它的用法與Linux上的“shutdown”命令大同小異,不過需要注意的是它的參數(shù)與Linux上的“shutdown”命令有所不同,使用時(shí)要注意區(qū)分。另外,Windows系統(tǒng)中“shutdown”命令具有關(guān)閉遠(yuǎn)程計(jì)算機(jī)的功能,而Linux系統(tǒng)中的“shutdown”命令本身尚不具備該功能。雖然如此,后面我們會(huì)介紹如何在遠(yuǎn)程登錄軟件OpenSSH的幫助下,使用“shutdown”命令來實(shí)現(xiàn)關(guān)閉遠(yuǎn)程計(jì)算機(jī)的功能。
2.“poweroff”、“halt”命令 快速關(guān)機(jī)
“poweroff”與“halt”命令都是為與傳統(tǒng)System V保持兼容而采用的命令。在Linux系統(tǒng)中,如沒有指定特殊參數(shù),它們都將調(diào)用“shutdown”命令并附加“-h”參數(shù)來完成關(guān)機(jī)功能。該命令的執(zhí)行要求具有系統(tǒng)管理員權(quán)限。在GNOME終端窗口中直接輸入“sudo poweroff”或“sudo halt”命令,將直接關(guān)機(jī)。
3.“init”、“telinit” 終極關(guān)機(jī)命令
“init”命令用來切換系統(tǒng)運(yùn)行級(jí)別,傳統(tǒng)的System V將系統(tǒng)劃分為多個(gè)運(yùn)行級(jí)別,包括“0-6”7個(gè)級(jí)別:
“0”對(duì)應(yīng)系統(tǒng)停機(jī)狀態(tài);
“1”為單用戶狀態(tài),類似Windows的安全模式,常用于系統(tǒng)修復(fù); “2”為多用戶狀態(tài)(沒有NFS); “3”為完全多用戶狀態(tài)(含NFS); “4”為預(yù)留的運(yùn)行模式; “5”為多用戶圖形環(huán)境; “6”是系統(tǒng)重啟狀態(tài)。
很顯然,命令“init 0”的作用是由當(dāng)行運(yùn)行級(jí)別切換到關(guān)機(jī)狀態(tài),而實(shí)際執(zhí)行是向系統(tǒng)的“init”進(jìn)程發(fā)送終止信號(hào),因“init”進(jìn)程是系統(tǒng)中的“頂級(jí)”進(jìn)程,該進(jìn)程終止,意味著系統(tǒng)中的用戶進(jìn)程和守護(hù)進(jìn)程等同時(shí)終止,即實(shí)現(xiàn)了系統(tǒng)關(guān)機(jī)的功能。
與“init”命令功能相同的命令還有“telinit”命令。使用“telinit 0”命令也可以實(shí)現(xiàn)關(guān)機(jī)功能。值得指出的是,“init”與“telinit”命令的執(zhí)行均需要系統(tǒng)管理員權(quán)限。
遠(yuǎn)程關(guān)機(jī) SSH來幫忙
如前所述,Windows系統(tǒng)中的“shutdown”命令具有遠(yuǎn)程關(guān)機(jī)的功能,只要有
遠(yuǎn)程計(jì)算機(jī)上的具有關(guān)機(jī)權(quán)限的用戶賬號(hào)即可。那么,在Linux系統(tǒng)中如何實(shí)現(xiàn)遠(yuǎn)程關(guān)機(jī)呢?
如果要關(guān)閉網(wǎng)絡(luò)中的另一臺(tái)Linux計(jì)算機(jī),首先必須要有另一臺(tái)計(jì)算機(jī)上的用戶賬號(hào);其次,另一臺(tái)計(jì)算機(jī)支持遠(yuǎn)程登錄,如支持通過SSH安全登錄。這樣,我們可以輕松實(shí)現(xiàn)遠(yuǎn)程關(guān)機(jī)功能了。
假設(shè)遠(yuǎn)程計(jì)算機(jī)支持SSH遠(yuǎn)程登錄,則遠(yuǎn)程關(guān)閉該計(jì)算機(jī)的方法有兩種:一是登錄到該系統(tǒng)后運(yùn)行前面介紹的各種關(guān)機(jī)命令來進(jìn)行關(guān)機(jī);另一種是借助于“ssh”命令不用登錄也可以進(jìn)行關(guān)機(jī),“ssh”的命令格式為:“ssh –l user remotehost sudo shutdown –h now”。其中“user”為在遠(yuǎn)程計(jì)算機(jī)系統(tǒng)中擁有合法賬號(hào)的用戶,“remotehost”是遠(yuǎn)程計(jì)算機(jī)的合法域名或IP地址,“sudo shutdown –h now”則是在遠(yuǎn)程計(jì)算機(jī)上以管理員身份執(zhí)行關(guān)機(jī)命令。除了“shutdown”以外,像“halt”、“poweroff”、“init 0”等命令也均可以使用。