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