使用 > 和 >> 有何区别?
如何在单个命令中同时使用 < 和 >(重定向运算符)?
答案1
>
将数据从stdout
(读取标准输出)重定向到文件。
ls -a > my-files.txt
将获取 的输出ls -a
并将其放入名为my-files.txt
删除/覆盖文件的文件中(如果存在)。在上面的示例中,使用>>
而不是 不会覆盖文件(如果存在),但会将的输出添加到>
ls -a
my-files.txt
<
另一方面,将数据发送到程序stdin
(读取标准输入)。如果我有一个名为的文件my-files.txt
,我想知道它包含多少个字,我可以将其发送到一个名为的程序wc
。该程序接受其上的数据,stdin
因此对于数据,我
wc -w < 我的文件.txt
最后,如果我想将该命令的输出保存到新文件,我可以像这样使用两者
wc -w < 我的文件.txt > wordcount.txt
答案2
尝试,
高级 Bash 脚本指南
深入探索 Shell 脚本艺术
答案3
>>
意味着只是如果不存在则追加/创建,对于日志非常有用。
<<
也存在并且有用。尝试:
$ cat > a <<EOF
some text here
more text
EOF
$ cat a
您会看到该文件a
包含两个之间的文本EOF
。