Linux下的find命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下的find命令相关的知识,希望对你有一定的参考价值。

Linux中的find命令及其相关内容(灰常重要):


Linux下find命令用于在目录结构中搜索文件,并执行相关操作。Linux为find命令提供了相当多的查找调价,功能强大。由于find具有非常强大的功能,所以它的选项也很多。即使在系统中含有网络文件系统(NFS),若具有相应权限,find命令该文件系统中同样有效。

在运行非常消耗资源的find命令是,都倾向于把它放在后台执行,因为遍历一个大的文件系统(30G以上)可能会话费很长的时间。


*格式:

find pathname -option[-print -exec -ok...]

pathname:查找路径。例如:用.表示当前目录,用/表示系统目录

-option:


*命令参数:

-print:将匹配的文件输出到标准输出

-exec:对匹配的文件执行所给的shell命令。形式为:command { } \;注意{ }和\;之间的空格

-ok:和-exec作用相同。只不过以一种更安全的模式执行该参数所给的shell命令。在执行每个命令之前,都会给出提示,让用户确定是否执行。


  1. -name:按照文件名称查找

    a)按文件全名查找

技术分享

技术分享

 b)按文件名的一部分查找

    查找02开头的文件

技术分享

    查找以.c结尾的文件

技术分享

  c)在当前目录下按名字找(用.表示当前目录,用/表示系统目录)缺省时,默认在当前目录下找

技术分享

  c)查以大写字母开头的文件

技术分享

  d)查以两个小写字母和两个数字结尾的txt文件

技术分享

  e)查找以0开头或以1开头的文件

技术分享


2. 按修改时间查找最近文件

a)查找home目录下最近两天修改的文件

技术分享

b)查找20分钟内存取过的文件

技术分享

    -mtime -10(10天内改动的文件)

    -atime -9(9天内存取过的文件)

    -mmin +60(60分钟前改动过的文件)

    -amin -30(30分钟内存取过的文件)

c)在/home下查更新时间比test.test近的文件或目录

技术分享

d)在/home/footmart/cmd下查存取时间比tmp.txt近的文件或目录

技术分享

e)/home/footmart/cmd中在2日内被存取过的文件或目录

技术分享


3.按用户查找文件或目录

a)查找用户root(footmart)在当前目录中的文件

技术分享












*命令选项:

-name:按照文件名称查找


-prune:不在当前指定的路径查找。如果同时指定了-depth选项,则prune被忽略

-user:按照文件属主查找

-group:按照文件属组查找

-mtime -n +n:按照文件更改时间查找。-n 指距离现在时间n天以内;+n n天以外

-nogroup:查找无效属组文件

-nouser:查找无效属主文件

-newer file1 !file2:查找更改时间比file1新比file2旧的文件

-type:查找某一类型文件

b:块设备文件

d:目录

c:字符设备文件

P:管道文件

l:符号链接文件

f:普通文件

-size n[c]查找文件长度为n块的文件 有[c]表示文件长度以字节计

-depth:查找时,首先查找当前目录文件,然后再在其子目录查找

-fstype:查找位于某一类型文件系统中的文件,文件系统类型可在/etc/fstab中找到

-mount:查找文件不跨越文件系统mount点

-follow:如遇到链接文件,则跟踪至链接所指向文件

-cpio:对匹配的文件使用cpio命令,将文件备份到磁带设备中 


以上是关于Linux下的find命令的主要内容,如果未能解决你的问题,请参考以下文章

linux下的find与grep命令的功能相似吗?

Linux find 命令详解

linux下的find文件查找命令与grep文件内容查找命令

Linux下的搜索查找命令的详解(find)

linux下的find文件查找命令与grep文件内容查找命令

linux下的find文件查找命令与grep文件内容查找命令