登出與關機
當使用者登入後,要變更使用者可輸入 logout 登出後再以其他的帳號登入, exit 也可登出,但兩者有差異
logout 登出
登出目前的使用者指令為 logout ,登出後可更換其他的帳號再登入。
exit 退出目前的 shell
exit = logout 也是登出,事實上並不正確。exit 正確來說是『退出目前的 shell』,因大部分的情況使用者只用一種 shell,所以退出目前的 shell是等於logout,但如果有 子 shell 就不成立了。
例如目前登入是預設的 shell (稱父 shell),但為了某個 shell 才有的功能或要執行某個 shell 所寫的 Script file (腳本語言)需載入其他的 shell (稱子 shell)。 在子 shell 下輸入 exit 是回到父 shell,並不是登出,回到父 shell 後就能用 logout/exit 登出了。
例: ubuntu@ubuntu:~$ echo $SHELL<-查詢目前的 shell (父 shell) /bin/bash ←目前為 Bourne shell (bash)
ubuntu@ubuntu:~$ cat /etc/shells <-查詢有那些 shell 可用
/etc/shells: valid login shells
/bin/sh /bin/dash /bin/bash /bin/rbash /usr/bin/tmux /usr/bin/screen
ubuntu@ubuntu:~$ dash<-輸入可用的 shell(除了 nologin) $ <-進入不同的shell環境 logout $ logout ←用 logout 登出看看 dash: 1: logout: not found $ exit←退出目前的 shell ubuntu@ubuntu:~$ <-提示符號改變,回父 shell 的登入符號 再次logout logout ←此時即可用 logout 登出系統了
關機 poweroff 關機
指令 poweroff 為關掉所有執行中的程序,並將緩衝記憶體資料存到硬碟,主機符合 ACPI (Advanced Configuration and Power Interface,進階組態與電源介面)便可自動關掉 PC 電源。
halt 關機
傳統的 Unix 可沒 poweroff 這指令可在關機時順便關掉 PC 電源,因當時沒ACPI, halt 為 Unix 傳統的關機指令功能與 poweroff 相同但不會自動切斷 PC 電源, halt 只會關掉所有軟體程式,需要手動按 PC 的開關來關電源。
關閉所有程序,但沒有關閉電源
reboot 重開機
同 poweroff,但 reboot 指令會重新開機。
shutdown 關機
傳統的 UNIX,隨時有許多人登入使用,一般的登入者是不可以下關機指令的,要關機只有經授權的帳號或系統管理員才可下 shutdown 指令來關機。
shutdown 的用法
語法:shutdown [-otpiton][時間(hh:mm) 或 (+m) 或 (now)]['訊息']
-F 重開機時強迫用 fsck 檢查 partition
-k 只送訊息給其他登入的使用者,但不關機
-h 關掉所有執行中的程序後關機
-r 關機後重開機 (同 reboot 指令) 其中時間的選項可為 hh:mm: 明確的標示時間表示法。
如 shutdown -h 10:05 表示 10 點 05 分會自動關機。 +m: 為幾分鐘後,m 為數字。 如 shutdown -r +5 'The system will reboot after 5 minutes' 表示 5 分鐘後重新開機,並傳送 The system will reboot after 5 minutes 給每一登入的使用者 ,+號是可省略的,如 shutdown -h 5 表示 5 分鐘後自動關機。
now:表示立即。
此外,如閞機時間還沒到,後悔了可按 來停止關機哦。
例: shutdown -h now ←立刻關機
shutdown -h +10 ←設 10 分鐘後會關機
Ctrl+C ←如時間還沒到,可按 來停止關機
Shutdown cancelled.←shutdown 指令被 中止了
例: shutdown -h 0 'hello' ←可加其他的訊息通知其他的登入者
shutdown -k now 'hello' ←不會真正關機,只是把訊息通知其他的登入者
shutdown -r 10:05 ←10:05會重開機
runlevel
ubuntu@ubuntu:~$ runlevel N 5
第一個字元 N 為之前的 runlevel,第二個字元 5 為目前的 runlevel,其中 runlevel 等級有時會用英文字母代表,如 N 表示 None 不存在的意思,S 表示 Single 單用戶模式)
例: (以 root 登入測試) init 0 ←關機指令用〝init 0〞(即 runlevel =0 來關機) init 6 ←reboot 重新開機 init 1 ←進入維護模式
Last updated