相关概念:
输出:
默认标准输出: 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