英文:Ben Cotton,翻译:Linux中国/geekpi

linux.cn/article-9648-1.html

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

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

find /

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

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

find ~ -name '*jpg'

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

find ~ -iname '*jpg'

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

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

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

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

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

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

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

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

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

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

find /var/log -size +1G

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

find /data -owner bcotton

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

find ~ -perm -o=r

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

如何在 Linux 中使用 find相关推荐

  1. shell中竖线的作用_如何在 Linux 中安装、配置和使用 Fish Shell?

    每个 Linux 管理员都可能听到过 shell 这个词.你知道什么是 shell 吗? 你知道 shell 在 Linux 中的作用是什么吗? Linux 中有多少个 shell 可用? -- Ma ...

  2. linux命令行运行c程序,如何在Linux中编写和运行C程序

    Linux正在成为开发人员的编程天堂,成为开源和免费操作系统. Turbo C编译器已经是一种编译程序的旧方法,所以让程序员转向Linux以获得新的编程环境. 在本文中,我们将解释如何编写,编译和运行 ...

  3. 如何在 Linux 中使用类似智能手机外观的 Conky 天气插件

    如何在 Linux 中使用类似智能手机外观的 Conky 天气插件 智能手机都拥有一些平滑地融入手机外观的天气小插件,现在幸亏有了 Flair Weather Conky,你便可以在你的 Linux ...

  4. 如何在 Linux 中创建一个共享目录

    作为系统管理员,你可能有一个特定目录,你希望为 Linux 服务器上的每个用户授予读/写访问权限.在本指南中,我们将回顾如何在 Linux 中对特定目录(共享目录)上的所有用户启用写访问. 这要求设置 ...

  5. ubuntu 安装yum_如何在 Linux 中安装微软的 .NET Core SDK | Linux 中国

    本分步操作指南文章解释了如何在 Linux 中安装 .NET Core SDK 以及如何使用 .NET 开发出第一个应用程序.-- Sk致谢译自 | ostechnix.com 作者 | Sk译者 | ...

  6. 禁止linux关机,如何在Linux中禁用关机和重新启动命令

    shutdown命令调度一个Linux系统关闭电源的时间,它也可以用于在使用特定选项调用时停止,关闭电源或重启机器 ,并重新引导系统重新启动. 默认情况下,某些Linux发行版(如Ubuntu,Lin ...

  7. linux内核如何安装vim,如何在Linux 中安装和使用 PacVim?

    描述 你好,Vim用户!今天,我偶然发现了一个很酷的程序来提高 Vim 的使用技巧.Vim 是编写和编辑代码的绝佳编辑器.然而,你们中的一些人(包括我)仍在陡峭的学习曲线中挣扎.再也不用了!来看看 P ...

  8. 如何在Linux中安装和使用Silver Searcher(程序员的代码搜索工具)

    Silver Searcher是一个免费的开源跨平台源代码搜索工具,类似于ack ( 类似于程序员的grep工具 ),但速度更快. 它运行在类Unix系统和Windows操作系统上. 银色搜索者和ac ...

  9. linux中original_如何在 Linux 中整理磁盘碎片

    如何在 Linux 中整理磁盘碎片 转载自: 如何在 Linux 中整理磁盘碎片​linux.cn 有一个神话是 linux 的磁盘从来不需要整理碎片.在大多数情况下这是真的,大多数因为是使用的是优秀 ...

  10. rust安装教程linux,如何在 Linux 中安装 Rust 编程语言

    Rust 通常被称为 rust-lang.Rust 是一个由 Mozilla Research 赞助的通用的.多范式.现代的.跨平台和开源系统编程语言. 它旨在实现安全性.速度和并发性等目标. Rus ...

最新文章

  1. 【 MATLAB 】unmkpp 函数介绍
  2. 轮播插件unsilder 源码解析(一)---使用
  3. 华为注册鸿蒙商标与三海经,华为注册了一本《山海经》?除了鸿蒙商标,还有很多...
  4. python发邮件实例_python 发送邮件实例
  5. android 保存图片出现2张_OriCell第三届细胞培养图片大赛来啦~ - 实验动物
  6. 在浏览器里友好的变量输出查看函数方法
  7. 使用GDAL的MEM内存文件保存临时文件
  8. 简单易懂的softmax交叉熵损失函数求导
  9. JDK API 1.6 中文版 及其简单使用
  10. PLC的模糊PID控制
  11. 英语视听说第六版答案
  12. 降噪耳机简介及降噪技术-ANC、ENC、DSP、CVC
  13. 新买的电脑 Windows10/Windows11即将过期怎么办
  14. RFM、PSM、波士顿矩阵模型简介
  15. 串行通信又称为点对点通信(PtP),其中点对点如何理解
  16. html方框打勾字段,HTML+CSS入门 如何设置 checkbox复选框控件的对勾√样式
  17. Error 1924.Could not update environment variable FNL_LICENSE_NUMBER.  Verify that you have sufficien
  18. 关于动态内存分配malloc的初级用法和注意事项
  19. 安装PS 无法选择路径
  20. 我在linux主机用arm-linux-gcc编译后,复制到开发板根目录运行,出现/bin/sh: ./hello not found

热门文章

  1. ABAP 7.53 中的ABAP SQL(原Open SQL)新特性
  2. zookeeper启动失败排查
  3. cogs 1456. [UVa 10881,Piotr's Ants]蚂蚁
  4. 170728、单例模式的三种水平代码
  5. word-breakword-wrap
  6. L1-013. 计算阶乘和
  7. SQLServer—端口概念
  8. 针对监控摄像机(海康、大华等)进行手动录像的录像文件播放器功能设计
  9. 在windows下使用vim
  10. C编程,随机数,排序