LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 202|回复: 0

shell重定向

[复制链接]
发表于 2024-1-3 16:02:32 | 显示全部楼层 |阅读模式
本帖最后由 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


您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表