欢迎光临散文网 会员登陆 & 注册

TLCL学习笔记|第七章《重定向》|重定向符“>”|part1

2022-04-10 04:38 作者:LogByMax  | 我要投稿

(认知有限,如有不妥,还请告知,欢迎讨论)

一般情况下,

如果执行 ls -l 命令,其结果(标准输出)输出到屏幕;

如果执行 ls -l <一个不存在的目录> 命令,其结果(标准错误输出)输出到屏幕。


> (标准输出重定向)

执行 ls -l . > ls-output.txt

此时原来会打印到屏幕的标准输出,则存到了ls-output.txt

在这之后,如果下一步再次执行类似的命令,但查找的目录不是一个存在的目录

(比如执行ls -l /bin/usr > ls-output.txt , 屏幕会显示标准错误输出No such file or directory), ls-output.txt会被清空,因为程序执行错误,导致没有输出结果。(ls -l ls-output.txt,会发现文件长度变为0)


如果下一步需要查找的目录是一个存在的目录,比如执行ls -l /usr/bin > ls-output.txt, 则会重写ls-output.txt


如果不想重写文件,想继续接着之前的内容续写文件, 则使用 >>, 比如 ls -l /usr/bin >> ls-output.txt


2> (标准错误输出重定向)

执行 ls -l /bin/usr 2> ls-error.txt 将报错文本写进error.txt中


如果想将 标准错误输出 和 标准输出 都续写进同一个txt文件中,则可执行

ls -l /bin/usr >> ls-output.txt 2>&1

ls -l /bin/usr &>> ls-output.txt


=END=

[1]http://billie66.github.io/TLCL/book/chap07.html

TLCL学习笔记|第七章《重定向》|重定向符“>”|part1的评论 (共 条)

分享到微博请遵守国家法律