1.Shell命令的執行和進程
Shell 命令可以是內部或者外部命令。
內部(內置)命令(internal (built-in) command)的代碼本身就是shell進程的一部分。LINUX shell中的一些內部命令如.alias、bg、cd 、continue、echo 、exec 、exit 、fg 、jobs 、pwd 、set 、shift 、test 、time 、umask 、unset和wait。
外部命令是(external command)命令代碼以文件的形式出現的稱為;文件內容可以是二進制代碼或者shell腳本。通常使用的一些外部命令如grep、more 、cat 、mkdir 、rmdir 、ls 、sort 、ftp 、telnet 、lp和ps 。
shell先後使用fork和exec系統調用來執行一個外部二進制命令。
2.fork和exec
系統先用fork復制一個與父進程相同的暫存進程,這個進程與父進程的唯一區別是PID。然後暫存進程以exec方式加載實際要執行的程序。
3.進程有關命令
ps命令用來查看系統中運行的進程的各種屬性
top命令:實時監視CPU的活動狀態。該命令顯示系統中CPU密集型任務的狀態並且允許你交互地控制這些進程。
kill命令:終止指定PID的進程
4.作業管理
前台foreground執行:
當鍵入命令並敲<Enter>後,
•shell執行命令
•在當前命令執行結束即shell返回前,你不能執行任何命令。
需要運行一個要花費很長時間才能完成的LINUX命令(或者任一這樣的程序),當命令執行時,你無法做其它工作。
後台background執行命令
LINUX可以在執行命令的同時做其他工作
?在命令後面加上一個“與”操作符號(&),使該命令在後台操作。
?Linux內核中的文件機制
?硬鏈接和符號鏈接