Linux基础命令学习笔记~2

来源:互联网 发布:windows xp硬盘安装版 编辑:程序博客网 时间:2024/06/08 15:49

数据流重导向

数据流重导向就是在运行一个命令时这个命令可能会从文件读入,经过处理再将数据输出到屏幕或文件。
输入输出有三种:

标准输入  (stdin) :代码为 0 ,使用 < 或 << ;标准输出  (stdout):代码为 1 ,使用 > 或 >> ;标准错误输出(stderr):代码为 2 ,使用 2> 或 2>> ;

注意这些尖角符号的用法:

ll      //这句话会显示当前目录下的文件信息ll > temp    //这句话不会显示信息,但是会创建一个temp文件ll temp   //就能看到当前目录下的文件信息,注意是当前目录下的所有文件信息

这就是因为显示的数据被重导向到 temp这个文件中了。使用cat temp也能看到同样的信息,这是这个尖角符号的作用 > , 并且使用这个符号的时候如果先前已经存在这个temp文件,那么这个文件会被清空,不存在会被创建。
要想保留也很简单,用 >> 就可以累加数据。这些都是标准输出(stdout)的数据,stderr的用 2> 和 2>> 用法基本一样。
若想将stdout和stderr的数据分别输出到不同的文件:

find ./list >list_right 2>list_erro

有个特别的“文件” /dev/null ,这个不是文件,他可以收纳所有通向他的信息,如果不想让屏幕输出错误信息,就可以用他来完成。

find ./list 2>/dev/null

如果要将正确和错误的信息写到同一个文件,有些不一样:

find ./list >list 2>&1find ./list &> list