重定向输入、输出,将输出、输入重定向到文件.note
输出重定向是指不使用linux默认地标准输出设备显示信息,而是指定某个文件做为标准输出设备来存储文件信息,以覆盖的方式把指定文件信息输入到指定文件
Linux中重定向输出符为:
“>”
语法1:
“>”
ls /root > /root/exercises/test10 //将输出重定向到文件,直接替换文件内的内容,若该文件不存在,则自动创建文件
“>>”
ls /root >> /rot/exercises/test10 //将输出重定向到文件,在文件末尾插入,不替换文件的内容,若该文件不存在,则自动创建文件除此之外,重定向还能用于复制文件的内容,而且不限于复制文本文件,二进制文件也可以复制:
#cat image.png > picture.png
如果想将内容复制到另一个文件的末尾,只需要将“>”字符替换成“>>”字符串即可,例如:
#cat image.png >> picture.png语法2:
使用重定向功能合并文件:
#echo "1" > file1
#echo "2" > file2
#cat file1 file2 > file3
#cat file3
输入重定向可以将输入信息重定向至命令中作为参数使用,当命令需要一个参数列表时,而这些参数都存在一个文件中,然后你想要快速地将它们从文件中复制粘贴到终端,就可以使用输入重定向 “<”
重定向输入符为:
“<”
语法1:
#cat < /etc/passwd //输入重定向,将passwd文件指定为输入设备,并将内容显示到控制台
语法2:
将/etc/passwd文件重定向输入到a文件,并将之重定向输出到/root/666
#touch ./a
#cat /etc/passwd < a > /root/666
#cat a //a文件为空
#cat /root/666a文件为空,内容被重定向在/root/666
cat重定向输入只是显示文件,并不会写入,也不会将源文件内容删除
(重定向输入无论重定向在哪,都不会进行写入操作)

输入重定向是指不使用系统提供地标准输入端口,而进行重新的指定,出入重定向就是不使用标准输入端口输入文件,而是使用指定的文件作为标准输入设备。(重定向输入简单理解就是使用“<”符来修改标准输入设备)
比如,默认情况下,cat命令会接收默认标准输入设备键盘的输入,并显示到控制台,但是可以通过“<”符号修改标准输入设备,指定文件作为标准输入设备,那么cat命令将指定的文件作为输入设备,并将文件中的内容读取并显示到控制台
Linux标准输入设备是指键盘,标准输出设备是指显示器,标准错误输出指的是显示器
设备 | 设备名 | 文件描述符 | 类型 |
键盘 | /dev/stdin | 0 | 标准输入 |
显示器 | /dev/stdout | 1 | 标准输出 |
显示器 | /dev/stderr | 2 | 标准错误输出 |
Linux文件描述符,可以理解为Linux系统为文件分配的一个数字,范围0——3,用户也可以自定义文件描述符
一般情况下,每个Unix/Linux命令运行时都会打开三个文件:
·标准输入文件(stdin):stdin的文件描述符为0,Linux程序默认从stdin读取数据
·标准输出文件(stdout):stdout的文件描述符为1,Linux程序默认向stdout输出数据
·标准错误文件(stderr):stderr的文件描述符为2,Linux程序会向stderr流中写入错误信息
