linux shell 命令排列 调度 替换

linux shell 命令排列 调度 替换
1 命令排列

1.1分号间隔执行

用户通过shell输入命令时,可以在一行中输入多条命令,每条命令后有分号间隔。

如下所示:
[root@localhost ~]#command1;command2;command3;command4;command5;command6;
//以上语句告诉shell,先执行command1;当command1执行完毕后,再执行command2;当command2执行完毕后,再执行command3;所有的命令依次执行。
采用此种方式执行shell命令,不管前面的命令是否成功执行,后面的命令都会照常执行。
[root@localhost ~]#ls -l;df -h ;
//如以上命令先打印出目录下的内容,然后打印出磁盘的占用情况

1.2 && 命令分隔符

[root@localhost ~]#command1 && command2
//以上语句告诉我们,只有当command1命令成功执行后,才会执行command2
例:
[root@localhost ~]#ddd&&ls -l
-bash: ddd: command not found
//第一个命令执行失败 所以第二个命令没有执行
[root@localhost ~] ls -l &&ddd
total 128
-rw-r–r– 1 shenye staff 28 8 2 15:35 a.txt
-rw-r–r– 1 shenye staff 601 8 8 10:42 help.c
-rwxr-xr-x 1 shenye staff 8908 7 29 21:50 r
-rwxrwxrwx 1 shenye staff 87 8 8 11:24 test.sh
-bash: ddd: command not found
//第一个命令执行成功 所以第二个命令得到执行

1.3 || 命令分隔符

[root@localhost ~]#command1 ||command2
//以上语句告诉我们,只有当command1命令执行失败 ,command2才会得到执行
如果command1执行成功 ,command2命令不会得到执行
例:
[root@localhost ~]$ ddd||ls -l
-bash: ddd: command not found
total 128
-rw-r–r– 1 shenye staff 28 8 2 15:35 a.txt
-rw-r–r– 1 shenye staff 601 8 8 10:42 help.c
//第一个命令执行错误 所以第二个命令得到执行
[root@localhost ~]$ ls -l||dddd
total 128
-rw-r–r– 1 shenye staff 28 8 2 15:35 a.txt
-rw-r–r– 1 shenye staff 601 8 8 10:42 help.c
//第一个命令执行正确 所以第二个命令没有执行



2 命令调度

通常情况下,一个shell终端,只能运行一个进程,需要等待这个进程执行完毕后,才能执行下一个进程,我们称这种进程执行方式为前端执行方式。
如果在此时,我们需要执行另外一个命令时,通常我们可以通过打开另外一个shell来运行命令,还可以通过shell提供的一种命令调度方式,在命令的最后加上一个 & ,就可以使shell命令在后台执行。
例:
[root@localhost ~]#./test.sh &
//上面所述的例子,告诉shell ./test.sh 将以后台运行的方式运行。


3 命令替换

在linux中我们可以通过 “alias” 命令对命令进行简写
例:
[root@localhost ~]#alias adeal=’ls -l’
//那么我们在命令提示符中输入 [root@localhost ~]#adeal 类似于[root@localhost ~]#ls -l
我们可以通过
[root@localhost ~]#more ~/.bashrc //此命令我们查找历史的命令别名日志。