定向输出方法(find命令,如何放置正确错误输入)

 本次实验使用普通用户输入

[xizi1314@localhost 桌面]$ find /etc/ -name passwd
find: ‘/etc/pki/rsyslog’: Permission denied
find: ‘/etc/grub.d’: Permission denied
find: ‘/etc/lvm/archive’: Permission denied
find: ‘/etc/lvm/backup’: Permission denied
find: ‘/etc/lvm/cache’: Permission denied
find: ‘/etc/sssd’: Permission denied
find: ‘/etc/dhcp’: Permission denied
/etc/pam.d/passwd
/etc/passwd
find: ‘/etc/cups/ssl’: Permission denied
find: ‘/etc/polkit-1/rules.d’: Permission denied
find: ‘/etc/polkit-1/localauthority’: Permission denied
find: ‘/etc/nftables’: Permission denied
find: ‘/etc/audit’: Permission denied
find: ‘/etc/libvirt’: Permission denied
find: ‘/etc/sudoers.d’: Permission denied
find: ‘/etc/firewalld’: Permission denied
[xizi1314@localhost 桌面]$ 

有俩正确输出
 

/etc/pam.d/passwd
/etc/passwd

有些permittion denined

find: ‘/etc/audit’: Permission denied

没权限,看这个audit上的叉叉,想打开的话要输入超级用户密码,不输入就打不开

正确的输出放在pid/fd/1,错误的放在pid/fd/2里(pid代指当前进程的ID)

那么,如何把正确输出存放到指定文件中,而不是放在上面默认的文件里?

比如放在还没存在的westos.out里头,指令执行的时候顺便自己就建立了,不用管

find /etc/ -name passwd > westos.out

就用一个大于号,>即可

然后你会发现桌面上出现了一个新文件,就叫做westos.out     ,里面存放着的就是那正确的两条输出

 

错误输出就显示在屏幕上,意味着没被处理

 同理把错误的放到新建一个westos.err里

 会发现,正确输出又出现了,因为find命令执行了两次,相当于做了两个进程。

再同理,把所有正确错误输出都放到新建一个all文件里

那么当定向文件本来就存在时,是否会覆盖原文件内容?

新建一个westos文件,输入点内容“hello westos",然后把正确输出放进去

[xizi1314@localhost 桌面]$ touch westos
[xizi1314@localhost 桌面]$ vim westos
[xizi1314@localhost 桌面]$ cat westos
hello westos
[xizi1314@localhost 桌面]$ find /etc/ -name passwd > westos
find: ‘/etc/pki/rsyslog’: Permission denied
find: ‘/etc/grub.d’: Permission denied
find: ‘/etc/lvm/archive’: Permission denied
find: ‘/etc/lvm/backup’: Permission denied
find: ‘/etc/lvm/cache’: Permission denied
find: ‘/etc/sssd’: Permission denied
find: ‘/etc/dhcp’: Permission denied
find: ‘/etc/cups/ssl’: Permission denied
find: ‘/etc/polkit-1/rules.d’: Permission denied
find: ‘/etc/polkit-1/localauthority’: Permission denied
find: ‘/etc/nftables’: Permission denied
find: ‘/etc/audit’: Permission denied
find: ‘/etc/libvirt’: Permission denied
find: ‘/etc/sudoers.d’: Permission denied
find: ‘/etc/firewalld’: Permission denied
[xizi1314@localhost 桌面]$ 

会发现:

[xizi1314@localhost 桌面]$ cat westos
/etc/pam.d/passwd
/etc/passwd

之前的hello westos没了,证明被覆盖了

不想被覆盖就使用追加,就是把之前的一个大于号变成两个大于号即可:

[xizi1314@localhost 桌面]$ vim westos
[xizi1314@localhost 桌面]$ cat westos
hello westos
[xizi1314@localhost 桌面]$ find /etc/ -name passwd >> westos
find: ‘/etc/pki/rsyslog’: Permission denied
find: ‘/etc/grub.d’: Permission denied
find: ‘/etc/lvm/archive’: Permission denied
find: ‘/etc/lvm/backup’: Permission denied
find: ‘/etc/lvm/cache’: Permission denied
find: ‘/etc/sssd’: Permission denied
find: ‘/etc/dhcp’: Permission denied
find: ‘/etc/cups/ssl’: Permission denied
find: ‘/etc/polkit-1/rules.d’: Permission denied
find: ‘/etc/polkit-1/localauthority’: Permission denied
find: ‘/etc/nftables’: Permission denied
find: ‘/etc/audit’: Permission denied
find: ‘/etc/libvirt’: Permission denied
find: ‘/etc/sudoers.d’: Permission denied
find: ‘/etc/firewalld’: Permission denied
[xizi1314@localhost 桌面]$ cat westos
hello westos
/etc/pam.d/passwd
/etc/passwd
[xizi1314@localhost 桌面]$ 

新内容就放在了旧内容后头

错误的输出追加,就改成passwd2

[xizi1314@localhost 桌面]$ find /etc/ -name passwd 2>> westos
/etc/pam.d/passwd
/etc/passwd

就变成下面这样了:

[xizi1314@localhost 桌面]$ cat westos
hello westos
/etc/pam.d/passwd
/etc/passwd
find: ‘/etc/pki/rsyslog’: Permission denied
find: ‘/etc/grub.d’: Permission denied
find: ‘/etc/lvm/archive’: Permission denied
find: ‘/etc/lvm/backup’: Permission denied
find: ‘/etc/lvm/cache’: Permission denied
find: ‘/etc/sssd’: Permission denied
find: ‘/etc/dhcp’: Permission denied
find: ‘/etc/cups/ssl’: Permission denied
find: ‘/etc/polkit-1/rules.d’: Permission denied
find: ‘/etc/polkit-1/localauthority’: Permission denied
find: ‘/etc/nftables’: Permission denied
find: ‘/etc/audit’: Permission denied
find: ‘/etc/libvirt’: Permission denied
find: ‘/etc/sudoers.d’: Permission denied
find: ‘/etc/firewalld’: Permission denied
[xizi1314@localhost 桌面]$ 

追加所有信息,变成&>>即可

 find /etc/ -name passwd &>> westos

覆盖原文件内容叫定向,不覆盖叫追加。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值