ctrl+c和ctrl+z都是中斷命令,但是他們的作用卻不一樣.
ctrl+c是強制中斷程式的執行,,程序已經終止。
ctrl+z的是將任務中止(暫停的意思),但是此任務並沒有結束,他仍然在程序中他只是維持掛起的狀態,使用者可以使用fg/bg操作繼續前臺或後臺的任務,fg命令重新啟動前臺被中斷的任務,bg命令把被中斷的任務放在後臺執行.
例如:當你vi一個檔案是,如果需要用shell執行別的操作,但是你又不打算關閉vi,因為你得存檔推出,你可以簡單的按下ctrl+z,shell會將vi程序掛起~,當你結束了那個shell操作之後,你可以用fg命令繼續vi你的檔案。
ctrl-d 不是傳送訊號,而是表示一個特殊的二進位制值,表示 EOF。
注:在shell中,ctrl-d表示推出當前shell.
這幾個快捷鍵的確很相似,但是功能又不相同,簡單說下:
1、Ctrl+C比較暴力,就是傳送Terminal到當前的程式,比如你正在執行一個查詢功能,檔案正在查詢中,Ctrl+C就會強制結束當前的這個程序。
2、Ctrl+Z是把當前的程式掛起,暫停執行這個程式,比如你正在mysql終端中,需要出來搞點其他的檔案操作,又不想退出mysql終端(因為下次還得輸入使用者名稱密碼進入,挺麻煩),於是可以ctrl+z將mysql掛起,然後進行其他操作,然後輸入fg回車後就可以回來,當然可以掛起好多程序到後臺,然後fg 加編號就能把掛起的程序返回到前臺。當然,配合bg和fg命令進行前後臺切換會非常方便。
3、Ctrl+D 是傳送一個exit訊號,沒有那麼強烈,類似ctrl+C的操作,比如你從管理員root退回到你的普通使用者就可以這麼用
轉載>>>>>>>>>>>>>>Linux中ctrl+z 、ctrl+c、 ctrl+d區別 - 碼農程式設計進階筆記 - 部落格園 (cnblogs.com)