如何在Linux中使用find命令

系统 Linux
使用正确的参数,find 命令是在你的系统上找到数据的强大而灵活的方式。find 是日常工具箱中功能更强大、更灵活的命令行工具之一,因此值得花费更多的时间。

https://s3.51cto.com/oss/201805/16/982697505de6626ead9a9fb95a835f87.png

使用正确的参数,find 命令是在你的系统上找到数据的强大而灵活的方式。

最近的一篇文章中,Lewis Cowles 介绍了 find 命令。

find 是日常工具箱中功能更强大、更灵活的命令行工具之一,因此值得花费更多的时间。

最简单的,find 跟上路径寻找一些东西。例如:

  1. find /

它将找到(并打印出)系统中的每个文件。而且由于一切都是文件,你会得到很多需要整理的输出。这可能不能帮助你找到你要找的东西。你可以改变路径参数来缩小范围,但它不会比使用 ls 命令更有帮助。所以你需要考虑你想要找的东西。

也许你想在主目录中找到所有的 JPEG 文件。 -name 参数允许你将结果限制为与给定模式匹配的文件。

  1. find ~ -name '*jpg'

可是等等!如果它们中的一些是大写的扩展名会怎么样?-iname 就像 -name,但是不区分大小写。

  1. find ~ -iname '*jpg'

很好!但是 8.3 名称方案是如此的老。一些图片可能是 .jpeg 扩展名。幸运的是,我们可以将模式用“或”(表示为 -o)来组合。

  1. find ~ ( -iname 'jpeg' -o -iname 'jpg' )

我们正在接近目标。但是如果你有一些以 jpg 结尾的目录呢? (为什么你要命名一个 bucketofjpg 而不是 pictures 的目录就超出了本文的范围。)我们使用 -type 参数修改我们的命令来查找文件。

  1. find ~ \( -iname '*jpeg' -o -iname '*jpg' \) -type f

或者,也许你想找到那些命名奇怪的目录,以便稍后重命名它们:

  1. find ~ \( -iname '*jpeg' -o -iname '*jpg' \) -type d

你最近拍了很多照片,所以让我们把它缩小到上周更改的文件。

  1. find ~ \( -iname '*jpeg' -o -iname '*jpg' \) -type f -mtime -7

你可以根据文件状态更改时间 (ctime)、修改时间 (mtime) 或访问时间 (atime) 来执行时间过滤。 这些是在几天内,所以如果你想要更细粒度的控制,你可以表示为在几分钟内(分别是 cminmminamin)。 除非你确切地知道你想要的时间,否则你可能会在 + (大于)或 - (小于)的后面加上数字。

但也许你不关心你的照片。也许你的磁盘空间不够用,所以你想在 log 目录下找到所有巨大的(让我们定义为“大于 1GB”)文件:

  1. find /var/log -size +1G

或者,也许你想在 /data 中找到 bcotton 拥有的所有文件:

  1. find /data -owner bcotton

你还可以根据权限查找文件。也许你想在你的主目录中找到对所有人可读的文件,以确保你不会过度分享。

  1. find ~ -perm -o=r

这篇文章只说了 find 能做什么的表面。将测试条件与布尔逻辑相结合可以为你提供难以置信的灵活性,以便准确找到要查找的文件。并且像 -exec-delete 这样的参数,你可以让 find 对它发现的内容采取行动。你有任何最喜欢的 find 表达式么?在评论中分享它们! 

责任编辑:庞桂玉 来源: Linux中国
相关推荐

2022-10-25 09:07:28

Linuxxargs命令

2018-06-26 09:15:24

Linux命令history

2022-11-18 10:16:26

Linuxwc 命令

2023-09-14 15:05:33

grep正则表达式

2021-01-13 09:40:26

Linuxexport命令

2021-06-03 09:02:10

Linuxfind文件

2023-01-31 17:36:22

IPLinux网络

2021-07-13 07:52:02

Linuxgrep命令

2019-09-16 19:00:48

Linux变量

2018-04-28 09:12:42

Linux

2021-07-20 10:00:28

Linuxgrep命令

2022-05-25 08:41:48

Linuxfd 命令文件

2022-11-21 12:06:24

fgrep命令Linux

2022-03-30 09:32:32

BashtestLinux

2022-11-23 08:14:42

bash 脚本test 命令

2018-07-26 09:55:44

Linux命令升级软件

2018-01-09 09:00:01

Linux命令文件压缩

2023-01-09 10:29:41

mv命令Linux

2018-10-09 08:30:55

UbuntuLinuxRAR文件

2015-12-16 16:01:13

点赞
收藏

51CTO技术栈公众号