输入输出重定向

来源:互联网 发布:知乎 室内环保 编辑:程序博客网 时间:2024/06/05 20:13

在linux系统中,正确输出的编号为1,错误输出编号为2

在bash中,显示的输出都是显示在系统的字符设备中,存放位置在/dev/pts/{0..[[:digit:]]}
在系统中用普通用户student执行下面命令
find /etc -name passwd
因为student用户权限问题会有以下输出
find: ‘/etc/pki/CA/private’: Permission denied ##没有进入权力,报错
find: ‘/etc/pki/rsyslog’: Permission denied
find: ‘/etc/audit’: Permission denied
/etc/passwd ##正确输出
find: ‘/etc/polkit-1/rules.d’: Permission denied
find: ‘/etc/polkit-1/localauthority’: Permission denied
find: ‘/etc/dhcp’: Permission denied
find: ‘/etc/selinux/targeted/modules/active’: Permission denied
find: ‘/etc/lvm/archive’: Permission denied
find: ‘/etc/lvm/backup’: Permission denied
find: ‘/etc/lvm/cache’: Permission denied
find: ‘/etc/grub.d’: Permission denied
/etc/pam.d/passwd ##正确输出
find: ‘/etc/audisp’: Permission denied
find: ‘/etc/firewalld’: Permission denied
find: ‘/etc/cups/ssl’: Permission denied
find: ‘/etc/ipsec.d’: Permission denied
find: ‘/etc/libvirt’: Permission denied
find: ‘/etc/sudoers.d’: Permission denied
find: ‘/etc/named’: Permission denied

find /etc -name passwd > file ##重定向正确输出
这里写图片描述
正确的输出重定向到了当前所在目录下的file文件中
这里写图片描述
我们查看file,就可以看到正确的输出

find /etc -name passwd 2> file ##重定向错误输出
find /etc -name passwd &> file ##重定向所有输出
注意: >, 2> ,&> 都会覆盖源文件内容

有时候我们想保留每一次的输出,就可以使用追加
find /etc -name passwd >> file ##追加正确输出
这里写图片描述
find /etc -name passwd 2>> file ##追加错误输出
find /etc -name passwd &>> file ##追加所有输出

## >> 2>> &>> 不会覆盖源文件内容,会把相应的输出字符方到文件的最后

原创粉丝点击