1.顺序执行多条命令,取代输入一行命令按“Enter“执行后在输入一条命令执行的方式
2.使用which来查找是否安装某个命令的方式
![]()
上面的&&就是用来实现选择性执行的,它表示如果前面的命令执行结果(不是表示终端输出的内容,而是表示命令执行状态的结果)返回0则执行后面的,否则不执行,可以从$?环境变量获取上一次命令的返回结果
而”||“符号则与“&&”符号正好相反,当上一条命令执行结果为≠0($?≠0)则执行它后面的命令
![]()
如果已安装过,则会正确执行命令显示内容
如果没有安装过,则会没有任何内容,什么也没有发生
3.结合使用“&&”和“||”符号
执行流程如下
4.管道是一种通信机制
通常用于进程间的通信(也可通过socket进行网络通信),它表现出来的形式就是将前面每一个进程的输出(stdout)直接作为下一个进程的输入(stdin)
管道又分为
- 匿名管道:过滤程序时经常会用到,在命令行中由“|”分隔符表示
- 具名管道:在源程序中用到,有名字
例如:通过管道将前一个命令ls的输出作为下一个命令less的输入,然后就可以一行一行地查看
5.使用cut打印每一行的某一字段
打印/etc/passwd文件中以“:”分隔符的第1个字段和第6个字段分别表示用户名和其自身目录
6.打印/etc/passwd文件中每一行的前N个字符
7.grep命令,在文本或stdin中查找匹配字符串
搜索/home/shiyanlou目录下所有包含“shiyanlou”的所有文本文件,并显示出现在文本中的行号
8.在匹配字段中使用正则表达式
应用该grep命令:(查看环境变量中以“yanlou”结尾的字符串)
9.wc命令用于统计并输出一个文件中行、单词和字节的数目
10.结合管道,统计/etc下面所有目录数
11.sort排序命令的分类
- 字典排序(默认)
- 反转排序(字典排序的逆序)
![]()
- 按特定字段排序
注意:以上命令中的-t参数用于指定字段的分隔符,这里是以“:”作为分隔符;-k用于指定对哪一个字段进行排序, 这里以/etc/passwd文件的第三个字段为数字,-n表示按照数字排序,不加表示以字典进行排序
12.uniq去重命令,用于过滤或者输出重复行
过滤重复行
- 只用uniq命令只能去连续重复的行,不是全文去重
![]()
输出重复行
- 输出所有重复的行
- 输出重复过的行(重复的只输出一个)及重复次数