管道和重定向
重定向输出
重定向覆盖到文件
1 | ls -l > lsoutput.txt |
把ls命令输出到文件lsoutput.txt中
标准文件描述符
0:程序的标准输入,重定向输入,输出原路打印
1
2
3archer@Arhcer:/mnt/d/coding/linux-studying/ChapterTwo$ ls -l 0> lsoutput.txt
total 0
-rwxrwxrwx 1 archer archer 0 May 4 16:55 lsoutput.txt1: 程序的标准输出,重定向输出
1
archer@Arhcer:/mnt/d/coding/linux-studying/ChapterTwo$ ls -l 1> lsoutput.txt
2:程序的标准错误输出,重定向错误输出
1
2
3archer@Arhcer:/mnt/d/coding/linux-studying/ChapterTwo$ ls -l 2> lsoutput.txt
total 0
-rwxrwxrwx 1 archer archer 0 May 4 16:56 lsoutput.txt
默认情况下,重定向输出到文件,会直接覆盖该文件的内容,如果要改变默认行为,使用 set -o noclobber
,可以阻止覆盖写入
1 | archer@Arhcer:/mnt/d/coding/linux-studying/ChapterTwo$ set -o noclobber |
取消该选项,使用 set +o noclobber
1 | archer@Arhcer:/mnt/d/coding/linux-studying/ChapterTwo$ set +o noclobber |
重定向附加到文件
1 | ps >> lsoutput.txt |