要執(zhí)行一個(gè)程式, 就像 DOS 一樣鍵入它的名字就可以了. 假如說(shuō)這個(gè)程式被放在 PATH(第四節(jié)) 指定的目錄 (第二節(jié)), 那麼該程式就會(huì)被啟動(dòng). 例外的是, linux 不像 DOS可以執(zhí)行放在現(xiàn)行目錄下的程式 (.) , 除非 . 已經(jīng)加入 PATH 中了. 若要執(zhí)行現(xiàn)行目錄下的程式, 可以這樣做: ./<PRog>.
這是一個(gè)標(biāo)準(zhǔn)命令的格式:
$ command -s1 -s2 ... -sn par1 par2 ... parn <input >output
-s1 , -s2 ... -sn 是命令選項(xiàng), parn 是程式參數(shù). 我們可以在同一行上鍵入數(shù)個(gè)命令:
$ command1 ; command2 ; ... ; commandn
這就是執(zhí)行命令的方法, 但是我們可以更進(jìn)一步. 一個(gè)使我們使用 Linux 的主要原因是, 它是一個(gè)多工的系統(tǒng) -- 它可以同時(shí)執(zhí)行數(shù)個(gè)程式 (以下, '程式'用'行程'代替)你可以將一個(gè)原本在背景執(zhí)行的行程提升到前景并繼續(xù)執(zhí)行. 而且, Linux 可以使你有多個(gè) session : 這就像同時(shí)有好幾臺(tái)電腦在工作!
- - 切換 session 1..8:
$ <ALT-F1> ... <ALT-F8>.
- - 開(kāi)始一個(gè)新的 session , 但不離開(kāi)原本 session :
$ su - <loginname>
例如:
$ su - root
這相當(dāng)有用. 比如, 當(dāng)你要 mount 一個(gè)磁碟(機(jī)) 時(shí). 因?yàn)橹挥?root可以作這件事.
- - 結(jié)束一個(gè) session:
$ exit
- - 在前景執(zhí)行一個(gè)行程:
$ progname [-switches] [parameters] [<input] [>output]
- - 在背景啟動(dòng)一個(gè)行程(在背景執(zhí)行) 要加上 '&' 這個(gè)符號(hào):
$ progname [-switches] [parameters] [<input] [>output] &
- - 查看有多少行程正在執(zhí)行:
$ ps
這樣會(huì)列出一個(gè)表格. 每一個(gè)行程都會(huì)有一個(gè) PID 來(lái)識(shí)別 (一個(gè)數(shù)字).
- - 殺掉一個(gè)行程:
$ kill <PID>
有時(shí)後你必需用這個(gè)方法來(lái)結(jié)束一些行程 (當(dāng)你不知道怎樣正確結(jié)束時(shí) :) 一個(gè)行程或許要用以下方法才可以結(jié)束:
$ kill -15 <PID>
$ kill -9 <PID>
此外, shell (像 COMMAND.COM 相等的東西) 答應(yīng)你暫停某個(gè)行程的執(zhí)行, 或是把前景換到背景執(zhí)行, 背景換來(lái)前景. 我們用'工作'來(lái)稱呼行程.
- - 查看有多少工做:
$ jobs
這樣列出來(lái)的工作是以一個(gè) shell 分配的數(shù)字來(lái)區(qū)別的, 而不是用 PID.
- - 暫停一個(gè)前景的行程:
$ <CTRL-C>
(但不總是有效 :p )
- - 暫停前景的程式:
$ <CTRL-Z>
(ditto)
- - 將一個(gè)被暫停的程式移到背景繼續(xù)執(zhí)行:
$ bg <job>
- - 把一個(gè)背景執(zhí)行中的程式提升到前景:
$ fg <job>
- - 再一次的, 要砍掉一個(gè)行程:
$ kill %<job>
這里的 <job> 可能是 1, 2, 3, ... 有了這些命令你就可以在同一個(gè)時(shí)間格式化磁碟,壓縮檔案, 編譯一個(gè)程式, 還可以解壓縮, 而且, 你仍然還是看到提示號(hào)和游標(biāo)在等待你的命令. 不妨在 DOS 下試試看這麼做吧!! 在 Windows 下也試試, 比較一下它們效率的不同, 然後你就會(huì)知道你的選擇是否正確了.