07输入输出重定向
输入输出重定向
1.概述
输入重定向:指把文件导入到命令中。
标准输入重定向(STDIN,文件描述符为0):默认从键盘输入,也可以从其他文件或命令中输入。
输出重定向:把原来要输出到屏幕的数据信息写入到指定文件中。
标准输出重定向(STDOUT,文件描述符为1):默认输出到屏幕。
错误输出重定向(STDERR,文件描述符为2):默认输出到屏幕。
2.输入重定向
命令 < 文件 将文件作为命令的标准输入
[root@bogon 0612]# cat b.txt
bbbbbbbbbbbbbb
BBBBBBBBBBBBBB
//统计文件行数
[root@bogon 0612]# wc -l < b.txt
2
3.输出重定向
命令 > 文件 将标准输出重定向到一个文件中(清空原有文件的数据)
命令 >> 文件 将标准输出重定向到一个文件中(追加到原有内容的后面)
//将ls -l的输出重定向到ls.txt文件中
[root@bogon 0612]# ls -l
total 12
-rw-r--r--. 1 root root 17 Jun 12 17:46 a.txt
-rw-r--r--. 1 root root 16 Jun 12 17:46 b.txt
-rw-r--r--. 1 root root 147 Jun 12 17:47 ls.txt
[root@bogon 0612]# ls -l > ls.txt
[root@bogon 0612]# cat ls.txt
total 8
-rw-r--r--. 1 root root 17 Jun 12 17:46 a.txt
-rw-r--r--. 1 root root 16 Jun 12 17:46 b.txt
-rw-r--r--. 1 root root 0 Jun 12 17:48 ls.txt
//将ls -l的输出追加到a.txt中
[root@bogon 0612]# cat a.txt
aaaaaaaaaaaaaaa
[root@bogon 0612]# ls -l >> a.txt
[root@bogon 0612]# cat a.txt
aaaaaaaaaaaaaaa
total 12
-rw-r--r--. 1 root root 17 Jun 12 17:46 a.txt
-rw-r--r--. 1 root root 16 Jun 12 17:46 b.txt
-rw-r--r--. 1 root root 147 Jun 12 17:48 ls.txt
把命令的报错信息写入到文件
当用户在执行一个自动化的 Shell 脚本时,这个操作会特别有用,而且特别实用,因为它可以把整个脚本执行过程中的报错信息都记录在文件中,便于安装后的排错工作。
//用ls命令查看一个不存在的文件
root@bogon 0612]# ls XXXXXXXX 2> err.txt
[root@bogon 0612]# cat err.txt
ls: cannot access XXXXXXXX: No such file or directory
道虽迩,不行不至;事虽小,不为不成。