find:查找目录下的文件
有些时候,我们可能会忘了某个文件所在的位置,此时就需要通过find来查找。还有些时候,我想要找到,某个目录下,所有小于1k的文件。……还还还有些时候,我们想找到,某个目录下,所有以.sh结尾的脚本。
Linux中的find命令用于查找目录下的文件。
# find的语法(注意模块先后顺序) 命令 需查找的路径 参数模块 限定条件 动作 (后面这三个合一块叫表达式) find [path...] [options] [tests] [action] find /etc/ -name "*conf*" -a -name "*config*" # [path...]:目录路径 # [options]模块 -depth //从指定目录下最深层的子目录开始查找 -maxdepth levels #//查找的最大目录级数,levels 为自然数 -regextype type //改变正则表达式的模式。默认为 emacs,还有posix-awk、posix-basic等 # [tests]模块 -mtime [-n|n|+n] #按照文件的修改时间来在找文件(这个参数最常用),具体说明如下。 -n 表示文件更改时间距现在n天以内 +n 表示文件更改时间距现在n天以前 n是距现在第n天 -atime [-n|n|+n] 按照文件的访问时间来查找文件,单位是天 -ctime [-n|n|+n] 按照文件的状态改变时问来查找文件,单位是天 -amin 按照文件的访问时间来查找文件,单位是分钟 -cmin 按照文件的状态改变时间来查找文件,单位是分钟 -mmin 按照文件的修改时间来查找文件,单位是分钟 -group 按照文件所属的组来查找文件 -name #按照文件名查找文件,只支持* ? []等特殊通配符 -newer 查找更改时间比指定文件新的文件 -nogroup 查找没有有效用户组的文件,即该文件所属的组在/ete/groups 中不存在 -nouser 查找没有有效属主的文件,即该文件的属主在 /etc/passwd 中不存在 -path pattern 指定路径样式,配合-prune参数排除指定目录 -perm 按照文件权限来查找文件 -regex 接正则表达式 -iregex 接正则表达式,不区分大小写 -size n[cwbkMG] 可以按照文件大小来查找文件(块或字节) -user 按照文件属主来查找文件 -type # 查找某一类型的文件,具体说明如下 b (块设备文件) c(字符设备文件) d(目录) p(管道文件) l(符号链接文件) f(普通文件) s (socket 文件) D (door) # [action]模块:当查找到一个文件后,需要对文件进行如何处理。默认动作-print -print