本帖最后由 xhz 于 01-03 编辑
shell重定向
输入输出
默认情况下,linux输入从键盘获取,输出到屏幕,我们也可以从文件读取输入内容,或者输出到文件,改变输入或输出默认路径就叫做重定向。
linux中一切皆文件,所以硬件在linux中也表示为文件
0-标准输入-键盘:从文件(默认是键盘)读取输入
1-标准输出-屏幕:发送数据到文件(默认是屏幕)
2-标准错误-屏幕:发送所有错误信息到一个文件(默认是屏幕)
上面3个数字是标准的POSIX字符,也称为文件描述符,每个linux命令都会使用上述的流与用户或其他系统程序进行交互。
标准输入
标准输入特点:
是默认的输入方法,被所有命令使用来读取输入
用数字0表示,也被称作stdin
默认的标准输入设备是键盘
操作符<是输入重定向操作符,其语法如下:
command < input_filename
标准输出
标准输出特点:
被命令用来写入或显示命令自身的输出
用数字1表示,也被称作stdout
默认的标准输出设备是屏幕
操作符>是输出重定向操作符,语法如下:
command > output_filename || command 1 > output_filename 1表示标准输出
例如将ls的输出保存到文件output.txt:
ls > /tmp/output.txt
如果文件不存在,会自动创建,如果文件存在,会被重写,要想保留源文件内容,使用>>操作符
标准错误
标准错误特点:
是默认的错误输出方法,被用于写入所有系统错误信息
用数字2表示,也被称作stderr
默认的标准错误设备是屏幕或显示器
操作符2>是标准错误重定向操作符,语法如下:
command 2> errors_filename
|