日期:2014-05-16  浏览次数:20699 次

linux shell基础<3>

6.命令行的排列:您可以这样写? command1;command2? 先执行command1,不管命令行1出不出错,都会执行命令行2? eg: cd /test/; mkdir /prac;
??????????????? 还可以这样写? command1&&command2? 这样如果command1执行失败 command2就不会执行
????????????????? 一个经典的用处是 安装linux时,就可以先把命令行输入,用&&链接 不用您等后会自动安装好
7.命令的任务调度: 当您在终端里运行一个命令或开启一个程序时,终端要等到命令或程序运行完毕后,才能再被使用。在 Unix 中,我们称这样的命令或程序在前台(foreground)运行。
?????????????? 如果您想在终端下运行另一个命令,处了另开一个终端外,有种更优雅的方式,称为任务调度(jobbing)或后台(backgrounding)。当您运用任务的调度或将命令置于后台,终端就立即解放了,这样一来,终端立即就可以接受新的输入。为实现这样的目的,您只需在命令后面添加一个 &? ,尽管程序在后台执行,但还是会在终端输出一些信息,若不想让其输出,您可以这样? command &>/dev/null &? 这样命令在后台执行,输出信息到/dev/null文件那里了? '/dev/null'是系统的"碎纸机" (shredder),所有送到那里的信息都将消失殆尽。
8.命令的替换(我喜欢叫他命令的叠加):就是一个命令行的结果可以做为另一个命令行的参数传入

???????????? eg:less$(locate test.log)? //找到test.log文件并查看它的内容
?????????????它的语法格式是 command1$(command2)?? 除了'$( )',您还可以用后引号(backquote):

?????????????????command1 `command2`? eg:kill `pidof rob`?? //结束rob进程