09_Linux基础_命令执行顺序的控制_管道

本文介绍了Linux中如何控制命令的执行顺序,包括使用;进行顺序执行,利用&&和||实现有条件执行,并详细讲解了管道的概念及其应用,如通过管道连接ls和less命令实现分页查看文件列表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录
1.顺序执行多条命令
2.有选择的执行多条命令
3.管道

1.顺序执行多条命令

有时候想一次性输完一套命令,让系统自己去慢慢执行,比如

$ sudo apt-get update
# 等待——————————然后输入下面的命令
$ sudo apt-get install some-tool //这里some-tool是指具体的软件包,例如:banner
# 等待——————————然后输入下面的命令
$ some-tool

这时候就需要使用 ; 来连接各个命令

 sudo apt-get update;sudo apt-get install some-tool;some-tool

2.有选择的执行多条命令

但是有时候多条命令之间是有关系的,下一条命令的执行取决于这条命令的执行结果。
这就需要有选择的执行。需要看上一条命令的返回结果。(成功返回0,失败返回非0)

比如

which cowsay>/dev/null && cowsay -f head-in ohch~

当 && 前的执行返回0时,才执行 && 后的命令

 which cowsay>/dev/null || echo "cowsay has not been install, please run 'sudo apt-get install cowsay' to install"

当 || 前的执行返回非0时,才执行 || 后的命令.

当然,&& 和 || 也可以结合使用,比如

which cowsay>/dev/null && echo "exist" || echo "not exist"

当 which cowsay>/dev/null 的执行结果是0时,执行echo “exist”,否则执行echo “not exist”。

3.管道

概念:
管道是什么?管道是一种通信机制,通常用于进程间的通信(也可通过socket进行网络通信),它表现出来的形式就是将前面每一个进程的输出(stdout)直接作为下一个进程的输入(stdin)。

管道又分为匿名管道和具名管道(这里将不会讨论在源程序中使用系统调用创建并使用管道的情况,它与命令行的管道在内核中实际都是采用相同的机制)。我们在使用一些过滤程序时经常会用到的就是匿名管道,在命令行中由|分隔符表示,|在前面的内容中我们已经多次使用到了。具名管道简单的说就是有名字的管道,通常只会在源程序中用到具名管道。下面我们就将通过一些常用的可以使用管道的"过滤程序"来帮助你熟练管道的使用。

举几个例子

ls -al /etc | less

通过管道将前一个命令(ls)的输出作为下一个命令(less)的输入,然后就可以一行一行地看。

history | cut -c 8- | cut -d ' ' -f 1 | uniq

查看最近执行的命令,然后显示第8个字符之后的,然后再去除连续重复行。

参考自: https://www.shiyanlou.com/courses/1/learning/?id=63

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值