输入输出及重定向
重定向标准输出
1.> :将命令的执行结果输入到指定的文件中,而不是直接显示在屏幕中。
2.>>:是指在不修改原文件的情况下追加到指定的文件中。
3.&>接文件:是指无论是命令的标准正确输入还是标准错误输入都输入到文件中.
4.&>>接文件:是指无论是命令的标准正确输入还是标准错误输入都追加到文件中.
注意:直接输入文件符>会覆盖原来的文件,而追加文件符>>会把文件内容追加到指定文件的后面。
标准输入
标准输入是指从键盘输入,文件描述符(fd)是0,默认设备是键盘,设备文件为/dev/stdin0
标准输出
标准输出分为标准正确输出和标准错误输出,但是无论是正确输出还是错误输出都会输出到屏幕上。
标准正确输出:是指输出到屏幕,文件描述符(fd)是1,默认设备文件是显示器,设备文件为/dev/stdout
标准错误输出:也是输出到屏幕,文件描述符是(fd)是2,默认设备文件是显示器,设备文件为/dev/stderr
文件描述符
linux内核给每个进程都创造一个文件描述符,这个表里记载了这个进程所打开的所有文件,为了方便进程知道自己打开了哪些,就是给每个文件都进行编号,这个编号就是文件描述符,每个进程开始时都会默认打开三个文件描述符,就是0.1.2 标准输入,标准正确输出,标准错误输出。
使用重定向清空文件的几种方式
1.>接文件 效果:文件直接被情况,连空行都不会有
2.:>接文件 效果:同上
3.echo “” >接文件 效果:文件会被清空,但是会有空行存在,但是可以接-n,不接换行符,文件里就不会有空行。-n 是不换行输出,-e是转译字符。
5.< :标准输入的控制,语法:命令<将文件作为命令的输入