首页 > 代码库 > linux文件查找之find命令

linux文件查找之find命令

find

在windows中,我们想查找文件时,只需要在查找中输入您想要查找的东西,对于linux来说,没有那么方便的图像查找,但是使用find命令,将会是最好的选择,find具有强大的查找命令方式,之前,听一个学长说他面试jd的时候,问道的第一个问题就是你怎样查找系统中大于10M 的文件,因此对find命令在我心里就更为重视了,这会正好总结以下


find     查找位置    -条件    条件值     -exec 动作 {} \;


1>通过文件名查找文件地址

find  /  -name vsftpd.conf

-iname:按照文件名查找文件,且不区分大小写

[root@foundation20 Desktop]# find / -name vsftpd.conf
find: ‘/run/user/1000/gvfs’: Permission denied
/etc/vsftpd/vsftpd.conf
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE/vsftpd.conf
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE_NOINETD/vsftpd.conf
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS/vsftpd.conf

2>通过部分文件名查找

find  /   -name    *httpd*

[root@foundation20 Desktop]# find / -name *httpd*
/run/httpd
/run/httpd/httpd.pid
find: ‘/run/user/1000/gvfs’: Permission denied
/sys/fs/cgroup/devices/system.slice/httpd.service
/sys/fs/cgroup/systemd/system.slice/httpd.service
/etc/sysconfig/httpd
/etc/systemd/system/multi-user.target.wants/httpd.service
/etc/logrotate.d/httpd
/etc/httpd
/etc/httpd/conf/httpd.conf

3>无错误输出查找

 find / -name vsftpd.conf 2>/dev/null

[root@foundation20 Desktop]# find / -name vsftpd.conf 2>/dev/null
/etc/vsftpd/vsftpd.conf
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE/vsftpd.conf
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE_NOINETD/vsftpd.conf
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS/vsftpd.conf
[root@foundation20 Desktop]#

4>根据文件的特征查询方法

find / -user student          #查找文件属主用户为student的文件

find / -group zpy             #查找文件属主小组为zpy的文件

find / -uid 1001                #-uid:UID:当某个用户被删除,用户所属的文件UID没有被删除,在这个情况下就可以使用此选项

[root@foundation20 Desktop]# userdel zpy
[root@foundation20 Desktop]# find / -uid 1001

find  /tmp -nouser -nogrouop:查找没有有效所属组的文件,即该文件所属的组在/etc/groups中不存在

find /  -type 类型  
在Linux文件系统中常用到的文件类型有:
b:块设备文件
d:目录
c:字符设备文件
p:管道文件
l:符号链接文件
f:普通文件
s:套接字设备文件
p:管道设备文件

find / -size  文件大小

find /mnt -size 10k    ##查找10k文件
find /mnt -size -10k   ##查看小于10k 文件

find /mnt -size +10k   ##查看大于10k文件

find / -perm 755    ##寻找权限为755的文件

find /mnt -user student -a -group linux    ##-a表示既满足前者又满足后者

 find / -user student -a -group shengchan  ##0表示满足前者或后者


 find / -maxdepth 2 -name passwd         ##最大的目录递进为2

[root@foundation20 Desktop]# find / -maxdepth 2 -name passwd
/etc/passwd
[root@foundation20 Desktop]# find / -mindepth 2 -name passwd
find: ‘/run/user/1000/gvfs’: Permission denied
/etc/passwd
/etc/pam.d/passwd
/usr/bin/passwd
/usr/share/bash-completion/completions/passwd


本文出自 “12462896” 博客,请务必保留此出处http://12472896.blog.51cto.com/12462896/1953763

linux文件查找之find命令