从零开始学习Linux(三十四):多命令顺序执行与管道符

1、多命令顺序执行

多命令执行符 格式 作用
; 命令1 ; 命令2 多个命令顺序执行,命令之间没有任何逻辑关系。就算第一条命令执行报错,第二条也会执行。
&& 命令1 && 命令2 逻辑与,当命令1正确执行,命令2才会执行;当命令1执行错误,则命令2不会执行。
|| 命令1 || 命令2 逻辑或,当命令1执行错误,命令2才会执行;当命令1执行正确,则命令2不会执行。
1.1、多命令执行符之;

顺序执行命令:

date;cd /fdjalfdjaskfd;pwd

执行结果如下图所示:

中间命令 cd /fdjalfdjaskfd 虽然报错了,但是后面的命令pwd依然执行了。

假设有个比较耗时的命令A,我们可以使用 date;命令A;date 的方式,统计出来执行命令A的具体耗时。先记录下系统时间,然后去执行命令A,等命令A执行完后再次记录系统时间。两次系统时间差就是命令A的耗时。

1.2、多命令执行符之&&

分别执行命令 date && pwd 和 date111 && pwd。

当第一个命令date正确执行的时候,后面的pwd也能输出结果。当date111命令不能正确执行时,后面的pwd则也没有任何结果输出。

之前我们在学习 从零开始学习Linux(十八):源码包管理 的时候,安装源码包的步骤为:
(1)检查配置 ./configure;
(2)编译 make;
(3)编译安装 make install;

整个命令也可以简化为 ./configure && make && make install。

1.3、多命令执行符之||

分别执行命令 date || pwd 和 date111 || pwd。

当第一个命令date正确执行的时候,后面的pwd没有被执行。当date111命令不能正确执行时,后面的pwd则输出正确结果。

2、管道符

命令格式:命令1 | 命令2;
命令说明:命令1的正确输出作为命令2的操作对象;

2.1、搜索命令

命令格式:grep [选项] 搜索内容 文件名;
选项说明:

  • -i:忽略大小写;
  • -n:输出行号;
  • -v:反向查找;
  • --color=auto:搜索出的关键字用颜色显示;

现在grep命令查询结果都自动有颜色标注,是因为定义了grep别名。使用alias命令查看别名,发现grep='grep --color=auto'。如下图所示:

2.2、示例
2.2.1、分页查看/etc下面的文件信息

由于 ll /etc 命令输出结果信息太长,翻看比较麻烦。现在想使用 more命令查看 ll /etc 的内容。执行命令:

ll /etc | more
2.2.2、搜索/opt/sh/hello.sh文件中Hello内容

执行命令搜索Hello

cat /opt/sh/hello.sh | grep Hello

分别执行以下两个命令,第一个搜索hello内容,第二个忽略大小写搜索hello内容。

cat /opt/sh/hello.sh | grep hello
cat /opt/sh/hello.sh | grep -i hello

执行结果如下图所示:

2.2.3、查看端口信息

执行命令,查询已经建立连接的端口信息:

netstat -an | grep "ESTABLISHED"

执行结果如下图所示:

你可能感兴趣的:(从零开始学习Linux(三十四):多命令顺序执行与管道符)