Linux查找文件

本文遵循BY-SA版权协议,转载请附上原文出处链接。


本文作者: 黑伴白

本文链接: http://heibanbai.com.cn/posts/76d4dd6f/

Linux查找文件

find 命令⽤于在指定⽬录下递归地查找符合条件的⽂件和⽬录。可以根据⽂件名、类型、⼤⼩、权限、修改⽇期等多种条件来搜索⽂件。

基本⽤法: find [path] [options] [expression]

  • path:指定 find 命令开始搜索的⽬录路径。 . 为当前⽬录。可以指定多个路径。

  • options:定义搜索的具体条件,如⽂件名、⽂件类型、⼤⼩、权限、所有者、修改时间等。如果没有指定搜索条件, find 命令会列出指定路径下的所有⽂件。

  • expression:对搜索到的⽂件执⾏的操作,如打印⽂件名、删除⽂件等。如果没有指定操作,则默认操作是打印到标准输出。

常⽤的搜索条件

按名称搜索-name 'pattern' :按照⽂件名模式搜索⽂件。模式内可以使⽤通配符。

按类型搜索

  • -type f :只搜索⽂件。

  • -type d :只搜索⽬录。

按⼤⼩搜索

  • -size +2M :搜索⼤于 2MB 的⽂件。

  • -size -5k :搜索⼩于 5KB 的⽂件。

按修改时间搜索

  • -mtime +7 :搜索最后修改时间在 7 天前的⽂件。

  • -mtime -1 :搜索最后修改时间在 1 天内的⽂件。

按权限搜索

  • -perm 644 :搜索权限正好为 644 的⽂件。

常⽤操作

打印⽂件名

  • -print :显示搜索结果的完整路径名。

执⾏命令

  • -exec command {} \; :对每个搜索到的⽂件执⾏指定的命令。 {} 代表当前找到的⽂件名。

示例

①、查找并列出当前⽬录及⼦⽬录下所有的 .txt ⽂件:

1
find . -type f -name "*.txt"

②、搜索 /home ⽬录下所有修改时间在 10 天前的 .jpg ⽂件:

1
find /home -type f -name "*.jpg" -mtime +10

③、搜索 /var/log ⽬录下所有⼤于 50MB 的⽂件:

1
find /var/log -type f -size +50M

④、查找并对所有 .txt ⽂件执⾏ chmod 命令改变权限:

1
find . -type f -name "*.txt" -exec chmod 755 {} \;

蚂蚁再小也是肉🥩!


Linux查找文件
http://heibanbai.com.cn/posts/76d4dd6f/
作者
黑伴白
发布于
2024年5月8日
许可协议

“您的支持,我的动力!觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”

微信二维码

微信支付

支付宝二维码

支付宝支付