shell输入/输出重定向

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注:文件描述符0通常是标准输入(stdin),1是标准输出(stdout),2是标准错误输入(stderr) 2 3

输出重定向
例:

1$echo "google" > users 2$cat users # cat查看文件命令 3google 4 5

输入重定向
例:
我们需要统计users文件的行数。

1$wc -l < users 2 2 3 4

Here Document
here Document 是shell 中的特殊重定向方式,用来输如重定向到一个交互式shell脚本或程序。
格式:

1command << delimiter 2 document 3delimiter 4 5

注:

  • 结尾delimiter一定要顶格写,前后都不能字符。
  • 开头的delimiter前后空格会被忽略。

例:

1cat << EOF 2欢迎来到 3我的博客 4EOF 5 6

输出:

1欢迎来到 2我的博客 3 4

/dev/null文件
/dev/null 是一个特殊的文件,写入到他的内容都会被丢弃; 如果尝试从该文件读取内容,那么什么也不会读到。 可以起到”禁止输出“的效果。
格式:
如果希望屏蔽stdout(1)和stderr(2).如下命令:
$command > /dev/null 2>&1

下一篇:shell 重定向

代码交流 2021