1、Bash的标准输入输出
我们前边一直在说,在Linux系统下,一切皆是文件,键盘和显示器等硬件都是文件,如下图:
从上图中可以看出,键盘的设备文件名为/dev/stdin
,显示器标准正确输入的设备文件名为/dev/stdout
,显示器标准错误输入的设备文件名为/dev/stderr
。
这些设备文件名非常不好记忆,shell允许我们用文件描述符来描述对应的设备,也就是用0、1、2,分别对应键盘、正确显示器,错误显示器。
2、输出重定向
什么叫输出重定向?
命令的输出,是输出给标准输出的,也就是输出到显示器上。而输出重定向就是命令的输出,不输出给标准输出,而是把输出的内容,输出到文件中。
(1)标准输出重定向
命令 > 文件
:以覆盖的方式,把命令的正确输出,输出到指定的文件或设备当中。命令 >> 文件
:以追加的方式,把命令的正确输出,输出到指定的文件或设备当中。
练习,如下:
# 覆盖的方式
[root@localhost ~]# pwd > abc
[root@localhost ~]# cat abc
/root
# 追加的方式
[root@localhost ~]# pwd >> abc