第八节 命令执行顺序控制与管道

一.命令执行顺序的控制

1.顺序执行多条命令

合并命令后

2.有选择的执行命令

我们需要能够有选择性的来执行命令,比如上一条命令执行成功才继续下一条,或者不成功又该做出其它什么处理,比如我们使用which来查找是否安装某个命令,如果找到就执行该命令,否则什么也不做

你如果没有安装cowsay,你可以先执行一次上述命令,你会发现什么也没发生,你再安装好之后你再执行一次上述命令,会发现有所变化

上面的&&就是用来实现选择性执行的,它表示如果前面的命令执行结果(不是表示终端输出的内容,而是表示命令执行状态的结果)返回0则执行后面的,否则不执行

在 C 语言里面&&表是逻辑与,||表示逻辑或,同样 Shell 也有一个||,它们的区别就在于,shell中的这两个符号除了也可用于表示逻辑与和或之外,就是可以实现这里的命令执行顺序的简单控制。||在这里就是与&&相反的控制效果,当上一条命令执行结果为≠0($?≠0)时则执行它后面的命令:

流程图如下

二.管道

查看/etc目录下有哪些文件和目录,使用ls命令来查看

有太多内容,屏幕不能完全显示,这时候可以使用滚动条或快捷键滚动窗口来查看。不过这时候可以使用管道

wc 命令用于统计并输出一个文件中行、单词和字节的数目,比如输出/etc/passwd文件的统计信息

分别只输出行数、单词数、字节数、字符数和输入文本中最长一行的字节数

sort排序命令

时间: 2024-12-23 16:22:42

第八节 命令执行顺序控制与管道的相关文章

1.8命令执行顺序控制与管道(学习过程)

命令执行顺序控制与管道 实验介绍 顺序执行.选择执行.管道.cut 命令.grep 命令.wc 命令.sort 命令等,高效率使用 Linux 的技巧. 一.命令执行顺序的控制 1.顺序执行多条命令 通常情况下,我们每次只能在终端输入一条命令,按下回车执行,执行完成后,我们再输入第二条命令,然后再按回车执行…… 你可能会遇到如下使用场景:我需要使用apt-get安装一个软件,然后安装完成后立即运行安装的软件(或命令工具),又恰巧你的主机才更换的软件源还没有更新软件列表(比如之前我们的环境中,每次

命令执行顺序控制与管道

命令执行顺序控制与管道 实验介绍 顺序执行.选择执行.管道.cut 命令.grep 命令.wc 命令.sort 命令等,高效率使用 Linux 的技巧. 一.命令执行顺序的控制 1.顺序执行多条命令 通常情况下,我们每次只能在终端输入一条命令,按下回车执行,执行完成后,我们再输入第二条命令,然后再按回车执行……   你可能会遇到如下使用场景:我需要使用apt-get安装一个软件,然后安装完成后立即运行安装的软件(或命令工具),又恰巧你的主机才更换的软件源还没有更新软件列表(比如之前我们的环境中,

Linux 基础入门----命令执行顺序控制与管道

介绍 顺序执行.选择执行.管道.cut 命令.grep 命令.wc 命令.sort 命令等,高效率使用 Linux 的技巧. 一.命令执行顺序的控制 1.顺序执行多条命令 通常情况下,我们每次只能在终端输入一条命令,按下回车执行,执行完成后,我们再输入第二条命令,然后再按回车执行…… 你可能会遇到如下使用场景:我需要使用apt-get安装一个软件,然后安装完成后立即运行安装的软件(或命令工具),又恰巧你的主机才更换的软件源还没有更新软件列表(比如之前我们的环境中,每次重新开始实验就得sudo a

图解“管道过滤器模式”应用实例:SOD框架的命令执行管道

管道和过滤器 管道和过滤器是八种体系结构模式之一,这八种体系结构模式是:层.管道和过滤器.黑板.代理者.模型-视图-控制器(MVC) 表示-抽象-控制(PAC).微核.映像. 管道和过滤器适用于需要渐增式处理数据流的领域,而常见的“层”模式它 能够被分解成子任务组,其中每个子任务组处于一个特定的抽象层次上. 按照<POSA(面向模式的软件架构)>里的说法,管道过滤器(Pipe-And-Filter)应该属于架构模式,因为它通常决定了一个系统的基本架构.管道过滤器和生产流水线类似,在生产流水线上

python学习 网络编程--主机命令执行

import osos.system()执行系统命令只能执行命令不能返回值import subprocess  能执行系统命令res=subprocess.Popen('dir',shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)第一个参数是执行命令的字符串形式,第二个是shell=True代表使用命令解释器PIPE是subprocess提供的一个功能,管道.可以让结果不打印存在管道里面print(res.stdout.read()

任意命令执行

任意命令执行原因: 当应用需要调用一些外部程序去处理内容的情况下,就会用到一些执行系统命令的函数.如PHP中的system.exec.shell_exec等,当用户可以控制命令执行函数中的参数时,将可以注入恶意系统命令到正常命令中,造成命令执行攻击. 脚本语言(如PHP)优点是简洁.方便,但也伴随着一些问题,如速度慢.无法接触系统底层,如果我们开发的应用(特别是企业级的一些应用)需要一些除去WEB的特殊功能时,就需要调用一些外部程序. 在PHP中可以调用外部程序的常见函数: system.exe

bash多命令执行

bash的多命令执行的逻辑关系: 1.命令替换 COMMAND1 $(COMMAND2) [[email protected] ~]# cp -a /etc /tmp/etc-$(date +'%F-%T') [[email protected] ~]# ls /tmp etc-2017-11-17-17:13:35 2.管道 COMMAND1 | COMMAND2 |COMMAND3.. [[email protected] ~]# ll /tmp | wc -l 13 3.顺序执行结构 CO

浅析php命令执行

总结一下自己在命令执行这一方面收获的一些小技巧 Linux读取文件的一些命令 cat 从第一行开始,显示文件的所有内容 tac 从第最后一行开始,显示文件的所有内容(正好与cat相反) more 根据窗口大小,一页一页的实现文件内容 less 和more类似,但是优点是是可以往前翻页和搜索字符 head 只显示前几行 tail 只显示后几行 nl 类似于cat -n,显示时输出行号 linux下的一些绕过方式 过滤了空格 可以使用${IFS}来进行绕过 echo${IFS}123456 读取文件

图解kubernetes命令执行核心实现

K8s中的命令执行由apiserver.kubelet.cri.docker等组件共同完成, 其中最复杂的就是协议切换以及各种流拷贝相关,让我们一起来看下关键实现,虽然代码比较多,但是不会开发应该也能看懂,祝你好运 1. 基础概念 K8s中的命令执行中有很多协议相关的处理, 我们先一起看下这些协议处理相关的基础概念 1.1 Http协议中的Connection与Upgrade HTTP/1.1中允许在同一个链接上通过Header头中的Connection配合Upgrade来实现协议的转换,简单来