首页 / LINUX / Linux中的输入输出
Linux中的输入输出
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Linux中的输入输出,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2718字,纯文字阅读大概需要4分钟。
内容图文
![Linux中的输入输出](/upload/InfoBanner/zyjiaocheng/930/8fd30fda01e84afeaf104a67f2f23ed7.jpg)
字符设备
一、在开始输入输出的解释之前,需要了解到什么是字符设备,简单来说,字符设备就是显示到字符到屏幕上的设备,分为标准输入,标准正确输出,标准错误输出,下面一一解释下。
1、标准输入 stdin
简单来说就是在命令行写下命令的过程,系统会把这些命令加载到内存中并执行
文件描述符:/dev/pts/0
常见输入设备:键盘、鼠标、打字机
2、标准正确输出 stdout
文件描述符 :/dev/pts/1
3、标准错误输出 stderra
文件描述符:/dev/pts/2
a
二、输入管理
1、< 输入重定向 把要执行的命令重定向到tr命令中
tr ‘a-z’ ‘A-Z’ < test 把test文件中的所有字母变为大写(test文件中的内容输入到tr中)
2、<< 多行录入
tr ‘a-z‘ ’A-Z‘ << EOF
test
test1
EOF ##EOF表示开始录入以下字符,此处的test为字符,不在表示文件,第二个EOF表示录入结束, 整个命令表示将字符输入到tr命令中并执行
三、输出管理
输出管理类似于输入管理,箭头的指向一般代表命令的走向
1、> 重定向正确输出
file1文件是先建立好的,,重定向正确输出后把原本该输出到屏幕上的元数据信息 打印到了/tmp/file.in中
2、**2> 重定向错误输出
123423这个命令是不存在的,所以会把错误信息写到/tmp/file.in中,cat后发现确实如此
如果是正确的命令,2> 是不起作用的,,所以可以看到ls的结果打印到了屏幕中
3、 &> "重定向所有输出**
重定向所有输出会把 输出的所有结果放到指定的文件中
4、追加
2>>
&>>
三种追加的用法和重定向用法类似,,不一样的就是追加不会覆盖原来文件中的内容,会把后打印的信息写到文件内容的后面
正确的输出内容被追加到file2的后面
错误的内容被追加到file2文件内容中
四、管道符 |
| :把前一条命令的正确输出传输到下一条命令中
正确的输出在wc -l命令下统计出了行数,错误的命令会直接报错,不能传输到wc -l 命令中
五、tee命令
tee 是一个既保存文件又让文件显示的命令,需要注意的是在使用管道线时,前一个命令的标准错误输出不会被tee读取
1、tee 复制之前命令的 输出 复制到新的文件中,例如(如果前一个命令没有输出将不会保存到新文件中,但是会产生文件)
find /etc -name passwd 2> /tmp/file1.err
/etc/pam.d/passwd
/etc/passwd
[ehiiurs@localhost Desktop]$
find /etc -name passwd 2> /tmp/file1.err |tee file
/etc/pam.d/passwd
/etc/passwd
[ehiiurs@localhost Desktop]$ cat file
/etc/pam.d/passwd
/etc/passwd
[root@localhost Desktop]# lsblk |tee device.txt >/dev/null |tee devicetest.txt
[root@localhost Desktop]# cat devicetest.txt
You have new mail in /var/spool/mail/root
[root@localhost Desktop]# lsblk |tee device.txt >/dev/null
[root@localhost Desktop]# ls
devicetest.txt device.txt
2、静默输出(隐藏或禁止tee命令在屏幕上打印输出//将文件保存为一个新文件但是不打印在屏幕上)
[root@localhost Desktop]# lsblk |tee devicetest.txt >/dev/null
[root@localhost Desktop]# cat devicetest.txt
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 30G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 29G 0 part
├─centos-root 253:0 0 27G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sr0 11:0 1 4.4G 0 rom /run/media/root/CentOS 7 x86_64
内容总结
以上是互联网集市为您收集整理的Linux中的输入输出全部内容,希望文章能够帮你解决Linux中的输入输出所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。