要执行一个程式, 就像 DOS 一样键入它的名字就可以了. 假如说这个程式被放在 PATH(第四节) 指定的目录 (第二节), 那麽该程式就会被启动. 例外的是, Linux 不像 DOS可以执行放在现行目录下的程式 (.) , 除非 . 已经加入 PATH 中了. 若要执行现行目录下的程式, 可以这样做: ./<prog>.
这是一个标准命令的格式:
$ command -s1 -s2 ... -sn par1 par2 ... parn <input >output
-s1 , -s2 ... -sn 是命令选项, parn 是程式参数. 我们可以在同一行上键入数个命令:
$ command1 ; command2 ; ... ; commandn
这就是执行命令的方法, 但是我们可以更进一步. 一个使我们使用 Linux 的主要原因是, 它是一个多工的系统 -- 它可以同时执行数个程式 (以下, '程式'用'行程'代替)你可以将一个原本在背景执行的行程提升到前景并继续执行. 而且, Linux 可以使你有多个 session : 这就像同时有好几台电脑在工作!
- - 切换 session 1..8:
$ <ALT-F1> ... <ALT-F8>.
- - 开始一个新的 session , 但不离开原本 session :
$ su - <loginname>
例如:
$ su - root
这相当有用. 比如, 当你要 mount 一个磁碟(机) 时. 因为只有 root可以作这件事.
- - 结束一个 session:
$ exit
- - 在前景执行一个行程:
$ progname [-switches] [parameters] [<input] [>output]
- - 在背景启动一个行程(在背景执行) 要加上 '&' 这个符号:
$ progname [-switches] [parameters] [<input] [>output] &
- - 查看有多少行程正在执行:
$ ps
这样会列出一个表格. 每一个行程都会有一个 PID 来识别 (一个数字).
- - 杀掉一个行程:
$ kill <PID>
有时後你必需用这个方法来结束一些行程 (当你不知道怎样正确结束时 :) 一个行程或许要用以下方法才可以结束:
$ kill -15 <PID>
$ kill -9 <PID>
此外, shell (像 COMMAND.COM 相等的东西) 答应你暂停某个行程的执行, 或是把前景换到背景执行, 背景换来前景. 我们用'工作'来称呼行程.
- - 查看有多少工做:
$ jobs
这样列出来的工作是以一个 shell 分配的数字来区别的, 而不是用 PID.
- - 暂停一个前景的行程:
$ <CTRL-C>
(但不总是有效 :p )
- - 暂停前景的程式:
$ <CTRL-Z>
(ditto)
- - 将一个被暂停的程式移到背景继续执行:
$ bg <job>
- - 把一个背景执行中的程式提升到前景:
$ fg <job>
- - 再一次的, 要砍掉一个行程:
$ kill %<job>
这里的 <job> 可能是 1, 2, 3, ... 有了这些命令你就可以在同一个时间格式化磁碟,压缩档案, 编译一个程式, 还可以解压缩, 而且, 你仍然还是看到提示号和游标在等待你的命令. 不妨在 DOS 下试试看这麽做吧!! 在 Windows 下也试试, 比较一下它们效率的不同, 然後你就会知道你的选择是否正确了.