命令执行顺序控制及管道
1.顺序执行多条命令
2.有选择执行命令
&&和||结合使用
3.管道
管道是一种通信机制,通常用于进程间的通信(也可以通过socket进行网络通信),就是将前面每一个进程的输出stdout直接作为下一个进程的输入stdin
管道又分为匿名管道和具名管道,过滤就是匿名管道 |;具名管道就是有名字的管道只会在源程序中用。
比如查看/etc 下有哪些文件目录,但内容多,希望可以翻页
ls -al /etc | less
4.cut
剪,在文件中负责剪切数据用的,cut是以每一行作为一个对象处理的
-b 以字节为单位进行分隔
-c 以字符为单位进行分隔
-d 自定义分隔符,默认为制表符
-f 与-d一起使用,指定显示哪个域
-n 取消分隔多字节字符,与-b一起用
如以:为分隔符显示/etc/passwd中第一个和第六个字段
cut -d ':' -f 1,6 /etc/passwd
打印每一行的前5个字符
5.grep
结合正则表达式实现高效匹配和查找
grep 参数 用于匹配的表达式 目录
如grep -rnI “shiyan” ~
在家目录下找所有包含shiyan的文本文件
-r 表示递归搜索子目录中的文件
-n 表示打印匹配项的行号
-I 表示忽略二进制文件
6.wc
wc命令用于统计并输出一个文件中行、单词、字节数目
wc file1
wc -l file1 行数
wc -w file1 单词数
wc -c file1 字节数
wc -m file1 字符数
wc -L file1 最长行字节数
7.sort
sort支持字典排序、月份排序、随机排序、反转排序、数字排序、指定字段排序
默认按字典排序
如 cat /etc/passwd | sort -r 反转排序
cat /etc/passwd | sort -t ':' -k 3 -n -t表示用于指定字段分隔符,-k 字段号表示用于指定对那一个字段排序,-n表示按数字排序 。
8.uniq
用于过滤和输出重复行---略