重定向和追加
输出重定向
格式: 命令 操作符号 文件名
参数:
1、 1> 或 > 把STDOUT重定向到文件
2、 2> 把STDERR重定向到文件
3、 &> 把标准输出和错误都重定向
4、 >& 和上面功能一样,建议使用上面方式
举例 :把主机名写入1.txt
root@centos7 test]# honstname > 1.txt
[root@centos7 test]# cat 1.txt
centos7.lixiangshuai
标准输出和错误输出各自定向至不同位置
COMMAND > /path/to/file.out 2> /path/to/error.out
以上如果文件已存在,文件内容会被覆盖
set -C 禁止将内容覆盖已有文件,但可追加, 利用 >| 仍可强制覆盖
set +C 允许覆盖,默认
追加
>> 可以在原有内容基础上,追加内容
把输出和错误重新定向追加到文件
>> 追加标准输出重定向至文件
2>> 追加标准错误重定向至文件
举例:把当前目录内的文件名追加到1.txt 中
[root@centos7 test]# cat 1.txt
centos7.lixiangshuai
[root@centos7 test]# ls >> 1.txt
[root@centos7 test]# cat 1.txt
centos7.lixiangshuai
1.taxt
1.txt
2.txt
3.txt
f1.img
f2.img
f3.img
fi.img
[root@centos7 test]#
输入重定向
格式:
COMMAND 0< FILE
COMMAND < FILE
举例
[root@centos7 test]# ls < 2.txt
1.taxt 1.txt 2.txt 3.txt f1.img f2.img f3.img fi.img
[root@centos7 test]# cat 2.txt
[root@centos7 test]#
[root@centos7 test]# ls < 2.txt > 1.txt
[root@centos7 test]# cat 1.txt
1.taxt
1.txt
2.txt
3.txt
f1.img
f2.img
f3.img
fi.img
[root@centos7 test]#
举例2:
[root@centos7 test]# cat 2.txt
abc
[root@centos7 test]# tr 'a-z' 'A-Z' < 2.txt
ABC
[root@centos7 test]# cat 2.txt
abc
[root@centos7 test]#