linux 下的输出输入管理

##########1. 理解什么是输出输入的定义 #####
1)字符设备
字符设备就是显示字符到屏幕上的设备

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

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

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

###2. 如何管理输入 ######
外界传递到程序中的信息
1) < #输入重定向
tr ‘a-r’ ‘A-Z’ < test ##把test文件中的内容定向到tr程序中
在这里插入图片描述

  1. << 多行录入
    tr ‘a-z’ ‘A-Z’ << EOF (字符任意)
    test ##此处的test不能表示为文件名称只表示test字符
    test1
    EOF (当首字符再次出现时表示录入结束)
    在这里插入图片描述

####3.如何管理系统输出 #####
1)输出重定向
> 重定向正确输出
2> 重定向错误输出
$> 重定向所有输出

在这里插入图片描述

在这里插入[westos@westoslinux Desktop]$ find /etc/ -name passwd >westos.out ##输出重定向 将命令的正确结果放在当前的westos.out中 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/nftables’: Permission denied find: ‘/etc/sssd’: Permission denied find: ‘/etc/grub.d’: 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/firewalld’: Permission denied find: ‘/etc/sudoers.d’: Permission denied [westos@westoslinux Desktop]$ find /etc/ -name passwd 2>westos.err ##将命令的错误结果放在当前目录路下的wetos.err中 /etc/pam.d/passwd /etc/passwd [westos@westoslinux Desktop]$ find /etc/ -name passwd &>westos.all ##将命令的所有结果放在当前目录下的westos.all中 [westos@westoslinux Desktop]$ cat westos.out ##输出重定向是会覆盖掉原来的文件的 /etc/pam.d/passwd /etc/passwd ##命令的结果被保存在另一文件时,不会存在原来的/proc/2281/fd/0或1 [westos@westoslinux Desktop]$ vim westos.out ##2281 表示shell 的进程id,所以不会显示出来 [westos@westoslinux Desktop]$ find /etc/ -name passwd >westos.out ##用ls -l 参看文件时可以看出文件的软连接 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/nftables’: Permission denied find: ‘/etc/sssd’: Permission denied find: ‘/etc/grub.d’: 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/firewalld’: Permission denied find: ‘/etc/sudoers.d’: Permission denied [westos@westoslinux Desktop]$ cat westos.out /etc/pam.d/passwd /etc/passwd [westos@westoslinux Desktop]$ find /etc/ -name passwd >>westos.out ##追加命令是不会覆盖掉原来的文件的 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/nftables’: Permission denied find: ‘/etc/sssd’: Permission denied find: ‘/etc/grub.d’: 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/firewalld’: Permission denied find: ‘/etc/sudoers.d’: Permission denied [westos@westoslinux Desktop]$ find /etc/ -name passwd 2>>westos.err /etc/pam.d/passwd /etc/passwd [westos@westoslinux Desktop]$ find /etc/ -name passwd &>>westos.all代码片

##>> file 正确输出追加在指定的文件中
##2>>file 错误输出追加在指定的文件中
##&>>file 所有输出追加在指定的文件中
##> 2> 可以出现在一条命令之中,要注意输出的结果只能被调用一次
在这里插入图片描述

3) 管道“|”
把前一条命令的输出变成输入传递到下一条命令进行操作
注意:
*管道符只处理正确的输出
*@2>&1 把编号为2的文件的输出转换到编号为1的输出中
*tee 复制输出到指定位置
*管道在一条命令中可以使用多次
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Antonhu/article/details/112799315
今日推荐