3.输出输入重定向

2018-07-29  本文已影响0人  若愚同学

相关概念:

输出:

默认标准输出: STDOUT 1

默认错误输出: STDERR 2

标准输出和错误输出: 显示器

输入:

默认标准输入 STDIN 0

标准输入: 键盘

输出重定向:

把标准输出和错误输出不在原来的默认的显示器,而是重新定向到其他的输出设备,比如输出到一个文件中去

>: 覆盖输出

此处以默认标准输出为例(标准为 1> 1可以省略,错误信息2>中2不能省略)

<!--会定向输出到指定目录,将原来文本中的内容全都覆盖
-->
[root@lab01 Desktop]# echo 3 > test.txt
[root@lab01 Desktop]# cat test.txt
3
[root@lab01 Desktop]# echo 4 > test.txt
[root@lab01 Desktop]# cat test.txt
4
>>:追加输出

不会原来文本里面的内容替换到,只是将内容追加到文本最后

[root@lab01 Desktop]# echo 4 > test.txt
[root@lab01 Desktop]# cat test.txt
4
[root@lab01 Desktop]# echo 5 >> test.txt
[root@lab01 Desktop]# cat test.txt
4
5
2>: 重定向错误输出

与标准覆盖输出用法一致,只是1>中1可以省略,2不能省略

[root@lab01 Desktop]# ls /xxx 2> test.txt
[root@lab01 Desktop]# cat test.txt
ls: cannot access /xxx: No such file or directory
2>>: 追加方式
[root@lab01 Desktop]# ls /xxx 2> test.txt
[root@lab01 Desktop]# cat test.txt
ls: cannot access /xxx: No such file or directory
[root@lab01 Desktop]# ls /aaa 2>>test.txt
[root@lab01 Desktop]# cat test.txt
ls: cannot access /xxx: No such file or directory
ls: cannot access /aaa: No such file or directory
&>: 重定向标准输出或错误输出至同一个文件

标准和异常输出的结合,比如一个文件夹可以找到,一个找不到,此时就有两种输出

黑洞

没啥用

echo "hello baby" &> /dev/null
小技巧补充:
cat > filename 可以快速创建文件并写入内容

输入重定向

cat /etc/fstab
管道命令:
<!--把前一个命令的输出作为后一个命令的输入 
echo 'admin' | passwd --stdin username-->

[root@lab01 Desktop]# useradd lls
[root@lab01 Desktop]# echo 'admin' | passwd --stdin lls

[root@lab01 Desktop]# ps -ef |grep tomcat
上一篇 下一篇

猜你喜欢

热点阅读