locate
- 进行文件的搜索,非实时搜索
- 从 /var/lib/mlocate/mlocate.db 数据库进行文件搜索,可能新建立的文件搜索不到
- updatedb 命令能将数据库进行更新
- locate [options] string
- locate -i -r ".Conf$" -n 5 ; locate 3个常用选项-i不区分大小写进行搜索,-r 使用正则表达式进行搜索,-n 展示给出的行数。
- 只在当前目录及以下搜索
find
- find -name filename ; 进行当前目录,以及当前目录的子目录的文件搜索。
- find -maxdepth 4 -mindepth 2 -name "f1.sh" ;限定文件搜索的目录级数范围,可单个使用
- find / -name "*.sh" ;注意这里使用的是文件通配符
- find / -i 345;通过结点编号尽心搜索,查看结点编号 ll -i
- find -samefile name ;查看inode
号相同的文件,可以查找到指定文件的硬链接。 - find links n;可以使用链接号作为查找文件的条件。
- find -regex "pattern" ;find -regex "^.*.sh";使用基本正则表达式进行文件搜索,需要注意的是,这里匹配的是一个完整的文件路径,而非文件名。
find / -regex ".*(.sh|.log)"
-
-user USERNAME:查找属主为指定用户(UID)的文件
-
-group GRPNAME: 查找属组为指定组(GID)的文件 -uid UserID:查找属主为指定的UID号的文件
-
-gid GroupID:查找属组为指定的GID号的文件 -nouser:查找没有属主的文件
-
-nogroup:查找没有属组的文件
-
根据文件类型查找:
• ** type TYPE: **
•f: 普通文件
•d: 目录文件
•l: 符号链接文件
•s:套接字文件
•b: 块设备文件
•c: 字符设备文件
•p: 管道文件 -
find -atime n
-
find -atime 3 ; 表示3天到4天这个时间段,不包括4
-
find -ctime -3;表示0-2天的时间不包括3天
-
find -mtime +3 ;表示4天到正无穷,包括4天
find -size n
- find -size 4k ; 这表示筛选(3k,4k],大小范围内的文件
- find -size -4k ; 这表示筛选[0k,3k]范围内的文件
- find -size +4k ;这表示筛选(4k,正无穷)范围内的文件
- find -size +1c -size -11M ;这表示进行1个字节到10M这个范围内的文件展示
find -perm n
- find -perm -222 ;这表示搜索所有用户都必须有写权限
- find -perm /222 ;这表示只要有任何一个用户有写权限就行,这是或者的关系。需要注意的时候,centos7以前的就可以用+
- find -perm /002 ; 和 find -perm -002 ;0表示对应的权限不关心,只看有值得
- find -perm 002 ; 权限的精确匹配
- -ls ,对于找到的文件进行ls -l命令的效果类似
- -delete,删除符合到的文件
- fls filename;将符合条件的文件以长格式输出到文件
-ok command {} ; 这表示进行命令的执行,{} 表示的找到的文件
find 相关实例
- find /root -type f -perm -222 -ok chmod a-w {} ;
- find -type f -perm -222 -exec chmod a-w {} ;
- 上面两个的区别在于提示与否。
网友评论