一、重定向
定义:数据流重定向是将某个执行后应该要出现在屏幕上的数据,给他传输到其它的地方。
linux几种重定向:
1、标准输入(stdin):代码为0,使用
2、标准输出(stdout):代码为1,使用 > 或 >>
3、标准错误输出(stderr):代码为2,使用 2> 或 2>>
把查询出来的数据追加到 list.txt中
在数据重定向方面,正确的写法应该是 1> 错误的是2>:
1、1>:将正确的数据输出到指定的地方去
2、2>:将错误的数据输出到指定的地方去
dev/null,就像一个黑洞的垃圾桶功能,当你输入的任何东西重定向到这个虚拟的垃圾桶装置时,都会凭空消失。
例:我们用cat在键盘上面输入一些数据,之后写到catfile里
使用其他文件代替键盘输入
测试 <
在什么情况下使用重定向:
1、当屏幕输出的信息很重要,而且我们需要将它存下来的时候
2、背景执行中的程序,不希望它干扰屏幕正常的输出结果时
3、一些系统的例行命令(例如写在/etc/crontab中的文件)的执行结果,希望他可以存下来时
4、一些执行命令,我们已经知道他可能的错误信息,所以想以[ 2> /dev/null ]将它丢掉
5、错误信息与正确信息需要分别输出时
二、截取命令
管道线命令(pipe)
管道线命令执行过程:
截取命令:cut,grep
概念:就是将一段数据经过分析后,取出我们所想要的,或者是,经由分析关键词,取得我们所想要的哪一行,不过,要注意的是,一般来说,截取信息通常是针对一行一行来分析的。
cut命令
处理信息以[ 行 ]为单位
格式:cut -d ‘分割字符’ -f fileds
cut -c 字符区间
参数:
-d:后面接分割字符,与-f一起使用
-f:依据-d的分割字符将一段信息分割称为数段,-f取出第几段的意思
-c:以字符(characters)的单位取出固定字符区间
例:
grep命令
格式:grep [ -acinv ] ‘搜寻字符串’ filename
参数:
-a:将binary文件以text文件的方式搜寻数据
-c:计算找到’搜寻字符串’的次数
-i:忽略大小写不通,所以大小写视为相同
-n:顺便输出行号
-v:反向选择,即显示出没有’搜寻字符串’内容的哪一行
例: