Linux中的输入输出

本文深入解析Linux系统中的输入输出概念,包括标准输入、标准输出、标准错误输出及字符设备。详细介绍重定向与追加定向操作,管道符的使用,以及输入重定向的多种方法。同时,提供实用的命令行示例,帮助读者掌握Linux I/O操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux中的输入输出

1.1 Linux系统中输入输出的定义

1,输入:stdin[标准输入流],系统外界向系统传递信。
方式:键盘 • 鼠标 • 输入命令

2,输出:
(1)stdout[标准正确输出], 在命令顺利执行完成后产生的字符串 ,stdout在Linux中的输出编号为1
(2)stderr[标准错误输出] , 在命令失败执行完成后产生的字符串 ,stderr在Linux中的输出编号为2
3,字符设备:字符设备是指在I/O传输过程中以字符为单位进行传输的设备,例如键盘,打印机
字符设备是内存中开启的虚拟设备并不真实存在

1.2 Linux系统重定向输出

符号用途
>正确重定向输出
2>错误重定向输出
&>全部重定向输出
# find /etc -name passwd >westos.out 
# find /etc -name passwd 2>westos.out
# find /etc -name passwd &>westos.out
# > westos.out 清空westos.out内容
# history >westos.out 
# echo haha > westos.out 把haha重定向正确输出到westos.out

注意:重定向会覆盖源文件内容
实验在这里插入图片描述在这里插入图片描述在这里插入图片描述

1.3 linux追加定向输出

追加符号用途
>>追加正确输出
2>>追加错误输出
&>>追加全部输出
# find /etc -name passwd >>westos.out 
# find /etc -name passwd 2>>westos.out
# find /etc -name passwd &>>westos.out

注意:追加定向输出不会覆盖源文件内容,追加动作会把内容放在末尾。
实验
在这里插入图片描述在这里插入图片描述在这里插入图片描述

1.4 linux管道符 |

1.管道定义:把输出变成后一条命令的输入,管道符只处理正确输出
2.管道的相关符号
| :管道符
2>&1:把错误输出接入正确输出,可以通过管道符。
tee:复制输出到指定位置

#ls /bin |wc -l    统计bin文件个数,ls /bin输出目录中所有文件,输出经过管道符后变成 wc -l 输入, 统计行数。
#ls /bin |wc -l |wc -l  结果为1 ,因为第一次统计行数再一次作为输出,继续统计输出行数,结果为1.
 # find/etc -name passwd | wc -l 默认只有正确输出才可以通过管道符
 # find/etc -name passwd 2>&1| wc -l 如果需要错误输出也通过管道符,可以用2>&1,把错误输出接入正确输出。
 #  # find/etc -name passwd 2>&1| tee file |wc -l 复制输出的内容到指定文件中,然后统计file行数

注意:如果不需要输出在屏幕上,可以把输出指出指向/dev/null垃圾箱
实验
在这里插入图片描述

1.5 linux输入重定向

1.定义:用符号从文件中获取输入
2.输入重定向符号:< 和
command << [输入标识]
内容 … …
[输入标识]

命令<文件将文件作为命令的标准输入
命令<<分界符多行录入,将文件多行内容作为标准输入,直到遇见分界符
命令<文件1>文件2将文件1作为标准输入,结果作为标准输出到文件2
eg1 # tr 'a-z' 'A-Z' < file 把file中的内容小写换成大写

在这里插入图片描述

eg2 #vim westos.sh
    passwd << EOF
    123456
    123456
    EOF
    #sh westos.sh
    

在这里插入图片描述在这里插入图片描述

eg3 # tr 'a-z' 'A-Z' < file1 >file2 

在这里插入图片描述

1.6 linux的帮助手册

# whatis command 查看命令用途
#command --help 查看命令用法
#man -k command 查看命令在系统中有多少级别的man
#man 5 passwd 查看帮助

注意:1.#man中常用的是级别1和5,1是系统命令,5是系统配置文件
2.[options…]代表可加可不加的参数(…代表可以加多个),<>表示必须加的参数。
3.“NAME”部分是该命令名字和解释“SYNOPSIS”是摘要[OPTIONS…]
告诉如何使用“PESCRIPTION”是具体使用。
在这里插入图片描述在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值