linux中如何去寻找文件

2021-06-08 10:11:51
## find 搜索 在linux终端中使用find关键字去进行搜索文件,其具体为 find /etc -name init 在/etc目录精确查找init文件 find /etc -name 'init*' 在/etc目录找以init开头的文件 find /etc -name ?'init' 在/etc目录找以init结尾,前面只有一个字符 find/use/bin -size +3M/-3M 在/use/bin目录查找大于/小于3M的文件 在find中逻辑与或非是使用 “-a”,“-o”以及“!”来进行逻辑判断 ## 查询条件option参数 -name ’字串’ 查找文件名匹配所给字串的所有文件,字串内可用通配符 *、?、[ ]。 -lname ’字串’ 查找文件名匹配所给字串的所有符号链接文件,字串内可用通配符 *、?、[ ]。 -gid n 查找属于ID号为 n 的用户组的所有文件。 -uid n 查找属于ID号为 n 的用户的所有文件。 -group ’字串’ 查找属于用户组名为所给字串的所有的文件。 -user ’字串’ 查找属于用户名为所给字串的所有的文件。 -empty 查找大小为 0的目录或文件。 -path ’字串’ 查找路径名匹配所给字串的所有文件,字串内可用通配符*、?、[ ]。 -perm 权限 查找具有指定权限的文件和目录,权限的表示可以如711,644。 -size n[bckw] 查找指定文件大小的文件,n 后面的字符表示单位,缺省为 b,代表512字节的块。 -size +500M文件大小大于500M -type x 查找类型为 x 的文件,x 为下列字符之一: b 块设备文件;c 字符设备文件;d 目录文件;p 命名管道(FIFO) f 普通文件;l 符号链接文件(symbolic links);s socket文件;-xtype x 与 -type 基本相同,但只查找符号链接文件。 -maxdepth 1 查询深度。=1表示只查找当前目录下,不搜索任何当前目录下的所有子目录。 ## 以时间为条件查找 -amin n 查找n分钟以前被访问过的所有文件。 -atime n 查找n天以前被访问过的所有文件。 -cmin n 查找n分钟以前文件状态被修改过的所有文件。 -ctime n 查找n天以前文件状态被修改过的所有文件。 -mmin n 查找n分钟以前文件内容被修改过的所有文件。 -mtime n 查找n天以前文件内容被修改过的所有文件。 -print:将搜索结果输出到标准输出。 -print是一个默认选项,我们不必刻意去配置它。 ## find中使用正则表达式 find path -regex "xxx" find path -iregex "xxx" find . -regex '.*topic[0-9]+' #查找当前目录(包含子目录)下文件名为topic+num的文件