在Linux中,一切皆文件。所以查找文件是使用Linux系统的家常便饭。下面就细说一下find 查找命令。
格式: find [目录路径] [条件1]...[条件2]......
[root@localhost ~]# find /root/ # 查找/root目录下所有的文件
常用条件:
-type:类型(f 文本文件、d 目录、l 快捷方式)
-name:文档名称
-size:文件大小
-user:用户
1、查找快捷方式
[root@localhost ~]# find /boot/ -type l #查找/boot目录下的快捷方式
2、查找目录
[root@localhost ~]# find /boot/ -type d #查找/boot 目录下的目录
3、查找文件
[root@localhost ~]# find /boot/ -type f #查找/boot 目录下的所有文件
4、查找以名字开头、结尾的文件
[root@localhost ~]# find /root/ -name '*.zone' #查找/root 目录下所有以.zone名结尾的文件
[root@localhost ~]# find /etc/ -name '*tab' #查找/etc 目录下以tab名结尾的所有文件
[root@localhost ~]# find /etc/ -name 'zh*' #查找/etc 目录下以zh名开头的所有文件
5、查找用户的所有文件
[root@localhost ~]# find /home/ -user vincen #查找用户vincen的/home 目录下的所有文件
6、查找指定大小的文件
[root@localhost ~]# find /boot/ -size +10M #查找/boot 路径下大于10M的文件
[root@localhost ~]# find /boot/ -size +1G #查找/boot 路径下大于1G的文件
[root@localhost ~]# find /boot/ -size +1k #查找/boot 路径下大于1k的文件
将find查找的结果进一步处理
格式:find [路径目录] [条件] -exce 处理命令 {} \;
[root@localhost ~]# find /boot/ -size +1k -exec cp {} /root \;
#将在/boot 路径下查找到大于1k的文件复制到/root 路径下
[root@localhost ~]# find /home -user vincen -type f -exec mv {} /root \;
#把查找到用户vincen在/home 目录下的文件移动到/root路径下
注意:-exec 只能和find命令配合使用,其中处理命令可以是mv(移动)和cp(复制),{} 代表查找的结果,最后要以\;作为结束