文件查找——find命令

简介:

find命令具有精确查找的功能,能为用户查找指定目录下的符合查找要求的所有具有读写权限的文件,并显示到文件屏幕上;

  find [option] [查找路径] [查找条件] [处理动作]

  查找路径:指定查询路径,默认情况下为当前目录;

  查找条件:可以根据属主,属组,没有属主,没有属组,文件名字,文件大小,文件访问时间等查询文件;

  处理动作:对于符合条件的文件进行某个处理动作,默认将查找结果显示到屏幕;


  查找条件:

  -name 文件名称:根据文件名进行查找;

  支持使用通配符:?,*,[],[^];

  例

  wKiom1kv0rmg4YAXAAAMtY5YAdY366.png-wh_50

  wKioL1kv0xDR5nAgAAAI7wH_dnc646.png-wh_50

  -iname 文件名称:根据文件名进行查找,不区分大小写;

  支持使用通配符:?,*,[],[^];

  例

  wKioL1kv00zA8etxAAAZjZZjI5g640.png-wh_50


  -links n:根据链接数为n的文件进行查找;

  例

  wKiom1kv08yBPzLXAAAYLZKJ59w417.png-wh_50


  -inum inode:根据inode编号进行查找;

  例

  wKiom1kv05PBVQmHAAATnpLJnRc140.png-wh_50

  

  -size [+|-| ]n[cwbkMG]:根据文件的大小进行查找;

  +3k:表示大小为3k至无穷的文件;

  -3k:表示大小为0k到2k的文件;

  3k:表示大小为1k到2k的文件;

  例

  wKiom1kv1ACCKg8iAAAPjOhsycA213.png-wh_50


  根据时间戳进行查找:

  -atime [+|-]n:根据文件访问时间进行查找,以天为单位;

  -ctime [+|-]n:根据文件改变时间进行查找,以天为单位;

  -mtime [+|-]n:根据文件修改时间进行查找,以天为单位;

 

  -amin [+|-]n:根据文件访问时间进行查找,以分钟为单位;

  -cmin [+|-]n:根据文件改变时间进行查找,以分钟为单位;

  -mmin [+|-]n:根据文件修改时间进行查找,以分钟为单位;

  -atime +3:表示四天以前被访问的文件;

  -atime -3:表示三天以内被访问的文件;

  -atime 3:表示三天到四天以内被访问的文件;

  例 显示根目录下最近三十天没有访问过的文件;

  wKioL1kv1Fax0neqAAAF82NUlh0752.png-wh_50

  

  根据文件类型查找:

  -type 文件类型

  b:块设备

  c:字符设备

  d:目录文件

  f:普通文件

  l:符号链接文件

  p:管道文件

  s:套接字文件

  例 显示/etc下为目录的文件

  wKiom1kv1JbCr-8sAAAGABJLKGw316.png-wh_50


  根据文件的属主和属组进行查找:

  -user uname:根据属主为指定用户的用户名进行查找

  -uid UID:根据属主

  -group gname

  -gid GID

  例 搜索根目录下属主为wjq,属组为wjq的文件;

  wKiom1kv1O-xS9XVAAAG_XDVdCM415.png-wh_50


  -nogroup:在文件的属组上,没有组所对应的组名;

  -nouser:在文件的属主上没有用户对应的用户名;

  例

  wKiom1kv1VnAYAASAAAGFIjOKik415.png-wh_50


  组合条件:

  -a:与

  -o:或

  -not,!:取反;

  逻辑组合条件遵循德摩根定律:

  非(A与B) == 非A或非B

  非(A或B) == 非A与非B

  例

  wKiom1kv1dKheKLUAAAHvY5buPw262.png-wh_50

  

  根据权限查找:

  -perm [/|-]mode

  mode:精确匹配指定权限;

  /mode:隐含了逻辑或的关系,任何一个权限位的权限中,只要有一位匹配,即可满足条件;

  -mode:隐含了逻辑与的关系,每一个权限位的权限中都必须同时包含指定权限位,才能满足条件;

  wKioL1kv1k6RNcB9AAAg1vFyWL0666.png-wh_50

  处理动作:

  -ls:在进行筛选文件后,将文件以ls -l显示文件详细信息;

  -print:输出到屏幕上,默认是存在的;

  -exec COMMAND {} \; :对于查找到的结果执行COMMAND命令;

  例 将根目录下没有属主属组的文件,将其设定为属主为root,属组为root的文件;

  wKiom1kv1pCBpL8hAAAH5VPL-EE449.png-wh_50

  例 将/etc下所有以a开头的文件移动到/mnt/aaa中

  wKiom1kv1zrAAhNGAAAIYfNHuts415.png-wh_50


本文转自 wujunqi1996 51CTO博客,原文链接:http://blog.51cto.com/12480612/1931393


相关文章
|
6月前
|
Linux
Linux命令(108)之dirname
Linux命令(108)之dirname
55 4
|
6月前
|
Linux
Linux命令(106)之rename
Linux命令(106)之rename
64 3
|
6月前
|
Linux
Linux命令(97)之rmdir
Linux命令(97)之rmdir
55 0
|
Linux
Linux命令 rename
Linux命令 rename
87 2
|
存储 安全 Linux
Shell命令操作Linux文件系统
  Linux文件系统是计算机操作系统中的一个关键组成部分,它用于管理和组织计算机上的数据和信息。先到根目录,然后打印当前目录下文件:
|
2月前
|
Linux Python Perl
Linux命令删除文件里的字符串
Linux命令删除文件里的字符串
42 7
|
5月前
|
Linux
探索Linux命令:`dirname`
`dirname`是Linux中的命令,用于从文件或目录路径中提取目录部分。基本语法是`dirname PATH`。示例包括:基本用法(如`dirname /home/user/documents/file.txt`返回`/home/user/documents`)、处理相对路径和末尾斜杠,以及在脚本中使用(如获取脚本所在目录)。注意事项包括`dirname`仅做字符串操作,不检查路径实际存在性。它是处理路径的便捷工具,适用于命令行和脚本编写。
|
5月前
|
算法 Linux
深入了解Linux命令:bunzip2
`bunzip2`是Linux中用于解压`.bz2`文件的命令,采用BWT和Huffman编码算法。基本用法是`bunzip2 file.txt.bz2`,文件解压后原文件会被删除。选项包括:`-c`输出到stdout,`-f`强制解压,`-k`保留源文件,`-q`静默模式,`-v`显示详细信息。注意权限问题及文件类型,`bunzip2`仅适用于`.bz2`文件。了解其用法能提升文件管理效率。
|
6月前
|
存储 弹性计算 运维
删除文件
【4月更文挑战第29天】
44 1
|
存储 Linux
Linux常用命令(2)——文件操作命令
Linux常用命令(2)——文件操作命令
100 0