在說shutdown命令之前
先說一下sync命令:
sync:將內存中尚未寫入硬盤的數據寫入硬盤
因為linux為了保證數據讀寫速度,把常用的數據放在內存中,不會立即寫入硬盤,如果有不當關機,這些數據就會丟失
所以在執行shutdown、reboot之類的命令之前,應當多執行幾次sync命令來保證數據不丟失(雖然shutdown和reboot命令執行之后會自動執行sync,但是還是小心一些為好)
shutdown命令:
可搭配參數:
-t :后面跟數字,也就是“幾秒之后關機”的意思,單位是秒(除了此指令后面的數字單位是秒,其他指令后面數字單位都是分鍾,)
-k :不是真正的關機,但是會向當前所有在線用戶發送指令后面跟着的語句“語句用單引號包裹”(其他指令后面默認可以跟隨語句——不過我試了一下好像沒用?網上也沒有找到資料,等接觸到了再來更新~)
-r :將系統服務停止之后重啟機器
-h :關掉系統服務之后立即關機(后面可以跟上數字,單位是分鍾,也可以跟指令執行時刻,格式為xx:xx)
-n :不經過init程序,直接通過shutdown命令關機(此處對於init程序理解不是很深,需要重新學習)
-f :關機並且開機之后強制略過fsck磁盤檢查
-F :系統重啟之后,強制進行fsck磁盤檢查
-c :取消已經在進行的shutdown命令內容(撤銷關機——但是對於t參數為0或者now的關機指令不起作用)
常用的就是"sync;sync; sudo shutdown -h now"
也就是將內存內數據寫入硬盤之后立即關機的意思