find主要用来查找文件
根据预设的条件递归查找对应的文件
– find [目录] [条件1] [-a|-o] [条件2] ...
– 常用条件表示:
-type 类型(f文本文件、d目录、l快捷方式)
-name "文档名称"
-size +|-文件大小(k、M、G)
-user 用户名
-group 属组
[root@server0 ~]# find /boot -type d #查看/boot目录下的目录
/boot
/boot/grub2
/boot/grub2/themes
/boot/grub2/themes/system
/boot/grub2/i386-pc
/boot/grub2/locale
/boot/grub2/fonts
/boot/grub
[root@server0 ~]# find /home -name zhangsan #查看/home目录下名称为张三的目录或文件
/home/zhangsan
[root@server0 ~]# find /etc/ -name "*.conf" #查看/etc目录下名称以.conf为结尾的文件
/etc/yum/protected.d/systemd.conf
/etc/yum/pluginconf.d/rhnplugin.conf
/etc/yum/pluginconf.d/product-id.conf
/etc/yum/pluginconf.d/subscription-manager.conf
/etc/yum/pluginconf.d/langpacks.conf
[root@server0 ~]# find /home -user zhangsan #查看/home目录下属于用户张三目录下的文件
/home/zhangsan
/home/zhangsan/.bash_logout
/home/zhangsan/.bash_profile
/home/zhangsan/.bashrc
/home/zhangsan/.mozilla
/home/zhangsan/.mozilla/extensions
/home/zhangsan/.mozilla/plugins
/home/zhangsan/.config
/home/zhangsan/.config/gnome-initial-setup-done
/home/zhangsan/.config/monitors.xml
[root@server0 ~]# find /usr/bin -size -2k #查看/user/bin目录下小于2k大小的文件
/usr/bin/neqn
/usr/bin/unxz
/usr/bin/xzcat
/usr/bin/xzcmp
/usr/bin/xzegrep
/usr/bin/xzfgrep
/usr/bin/alias
多选项参数执行
[root@server0 ~]# mkdir /root/nsd1808
[root@server0 ~]# touch /root/nsd01.txt
[root@server0 ~]# touch /root/nsd02.txt
[root@server0 ~]# find /root/ -name "nsd*"
/root/nsd1808
/root/nsd01.txt
/root/nsd02.txt
[root@server0 ~]# find /root/ -name "nsd*" -type f
/root/nsd01.txt
/root/nsd02.txt
[root@server0 ~]# find /root/ -name "nsd*" -type d
/root/nsd1808
-iname 忽略大小写
[root@server0 ~]# find /etc -iname "PASSWD"
/etc/passwd
/etc/pam.d/passwd
[root@server0 ~]# find /etc -name "PASSWD"
[root@server0 ~]#
使用find命令的 -exec 操作
– find .. .. -exec 处理命令 {} \;
– 优势:以 {} 代替每一个结果,逐个处理,遇 \; 结束
[root@server0 ~]# find /etc/ -name "*tab" #查看以tab为结尾的文件
/etc/fstab
/etc/crypttab
/etc/mtab
/etc/inittab
/etc/rwtab
/etc/statetab
/etc/anacrontab
/etc/crontab
[root@server0 ~]# find /etc/ -name "*tab" -exec cp {} /mnt/ \; #将查看结果复制到/mnt目录下
[root@server0 ~]# ls /mnt/
anacrontab crontab crypttab fstab inittab mtab rwtab statetab
[root@server0 ~]#
根据文件修改时间,所有的时间都是过去时间
-mtime +10 #过去的 10天之前修改和创建的文档
-mtime -10 #过去的 10天之内修改和创建的文档
[root@server0 ~]# find /var/log/ -mtime -10
/var/log/
/var/log/tuned
/var/log/ovirt-guest-agent
/var/log/rhsm
/var/log/audit
/var/log/gdm
/var/log/gdm/:0.log
/var/log/sa
/var/log/sa/sa10
/var/log/Xorg.0.log
/var/log/lastlog
[root@server0 ~]# find /var/log/ -mtime +10
/var/log/tallylog
/var/log/btmp
/var/log/ppp
/var/log/qemu-ga
/var/log/spooler
/var/log/chrony
/var/log/anaconda
/var/log/anaconda/anaconda.log
/var/log/anaconda/syslog
/var/log/anaconda/anaconda.xlog
/var/log/anaconda/anaconda.program.log
/var/log/anaconda/anaconda.packaging.log
/var/log/anaconda/anaconda.storage.log
/var/log/anaconda/anaconda.ifcfg.log
/var/log/anaconda/ks-script-V3Y2pV.log
/var/log/anaconda/ks-script-bYGfjD.log
/var/log/anaconda/ks-script-l8BPxv.log
/var/log/cloud-init.log
/var/log/samba
/var/log/samba/old
/var/log/pluto
/var/log/pluto/peer
/var/log/libvirt
/var/log/libvirt/lxc
/var/log/libvirt/qemu
/var/log/libvirt/uml
/var/log/speech-dispatcher
/var/log/cups
/var/log/cups/access_log
/var/log/cups/error_log
/var/log/cups/page_log
/var/log/gdm/:0.log.3
/var/log/gdm/:0.log.2
/var/log/sa/sa12
/var/log/sa/sa01
/var/log/dmesg.old
/var/log/Xorg.0.log.old
/var/log/httpd