0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

详谈Linux的find命令

如意 来源:CSDN 作者:CaspianSea 2020-06-23 09:43 次阅读

find 是 Linux 下最有用的命令之一,熟练的使用它对于提高工作效率很有帮助。下面介绍它的一些用法

1. 最基本的 用法是:

find dir

这时,它将列出目录 dir下所有的文件和目录。

它相当于 find dir -print

如果使用 print0, 那么,每个匹配的文件名字之间用一个 ‘\0’ 分割(默认用的是换行符)。如果文件名包含空格的话,可以使用 print0

2. 按名字搜索使用 -name 选项。如果要使用两个搜索标准来搜索满足其中之一的文件,可以使用 -o (or)。

ls

A file dir1 dir2 dir3 file file1 file2 picture1 picture2 picture3

charles@taotao:~/test$ find 。 \( -name “*dir*” -o -name “*file*” \) -print

。/file2

。/A file

。/file1

。/dir3

。/dir1

。/file

。/dir2

-path选项则会把匹配的文件名或者路径名搜出来。

3. -regex 使用正则匹配。

ls

1.txt A file b.mp3 dir1 dir3 file1 picture1 picture3

2.txt a.mp3 c.avi dir2 file file2 picture2

charles@taotao:~/test$ find 。 -regex “.*\(\.mp3\|\.avi\)$”

。/a.mp3

。/b.mp3

。/c.avi

4. 找出不符合搜索条件的文件,可以使用 !:

$ find 。 ! -name “*.txt”

。/file2

。/A file

。/picture3

。/file1

。/picture2

。/dir3

。/a.mp3

。/dir1

。/picture1

。/file

。/b.mp3

。/dir2

。/c.avi

5. 路径搜索深度。

默认下,find 会递归搜查制定路径下所有子目录。可以使用 -maxdepth 和 -mindepth指定最多要搜查到指定目录下的几级目录,从指定目录的几级目录开始搜索。

如果要仅仅搜索当前目录下的文件,使用 find 。 -maxdepth 1 ;如果要搜索除当前目录下的所有文件,使用 find 。 -mindepth 2

6. 根据文件类型搜索

用 -type 指定。 常用的有 -type f (搜索文件), -type d(目录), -type l (符号链接)

7. 根据文件时间。 -atime (上一次的访问时间), -mtime (文件内容的修改时间), -ctime(文件属性的修改时间)。时间单位是天。数字前 +表示大于,-表示小于。

find 。 -type f -atime -7 -print

搜索最近7天内被访问的文件

另外还有分钟为单位的选项: -amin, -mmin, -cmin.用法类似。

8. 根据文件大小搜索。使用 -size选项。后面的数字同样可使用 +/-号。 数字后面跟后缀表示单位: b: 512 字节的 block; c: 字节; w: 2 字节; k: 1024 字节; M: 兆字节; G: 1024 兆

/media/DATA/video$ find 。 -type f -size +2G

。/Home Alone 1990 720p BluRay DTS x264-MgB/Home Alone 1990 720p BluRay DTS x264-MgB.mkv

。/My.Sassy.Girl.2001.720p.Blu-ray.x264.DTS-HDChina [PublicHD]/My.Sassy.Girl.2001.720p.Blu-ray.x264.DTS-HDChina.mkv

。/The Godfather part I.mkv

。/The Godfather Part 2 (1974) [1080p]/The.Godfather.Part.2.1974.1080p.BrRip.x264.BOKUTOX.YIFY.mp4

找出所有大于2G的文件。

9. 删除匹配的文件: 用 -delete

详谈Linux的find命令

还可以用:

:/usr/local/bin$ find 。 -name “*qemu*” -exec rm {} \;

