文件标识符
设备 | 设备文件名 | 文件标识符 | 类型 |
---|---|---|---|
键盘 | /dev/stdin | 0 | 标准输入 |
显示器 | /dev/stdout | 1 | 标准输出 |
显示器 | /dev/stderr | 2 | 标准错误输出 |
3-9是保留的标识符
输出经常由两种类型组成,一,程序运行结果;二,状态和错误信息
输出重定向
>
重定向符>>
追加重定向,如果文件不存在,文件会被创建
一旦使用数字、&,数字、&和>、>>之间不能有空格
没有数字、%有无空格没有关系,但是为了方便还是有比较好
类型 | 符号 | 作用 |
标准输出重定向 | 命令 > 文件 | 以覆盖的方式,把命令的正确输出输出到指定文件或设备中 |
命令 >> 文件 | 以追加的方式把命令的正确输出输出到指定文件或设备中 | |
标准错误输出重定向 | 错误命令 2>文件 | 以覆盖的方式把命令的错误输出输出到指定文件或设备中 |
错误命令 2>>文件 | 以追加的方式把命令的错误输出输出到指定文件或设备中 | |
正确输出和错误输出同时保存 | 命令 >文件 2>&1 | 以覆盖方式把命令的正确输出、输出到指定文件或设备中 |
命令 >>文件 2>&1 | 以追加方式把命令的正确输出、输出到指定文件或设备中 | |
命令 &>文件 | 以覆盖方式把命令的正确输出、输出到指定文件或设备中 | |
命令 &>>文件 | 以追加方式把命令的正确输出、输出到指定文件或设备中 | |
命令 >>文件1 2>>文件2 | 把正确的输出追加到文件1中,把错误的输出追加到文件2中 | |
只执行,不显示 | 命令 &> /dev/null(a bit bucket) | 将命令的结果丢入null(作用类似于垃圾箱)中,只执行,不显示 |
|
|
|
|
输入重定向
命令 < 文件名
#把文件的内容作为输入
命令 << 标识符
#统计标识符到标识符再次出现之间的字符
cat <<EOF
#展示键盘输入
cat > /path/to/somefile <<EOF
#将键盘输入放到文件,输入以EOF界定
参考: