find 按条件查找文件
? 根据预设的条件递归查找对应的文件
– find [目录] [条件1] [-a|-o] [条件2] ...
– 常用条件表示:
-type 类型(f文件、d目录、l快捷方式)
-name "文档名称"
-size +|-文件大小(k、M、G)
-user 用户名
[root@server0 ~]# find /boot/ -type l #查找是快捷方式
/boot/grub/menu.lst
[root@server0 ~]# ls -l /boot/grub/menu.lst
[root@server0 ~]# find /boot/ -type d #查找是目录
[root@server0 ~]# find /boot/ -type f #查找是文本文件
请显示/etc目录下以 .conf结尾的?(包含子目录)
[root@server0 ~]# find /etc -name "*.conf"
请显示/etc目录下以 .conf结尾的?(不包含子目录)
[root@server0 ~]# ls /etc/*.conf
[root@server0 ~]# mkdir /root/nsd1802
[root@server0 ~]# touch /root/nsd01.txt
[root@server0 ~]# touch /root/nsd18.txt
[root@server0 ~]# find /root/ -name "nsd*"
[root@server0 ~]# find /root/ -name "nsd*" -type f
[root@server0 ~]# find /root/ -name "nsd*" -type d
-size +|-文件大小(k、M、G)
[root@server0 ~]# find /boot/ -size +10M
[root@server0 ~]# find /boot/ -size +300k
[root@server0 ~]# find /boot/ -size -10M
-user 用户名
[root@server0 ~]# find / -user student -type f
[root@server0 ~]# useradd wangwu
[root@server0 ~]# find / -user wangwu
[root@server0 ~]# find / -user wangwu -type d
#############################################################
find结果处理
[root@server0 ~]# rm -rf /opt/*
[root@server0 ~]# ls /opt/
[root@server0 ~]# find /boot/ -size +300k
? 使用find命令的 -exec 操作
– find .. .. -exec 处理命令 {} \;
– 优势:以 {} 代替每一个结果,逐个处理,遇 \; 结束
# find /boot/ -size +300k -exec cp -r {} /opt \;
# ls /opt/
# find / -user student -type f
# mkdir /root/findfile
# find / -user student -type f -exec cp {} /root/findfile \;
# ls /root/findfile
################################################################