Linux:输入输出重定向

标准输入/标准输出/标准错误输出

如果命令的输入不是来源于键盘;或者命令的结果输出不是在屏幕上,而是要重定向输出到某个文件,那我们就要用”<“和”>”来进行输入输出重定向。

<指向谁,谁就是被输出的对象。(这话怎么听起来这么怪呢🤔)。

举个例子,cat指令。我们一般用cat都是cat helloworld,实际上我们是省略了<输出重定向这个字符而已。完整的指令应该为:

cat < helloworld

表示的意思是:将helloworld文档内的内容输入给cat指令。

如果你想把上面这个cat指令的结果输出到另一个名为output的文件,那你可以用这条指令。

cat <helloworld >output

除此之外,输出重定向还可以带上三种参数。

cat helloworld 2>error

将标准错误输出重定向到error文件中。

cat helloworld &>error

将标准输出和标准错误输出都重定向到helloworld。

cat helloworld >test 2>&1

将标准输出和标准错误输出都重定向到helloworld。

最后一个需要细说。具体过程为先将标准输出(1)重定向到helloworld。再将标准错误输入重定向到标准输出(1),由于标准输出已经重定向到了helloworld。所以实际的效果为为2>&1>helloworld。

再举个例子,假设某文件夹下只有一个a文件夹。那么输入

ls a b

此时输出的结果既有标准输出,又有标准错误输出。

你可以把两个输出分别输出到两个文件,比如

ls a b 1>ok 2>error

也可以把输出和错误输出都写入到一个文件夹

ls a b &>result
或 ls a b 1>result 2>&1

Subscribe
提醒
0 评论
Inline Feedbacks
View all comments
0
在此留下你的评论x