shell输入/输出重定向
重定向命令
命令 | 说明 |
---|---|
command < file | 将输出重定向file |
command > file | 将输入重定向到file |
comand >> file | 将输出以追加的方式重定向到file |
n > file | 将文件描述符为n的文件重定向到file |
n >> file | 将文件描述符为n的文件以追加方式重定向到file |
n > &m | 将输出文件m 和 n合并 |
n < &m | 将输入文件m和n 合并 |
<<tag | 将开始标记tag和结束标记tag之间的内容作为输入 |
注:文件描述符0通常是标准输入(stdin),1是标准输出(stdout),2是标准错误输入(stderr)
输出重定向
例:
$echo "google" > users
$cat users # cat查看文件命令
google
输入重定向
例:
我们需要统计users文件的行数。
$wc -l < users
2
Here Document
here Document 是shell 中的特殊重定向方式,用来输如重定向到一个交互式shell脚本或程序。
格式:
command << delimiter
document
delimiter
注:
- 结尾delimiter一定要顶格写,前后都不能字符。
- 开头的delimiter前后空格会被忽略。
例:
cat << EOF
欢迎来到
我的博客
EOF
输出:
欢迎来到
我的博客
/dev/null文件
/dev/null 是一个特殊的文件,写入到他的内容都会被丢弃; 如果尝试从该文件读取内容,那么什么也不会读到。 可以起到”禁止输出“的效果。
格式:
如果希望屏蔽stdout(1)和stderr(2).如下命令:
$command > /dev/null 2>&1