linux命令-find
目录
1. 主要作用
在目录中查找文件
2. -name, 按文件名查找
命令:
find . -name "*.sw[p o]"
说明:在当前目录及子目录中查找.swp或.swo文件,可以通过[]来进行文件名扩展
3. -maxdepth/-mindepth, 按目录深度查找
命令:
find . -name "user*" -maxdepth 2 # 目录深度大于2时不再查找
find . -name "user*" -mindepth 2 # 目录深度小于2时不再查找
说明: 无
4. -type, 按文件类型查找
命令:
find . -name "user*" -type d # 目标文件为directory
find . -name "user*" -type f # 目标文件为regular file
find . -name "user*" -type l # 目标文件为symbolic link
说明: 无
5. -user, 按用户名查找
命令:
find . -user root # 目标文件所属用户名为root
说明:无
6. -size, 按文件大小查找
命令:
find . -size +512k # 查找大于512k的文件
find . -size +1M # 查找大于1M的文件
find . -size -512k -type f # 查找小于512k的普通文件
说明:见命令
7. -empty, 查找空目录或size=0的文件
命令:
find . -empty
说明:略
8. 按时间查找
命令:
find . -atime -2 # 查找2天内访问过的文件
find . -atime +2 # 查找2天前访问过的文件
find . -mtime -2 # 查找2天内修改过的文件
find . -mtime +2 # 查找2天前修改过的文件
find . -ctime -2 # 查找2天内状态改动过的文件
find . -ctime +2 # 查找2天前状态改动过的文件
#---------------
find . -amin -60 # 查找60分钟内访问过的文件
find . -amin +60 # 查找60分钟前访问过的文件
find . -mmin -60 # 查找60分钟内修改过的文件
find . -mmin +60 # 查找60分钟前修改过的文件
find . -cmin -60 # 查找60分钟内状态改动过的文件
find . -cmin +60 # 查找60分钟前状态改动过的文件
说明:
- atime, 是指access time,使用more、cat等命令获取文件内容,会更新这个时间,ls、stat等不会。
- mtime,是指modify time,使用vim修改并保存,会更新这个时间,ls -l列出的时间即mtime。
- ctime,是指change time,该文件的i节点最后一次被修改的时间,chmod、chown命令修改文件属性时,这个时间会更新。
9. help信息
$ find -help
Usage: find [-H] [-L] [-P] [-Olevel] [-D debugopts] [path...] [expression]
default path is the current directory; default expression is -print
expression may consist of: operators, options, tests, and actions:
operators (decreasing precedence; -and is implicit where no others are given):
( EXPR ) ! EXPR -not EXPR EXPR1 -a EXPR2 EXPR1 -and EXPR2
EXPR1 -o EXPR2 EXPR1 -or EXPR2 EXPR1 , EXPR2
positional options (always true): -daystart -follow -regextype
normal options (always true, specified before other expressions):
-depth --help -maxdepth LEVELS -mindepth LEVELS -mount -noleaf
--version -xdev -ignore_readdir_race -noignore_readdir_race
tests (N can be +N or -N or N): -amin N -anewer FILE -atime N -cmin N
-cnewer FILE -ctime N -empty -false -fstype TYPE -gid N -group NAME
-ilname PATTERN -iname PATTERN -inum N -iwholename PATTERN -iregex PATTERN
-links N -lname PATTERN -mmin N -mtime N -name PATTERN -newer FILE
-nouser -nogroup -path PATTERN -perm [-/]MODE -regex PATTERN
-readable -writable -executable
-wholename PATTERN -size N[bcwkMG] -true -type [bcdpflsD] -uid N
-used N -user NAME -xtype [bcdpfls] -context CONTEXT
actions: -delete -print0 -printf FORMAT -fprintf FILE FORMAT -print
-fprint0 FILE -fprint FILE -ls -fls FILE -prune -quit
-exec COMMAND ; -exec COMMAND {} + -ok COMMAND ;
-execdir COMMAND ; -execdir COMMAND {} + -okdir COMMAND ;
Valid arguments for -D:
exec, opt, rates, search, stat, time, tree, all, help
Use '-D help' for a description of the options, or see find(1)
Please see also the documentation at http://www.gnu.org/software/findutils/.
You can report (and track progress on fixing) bugs in the "find"
program via the GNU findutils bug-reporting page at
https://savannah.gnu.org/bugs/?group=findutils or, if
you have no web access, by sending email to <bug-findutils@gnu.org>.