本次实验使用普通用户输入
[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
覆盖原文件内容叫定向,不覆盖叫追加。