文件查找
不论是什么操作系统,我们经常有这样的需求---查找文件。我们在找文件的时候可以根据很多条件查找比如说:按照文件创建日期、文件大小、文件名等....。那么下面我跟大家分享下Linux系统下的文件查找。
1.whatis ls
基于数据库 makewhatis 查看命令所处man手册所在章节和功能2.which /bin/ls 查看二进制命令的绝对路径 3.locate 文件名 a.可以模糊匹配 b.基于数据库 需要更新数据库 updatedbc.快速但需要数据库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.txt2.按照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所属组不是redhatfind /home -user redhat -not -group redhat 2.取反 查找文件类型不是b的文件find /dev ! -type b 3.查找用户和组必须是redhat(两个条件同时满足) find /home -user redhat -and -group redhat4.查找用户是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 {} \; 有提示