本文参考 https://www.cnblogs.com/piperck/p/6219330.html
重定向命令 > 和 >>
将命令的输出结果存储在指定文件中。
例如下面的例子就是将 ls 的结果输出到一个 result.txt 文件中,如果文件不存在,会在当前目前创建一个。(如果是特定文件夹中,如果文件夹不存在,不会自动创建,会报错)
ls > result.txt
二者的区别是:> 是覆盖原始文件; >>是追加到文件中。
另外两个相关的命令是:1> 的作用是将执行命令后的正确结果保存到指定文件,2>是将错误的信息保存到指定文件。
例如下面的命令将python脚本test.py执行后的结果,正确的保存进right.txt,而错误的输出被重定向到了wrong.txt。
python ./test.py 1> right.txt 2> wrong.txt
test.py的内容如下:
#!/usr/bin/env python3 # -*- coding: utf-8 -*- if __name__ == '__main__': print('hello') int('world')
如果不这样区分,写成下面这样
python ./test.py > result.txt
那么只保存了正确的结果,错误的信息被打印到标准输出上面。
如果想让错误也重定向到和1相同的文件,可以这这样写:
python ./test.py 1> result.txt 2>&1
对应的 1>> 和 2>> 作用和上面类似,区别还是和上面类似一个是覆盖,一个是追加。
< 的作用是将原本应该由键盘输入的数据经由文件读入。