rm: remove write-protected regular file `。/qemu-io‘?

10.根据文件的属性(读写,执行权限)和所有者搜索。 使用 -perm 和 -user

详谈Linux的find命令

11. 在 find 中执行其他的命令。 使用 -exec

详谈Linux的find命令

比如,把上面的owner为 root的改为 charles,:

{}是一个 place holder,它会被替换成搜索到的每个文件。

12. 忽略某些目录。 使用 -prune

find 。 -name “dir1” -prune -o -type f -print

列出当前目录下除 dir1目录以外的所有文件。

13. 拷贝搜索到的文件到另外一个目录。

find 。 -type f -name “*.ko” -exec cp {} ~/tmp/ \;

或者:

find 。 -type f -name “*.ko” | xargs -I {} cp {} ~/tmp

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11279

    浏览量

    209263
  • Find
    +关注

    关注

    0

    文章

    53

    浏览量

    11643
收藏 人收藏

    评论

    相关推荐

    Linux find命令的用法

    可以很肯定地说,find 命令Linux 后台开发人员必须熟知的操作之一,除非您使用的是 Windows Server。
    发表于 10-12 11:27 562次阅读

    Linux find命令详解

    find 命令是我们日常工作中比较常用的Linux命令。全面的掌握这个命令可以使很多操作达到事半功倍的效果。如果对
    发表于 11-30 10:11 1581次阅读

    掌握find命令的这几种用法,就没有找不到的文件!

    今天浩道跟大家分享linux下关于find命令的几种经典用法,让你在linux茫茫的文件海洋中可以找出任何想要的文件!
    发表于 12-06 14:19 809次阅读

    Linux内核编译详谈

    Linux内核编译详谈
    发表于 08-04 00:36

    linuxfind命令用法 linux学习心得

    find命令用来在指定目录下查找文件的命令,和locate不同,find命令是实时精确查找,不做模糊匹配,但是可以使用通配符查找,相对更精确
    发表于 01-23 15:30

    Linux内核编译详谈

    Linux内核编译详谈
    发表于 10-30 09:51 7次下载
    <b class='flag-5'>Linux</b>内核编译<b class='flag-5'>详谈</b>

    Linux文件查找命令find,xargs详述

    Linux文件查找命令find,xargs详述 前言:关于find命令 由于find具有强大的功
    发表于 11-07 11:17 0次下载

    Linux文件管理命令语法、参数、实例全汇总

    Linux find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find
    的头像 发表于 03-14 17:48 4129次阅读
    <b class='flag-5'>Linux</b>文件管理<b class='flag-5'>命令</b>语法、参数、实例全汇总

    Linux中的35个find命令用法

    Linux查找命令Linux系统中最重要和最常用的命令之一。查找用于根据与参数匹配的文件指定的条件来搜索和查找文件和目录列表的命令
    的头像 发表于 02-02 16:53 3656次阅读
    <b class='flag-5'>Linux</b>中的35个<b class='flag-5'>find</b><b class='flag-5'>命令</b>用法

    深入Linux操作环境的find和exec用法

    Linux下工作,find命令绝对是一个非常高频的命令。我们可以用find命令来找到符合某些关
    的头像 发表于 10-08 14:50 5431次阅读
    深入<b class='flag-5'>Linux</b>操作环境的<b class='flag-5'>find</b>和exec用法

    find exec命令实例教程

    Linux find命令是根据指定条件搜索文件和目录的绝佳工具。exec允许您对找到的文件执行指定操作。
    的头像 发表于 12-06 17:08 2737次阅读

    find命令查找技巧

    find命令是我们日常工作中比较常用的Linux命令。全面的掌握这个命令可以使很多操作达到事半功倍的效果。如果对
    的头像 发表于 03-20 09:33 791次阅读

    7种LinuxFind命令的高级用法

    可以很肯定地说,find 命令Linux 后台开发人员必须熟知的操作之一,除非您使用的是 Windows Server。
    的头像 发表于 03-31 09:27 1176次阅读

    linux中查找文件的命令

    Linux中,可以使用以下命令来查找文件: find 命令:可以在指定目录及其子目录中查找文件,支持根据文件名、文件类型、文件大小、文件修改时间等条件进行查找。 使用格式:
    的头像 发表于 11-08 14:24 1285次阅读

    linuxfind用法详解

    Linux中, find 命令是一个非常强大的工具,用于在指定目录下查找文件和目录。下面是 find 命令的用法和详细解释: 语法:
    的头像 发表于 11-08 14:29 706次阅读