标准输入(STDIN) – 缺省为键盘
标准输出(STDOUT) – 缺省为终端窗口标准错误(STDERR) – 缺省为终端窗口
重定向输出到文件
什么是重定向输出?比如执行ls命令的时候,系统就在终端输出,如果你不想将输出结果显示在终端而是保存在一个文件中,这就是重定向
支持操作包括:
> 重定向标准输出到文件
2> 重定向错误到文件
&> 重定向所有输出到文件
在重定向时, 缺省是覆盖文件内容.>>符号追加
如echo hello world >test
将回写的"hello world"输出到test中
这时你在终端看不到输出,但是test文件中有"hello world"
再例如:
以下命令当不做为root用户运行时,产生输出和错误:
$ find /etc –name passwd
可以执行以下操作保存输出和错误信息
$ find /etc –name passwd > find.out
$ find / etc –name passwd 2> /dev/null
$find /etc –name passwd > find.out 2>find.err
linux管道
linux命令中有提供管道的使用
管道命令为 |
管道指的是将命令'|'左边的输出作为'|'右边的输入,是一个非常实用的东西,
比如这条命令
ls -l | wc -l
意思就是将当前所在目录下的文件统计出其个数输出来,是不是很强大!再来看一个更加厉害的
~$ cat c.txt
354
10
3
35
2
~$ cat c.txt | sort -n |uniq >b.txt
~$ cat b.txt
2
3
10
35
354
将c.txt中的数字排序去重结果保存在b.txt中,短短的一行代码就搞定