当前位置:   article > 正文

Linux命令学习笔记(七):命令执行顺序控制与管道_linux 管道执行顺序

linux 管道执行顺序

1.顺序执行

多条命令一行输入以分号隔开。
例如

$ sudo apt-get update;sudo apt-get install some-tool;some-tool
# 让它自己运行
  • 1
  • 2

2.有选择的执行

在这里插入图片描述
which cowsay显示cowsay是否存在,存在则返回0,不存在则返回1。结果可以在$?中查看。一开始cowsay在本环境中是不存在的。

在这里插入图片描述
【命令解释】

&& 表示选择性执行。只有当前面执行结果为0时才执行后面的命令。
  • 1

在这里插入图片描述
【命令解释】

||可以实现命令执行顺序的简单控制,不过控制顺序与&& 相反,只有当前面命令执行结果不等于0时才执行后面的命令。
  • 1

安装cowsay
在这里插入图片描述
之后执行下面命令:
在这里插入图片描述

3.管道

管道是一种线程间的通信机制,通常用于进程间的通讯。其将前面每一个进程的输出(stdout)作为后面进程的输入(stdin)。
管道又分为匿名和具名管道两种。平常使用的一些过滤程序就是匿名管道。具名管道通俗来讲就是有名字的管道。

ls -al /etc | less
# 通过管道(|) 将前一个命令ls的输出作为下一个命令less的输入。
  • 1
  • 2

3.1 cut 命令

cut命令实现从文件的每一行剪切字节、字符和字段,并将这些字节、字符和字段写至标准输出。
在这里插入图片描述

【命令解释】

cut 文件路径 -d '自定义分隔符' -f '指定每行选取的位置'
# 如果不指定文件路径 则cut命令将标准输入读入,且必须制定-b、-f或-c标志之一。
-d:自定义分隔符,默认为制表符
-f: 与-d一起使用,用来制定显示哪个区域
-b:以字节为单位进行分割
-c:以字符作为单位进行分割
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

选取每行前5个字符

在这里插入图片描述

输出每行的第5个及之后的字符

在这里插入图片描述

输出每行 第5个字符
在这里插入图片描述

3.2 grep

grep命令用于查找文件里符合条件的字符串。
在这里插入图片描述
【命令解释】

-r:表示递归搜索子目录中的文件
-I:表示忽略二进制文件
-n:表示打印匹配项行号

  • 1
  • 2
  • 3
  • 4

查看环境变量中以"yanlou"结尾的字符串,并显示行号,$表示一行的末尾
在这里插入图片描述

3.3 wc

wc命令用来统计并输出一个文件中的行、单词和字节数目。
在这里插入图片描述

wc /etc/passwd #分别输出行数、单词数、字节数
也可分别使用-l,-w,-c输出。
-L输出最长行的字节数
  • 1
  • 2
  • 3

3.4sort

默认按字典序(-d , dictionary-order)升序排序
在这里插入图片描述
使用-r(reverse)参数实现字典序逆序排序
在这里插入图片描述

也可以按指定字段(-k,keyword)进行排序

在这里插入图片描述

【命令解释】

-t: 用于指定字段的分隔符,这里以":"作为字段的分隔符。  field-separator。使用分隔符代
-k:用于指定对哪一个字段进行排序,这里是/etc/passwd文件的第三个字段。
该字段为数字。sort默认以字典序排序,如果是数字排序则要加上-n。

  • 1
  • 2
  • 3
  • 4

uniq

uniq命令用于过滤或者输出重复行。
在这里插入图片描述
【命令解释】

使用history可以查看最近使用过的命令
上述命令可以实现去重查看最近使用的命令
  • 1
  • 2

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/212080
推荐阅读
相关标签
  

闽ICP备14008679号