您的位置:首页 > 其它

file与管道符

2016-07-17 21:29 155 查看
file
find [PATH] [option] [action]

    与时间有关的参数有:-atime, -ctime, -mtime

    -mtime n:n为数字,意义为在n天之前的“一天之内”被更改过的文件;

    -mtime +n:列出在n天之前(不含n天本身)被更改过的文件;

    -mtime -n:列出在n天之内(含n天本身)被更改过的文件名;

    -newer file:file为一个存在的文件,列出比file更新的文件

    根据属性查找

    -uid n

    -gid n

    -username name

    -groupname name

    -nouser

    -nogroup

    根据文件权限及名称有关的参数查找

    -name filename

    -type [+/-]size 比size大或者小的文件

    -type type(f正规文件,b设备文件,c设备文件,d目录,l连接文件,s socket,p FIFO)

    -perm +mode

    -perm -mode
 
关于命令行输出的重定向与管道符
如何管理输出

find /etc -name passwd  > file      ####重定向正确输出

find /tc -name passwd   2> file     ####重定向错误输出

find /e /bin /sbin >3333 |cat 3333| wc -l 3333c -name passwd    &> file     ####重定向所有输出

find /etc -name passwd  >> file     ###追加正确输出

find /etc -name passwd  2>> file    ####追加错误输出

find /etc -name passwd  &>> file    ####追加输出

find /etc -name passwd  > file  2>&1 ####重新定义错误输出为正确

|   管道之允许正确输出通过

|tee    复制一份输出

2>&1 | 转换错误输出为正确再通过管道

/dev/null相当于系统里的垃圾箱

eg:让输出的错误和正确结果都存入file(管道符只统计正确的输出,故需要将错误的输出的id号改为正确的id号)

find /etc/ -name passwd 2>&1 >file   // 错的:(故需要将错误的输出的id号改为正确的id号后就扔了漏下来了,传不到file里去)

find: ‘/etc/pki/CA/private’: Permission denied

find: ‘/etc/pki/rsyslog’: Permission denied

find: ‘/etc/audit’: Permission denied

find: ‘/etc/dhcp’: Permission denied

find: ‘/etc/polkit-1/rules.d’: Permission denied

find: ‘/etc/polkit-1/localauthority’: 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

find: ‘/etc/audisp’: Permission denied

find: ‘/etc/firewalld’: Permission denied

find: ‘/etc/ipsec.d’: Permission denied

find: ‘/etc/libvirt’: Permission denied

find: ‘/etc/cups/ssl’: Permission denied

find: ‘/etc/sudoers.d’: Permission denied

[kiosk@foundation31 Desktop]$ cat file

/etc/passwd

/etc/pam.d/passwd

find /etc/ -name passwd >file 2>&1    // 对的

[kiosk@foundation31 Desktop]$ find /etc/ -name passwd >file2>&1

[kiosk@foundation31 Desktop]$ cat file

find: ‘/etc/pki/CA/private’: Permission denied

find: ‘/etc/pki/rsyslog’: Permission denied

find: ‘/etc/audit’: Permission denied

find: ‘/etc/dhcp’: Permission denied

/etc/passwd

find: ‘/etc/polkit-1/rules.d’: Permission denied

find: ‘/etc/polkit-1/localauthority’: 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/ipsec.d’: Permission denied

find: ‘/etc/libvirt’: Permission denied

find: ‘/etc/cups/ssl’: Permission denied

find: ‘/etc/sudoers.d’: Permission denied

[kiosk@foundation31 Desktop]$ find /etc/ -name passwd 2>&1 |wc -l

19   //将错误的id改成正确的后,漏下来到管道里去了

[kiosk@foundation31 Desktop]$ find /etc/ -name passwd >file |wc -l

0    //只是把正确的结果导入到法file中,错误的不经过管道,所以为0

find: ‘/etc/pki/CA/private’: Permission denied

find: ‘/etc/pki/rsyslog’: Permission denied

find: ‘/etc/audit’: Permission denied

find: ‘/etc/dhcp’: Permission denied

find: ‘/etc/polkit-1/rules.d’: Permission denied

find: ‘/etc/polkit-1/localauthority’: 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

find: ‘/etc/audisp’: Permission denied

find: ‘/etc/firewalld’: Permission denied

find: ‘/etc/ipsec.d’: Permission denied

find: ‘/etc/libvirt’: Permission denied

find: ‘/etc/cups/ssl’: Permission denied

find: ‘/etc/sudoers.d’: Permission denied

[kiosk@foundation31 Desktop]$ cat file

/etc/passwd

/etc/pam.d/passwd

[kiosk@foundation31 Desktop]$ find /etc/ -name passwd 2>&1 >file |wc-l

17           //正确的结果导入file,报错的由于改成了正确的id号,所以进入管道

[kiosk@foundation31 Desktop]$ cat file

/etc/passwd

/etc/pam.d/passwd

find /etc/ -name passwd 2>&1 |tee file22| wc -l
把所有的输出正确和错误的都保存到file22中,并计算所有的行数

ls /bin /sbin >3333 |cat 3333| wc -l 3333

把报错和正确的结果全部保存到 file中,并显示条数

find /etc/ -name 2>&1 |tee file|wc -l

把错误的放到/mnt/find.err, 把正确的放进/mnt/find.out

find /etd -name passwd 2>/mnt/find.err 1>/mnt/find.out

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  file 管道符