数据流重导向
- 标准输入
<
或<<
<<
终止输入
- 标准输出
>
或>>
- 2者的区别是
>
若文件不存在,则创建新的文件,若文件存在,则覆盖文件;>>
不覆盖新的文件,在原来的文件上累积数据。
- 标准错误输出
2>
或2>>
特殊用法
不考虑命令相关性,连续执行
cmd1;cmd2
- 指令之间彼此有相关性,前一个指令是否成功执行与后一个指令是否要执行有关
cmd1 && cmd2
orcmd1 || cmd2
&&
若cmd1执行完毕并且正确执行,则cmd2开始执行;||
若cmd1执行正确,则cmd2不执行;
管线命令
- 管线命令
|
仅能处理经由前面一个指令传来的正确信息,对于标准错误信息无法进行处理。 - 关联命令后面接的第一个数据必须是命令,并且这个命令必须能够接受标准输入。
- 常用的管线命令
- 撷取命令
cut
grep
- 所谓撷取命令,就是将一段数据经过分析或分析关键字,取出我们需要的一行信息。撷取信息是针对一行一行来分析的
cut
cut -d '分割字符' -f num1,num2
//根据分割字符,将一行数据进行分割,并取出第num段数据cut -c 字符区间 num1-num2
cut
命令分析有多个空格的数据时,会比较吃力。
grep
grep
是分析一行数据,如果该行中有我们需要的,则把该行信息输出;cut
是将该行中的一部分数据输出。grep [-acinv] [--color=auto] '搜寻字符串' filename
-a
将binary文件以text文件的方式搜寻-c
计算找到搜寻字符串的次数-i
忽略大小写-n
输出行号- -
-v
反选,输出没有搜寻字符串的那行信息 --color=auto
将找到的关键字部分加上颜色显示
- 撷取命令
排序命令
sort
sort [-fbMnrtuk] [file or stdin]
1
2
3
4
5
6
7
8-f //忽略大小写
-b //忽略最前面的空白字符
-M //以月份的名称排序
-n //以纯数字进行排序
- r //反向排序
-u //相同的数据中仅出现一行代表
-t //分割符号,默认喂[tab]
- k //以第num个区间进行排序
uniq
- 重复数据仅显示一个,一般配合
sort
使用 uniq [-ic]
-i
忽略大小写-c
计数
- 重复数据仅显示一个,一般配合
wc
wc [lwm]
-l
仅列出行-w
仅列出多少个英文单字-m
多少字符- 三列数据分别代表行数、字数、字符数