Wetts's blog

Stay Hungry, Stay Foolish.

0%

Linux-文件描述符&重定向

文件描述符

Linux 系统预留可三个文件描述符:0、1 和 2,他们的意义如下所示:

  1. 0——标准输入(stdin)
  2. 1——标准输出(stdout)
  3. 2——标准错误(stderr)

标准输出——stdout

假设:在当前目录下,有且只有一个文件名称为 123.txt 的文件,这时我们运行这个命令 ls 123.txt,就会获得一个标准输出 stdout 的输出结果:123.txt

错误输出——stderr

按照上面的假设,我们运行另一条命令 ls abc.txt,这样我们就会获得一个标准错误 stderr 的输出结果 ls:无法访问abc.txt:没有那个文件或目录


重定向

重定向的符号有两个:> 或 >>,两者的区别是:前者会先清空文件,然后再写入内容,后者会将重定向的内容追加到现有文件的尾部。


Linux 特殊文件

/dev/null 是一个特殊的设备文件,这个文件接收到任何数据都会被丢弃。因此,null 这个设备通常也被称为位桶(bit bucket)或黑洞。


find 路径 -name 文件名 2>/dev/null: 过滤掉没有查看权限的文件