首页 > 代码库 > 文件查找
文件查找
文件查找
不论是什么操作系统,我们经常有这样的需求---查找文件。我们在找文件的时候可以根据很多条件查找比如说:按照文件创建日期、文件大小、文件名等....。那么下面我跟大家分享下Linux系统下的文件查找。
1.whatis ls
基于数据库 makewhatis
查看命令所处man手册所在章节和功能
2.which /bin/ls
查看二进制命令的绝对路径
3.locate 文件名
a.可以模糊匹配
b.基于数据库 需要更新数据库 updatedb
c.快速但需要数据库
4.find
语法:
find 查询的路径 查找的条件 逻辑表达式 连接符
如果不指定路径就表示当前路径 在超找的时候是递归查找
普通用户在超找文件的时候需要对目录有r-x的权限
条件:
-name
-uid n
-gid n
-user uname
-group gname
-readable 可读
-writable 可写
-name pattern
-inum n(inode)
-perm mode(=+-)
-size n[cwbkMG]
-type
-amin
-mmin
-cmin
-atmie
-mtime
-ctime
ACTIONS
-delete
-exec command ;
-ok command ;
逻辑表达式
-not expr
! expr
expr1 -and/-a expr2
expr1 -or/-o expr2
1.按照文件名查找
find -name a.txt
2.按照uid查找文件 (文件的拥有者)
find -user redhat (文件的拥有者)
find -uid 0
3.按照gid查找 (文件的所属组)
find -group IT
find -gid 0
4.-name 模式
find -name a?c ---> ? 代表一个任意字符
5.不区分大小写
find -iname a.txt
6.按照权限查找
find -perm 111 权限为111的文件
find -perm +444 有1位有4即可 (r)
find -perm -444 至少每位有4,如果有附加其他权限也符合要求
dd if=/dev/zero of=file3 bs=10M count=1 制作10M的文件
7.find -size n[cwbkMG] 按照文件大小查找
find /share -size 3G 等于或者大小相等
find -size +10M 查找大小大于10M的文件
find -size -10M 查找大小小于10M的文件
8.find -type 按照文件类型查找
f 文件
d 目录
b 块设备
c 字符型设备
p 管道
s 套接字
l 软链接
9.按照三个时间匹配
find -amin -3 3天前被查看过的文件 3 -3 +3
-mmin -3 3天前被修改过的文件
-cmin -3 3天前被更改过内容的文件
-atime -3 3分钟前被查看过的文件
-mtime -3 3分钟前被修改过的文件
-ctime -3 3分钟前更改过内容的文件
10逻辑表达式
1.用户为redhat所属组不是redhat
find /home -user redhat -not -group redhat
2.取反 查找文件类型不是b的文件
find /dev ! -type b
3.查找用户和组必须是redhat(两个条件同时满足)
find /home -user redhat -and -group redhat
4.查找用户是redhat或者是user1的文件
find /home -user redhat -or -group redhat
5.链接符
find / -iname a.txt -exec rm -rf {} \;
-exec 表示链接符 \;表示尾
-ok 操作时有提示
-exec 操作时无提示
find / -iname a -ok rm -rf {} \; 有提示
本文出自 “云计算” 博客,请务必保留此出处http://huanghaisky.blog.51cto.com/3064496/1925255
文件查找