重定向
1 | 标准输入 (stdin) :代码为 0 ,使用 < 或 << |
标准输出(stdout)
1> 或 > 会将应该输出到屏幕的信息,输入到指定文件中
1 | $ ll > ll.txt # 此时屏幕不再输出信息,而是输入到 ll.txt 中 |
标准输出错误(stderr)
2> 会将错误信息单独输出到指定文件中
1 | $ z # 我随便输入了指令 |
如果我们不想将错误单独写到一个文件而是和标准输出一同输出到同一文件中,应该怎么
做呢
也可能你在了解到标准输出和错误输出后会想当然的用这种写法
1 | $ z > file.log 2> file.log |
这样是错误的,应该两股数据会交叉写入到同一文件中,造成数据混乱,而正确的写法
应该是这样的
1 | $ z > file.log 2>&1 |
/dev/null 垃圾桶黑洞装置
假如有些命令的错误是我们预知的而不想显示出,此时该怎么做呢,我们可以让他消失
1 | $ z 2> /dev/null # 此时我们将看不到输出的错误信息 |
标准输入(stdin)
了解 stdout 和 stderr 后我们来看下怎么理解标准输入
1 | $ cat > cat.txt |
这段命令可以使键盘输入内容重定向的文件中,如果我们想使用 某个文件内容 替代
键盘输入 到制定文件中呢,这时候 < 就派上用场了
1 | $ cat > cat.txt < ~/.bashrc |
通过 < 导入的文件我们回它们其实一摸一样,类似复制功能
接下来我们来探讨 <<,它并不同与标准输出的追加功能,我们先来看另一个例子,
当我们使用键盘输入到文件时,如果不想用 ctrl + d
来终止程序,而是其他方式可以
吗,我们来试一下
1 | $ cat > cat.txt << "eof" |
现在我们可以给 << 下一个定义 结束的输入字符,当然 eof 不是不变的,我们
也可以指定其他字符串
最近热读
扫码关注公众号,或搜索公众号“温欣爸比”
及时获取我的最新文章
