linux文件的输入与输出

本文介绍了Linux中输入输出的基本概念,包括字符设备、标准输入(stdin)、标准正确输出(stdout)和标准错误输出(stderr)。重点讲解了输出重定向,如1>用于重定向正确输出,2>用于重定向错误输出,&>用于重定向所有输出,以及如何追加输出而不覆盖原有内容。此外,还提到了管道(|)的作用和输入重定向(<)的使用,以及tac命令用于倒序显示文件内容。

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


1、什么是输入输出

1)字符设备
字符设备就是显示字符到屏幕上的设备文件

2)stdin
标准输入
编号为0
键盘 鼠标 打字机

3)stdout
标准正确输出
标号为1

4)stderr
标准错误输出
标号为2

在这里插入图片描述
打开shell输入的命令都会保存在打开shell的进程pid/fd/0里面,回车后通过cpu计算,正确输出保存到pid/fd/1里面,错误输出保存到pid/fd/2里面,他们共同显示到字符设备/dev/pts/x里

2、输出重定向

通俗的讲,重定向输出就是把输出的文件信息写入到一个文件中去,而不是将要输出的文件信息输出到控制台(显示屏)

1>
重定向正确输出
利用root用户在/etc目录下查询passwd文件:将查询的正确结果保存在file文件中,使用cat查询。

[root@foundation50 Desktop]# find /etc/ -name passwd > file
[root@foundation50 Desktop]# cat file 
/etc/pam.d/passwd
/etc/passwd

2>
重定向错误输出
利用root用户在/etc目录下查询passwd文件:将查询的错误结果保存在file1文件中,使用cat查询,没有!。
利用普通用户在/etc目录下查询passwd文件:将查询的错误结果保存在file2文件中,使用cat查询。

[root@foundation50 Desktop]# su -- westos
[westos@foundation50 Desktop]$ find /etc -name passwd  
find: ‘/etc/pki/rsyslog’: Permission denied
find: ‘/etc/lvm/archive’: Permission denied
find: ‘/etc/lvm/backup’: Permission denied
find: ‘/etc/lvm/cache’: Permission denied
find: ‘/etc/dhcp’: Permission denied
/etc/pam.d/passwd
/etc/passwd
find: ‘/etc/cups/ssl’: Permission denied
find: ‘/etc/grub.d’: Permission denied
find: ‘/etc/nftables’: Permission denied
find: ‘/etc/polkit-1/rules.d’: Permission denied
find: ‘/etc/polkit-1/localauthority’: Permission denied
find: ‘/etc/audit’: Permission denied
find: ‘/etc/libvirt’: Permission denied
find: ‘/etc/sssd’: Permission denied
find: ‘/etc/firewalld’: Permission denied
find: ‘/etc/sudoers.d’: Permission denied
[westos@foundation50 Desktop]$ find /etc -name passwd 2> file2  把错误输出存到file2
/etc/pam.d/passwd
/etc/passwd
[westos@foundation50 Desktop]$ cat file2
find: ‘/etc/pki/rsyslog’: Permission denied
find: ‘/etc/lvm/archive’: Permission denied
find: ‘/etc/lvm/backup’: Permission denied
find: ‘/etc/lvm/cache’: Permission denied
find: ‘/etc/dhcp’: Permission denied
find: ‘/etc/cups/ssl’: Permission denied
find: ‘/etc/grub.d’: Permission denied
find: ‘/etc/nftables’: Permission denied
find: ‘/etc/polkit-1/rules.d’: Permission denied
find: ‘/etc/polkit-1/localauthority’: Permission denied
find: ‘/etc/audit’: Permission denied
find: ‘/etc/libvirt’: Permission denied
find: ‘/etc/sssd’: Permission denied
find: ‘/etc/firewalld’: Permission denied
find: ‘/etc/sudoers.d’: Permission denied

&>
重定向所有输出
在/etc目录下查询passwd文件:将查询的所有结果保存在file3文件中,使用cat查询

[w
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小莫细说linux

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值