首页 > 代码库 > 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命令