首页 运维 linux运维 Linux中如何使用Find命令查找文件

Linux中如何使用Find命令查找文件

Mar 15, 2019 pm 04:25 PM
find linux 查找文件

Linux Find命令是Linux系统管理员工具库中最强大的工具之一,它允许我们根据用户给定的表达式搜索目录层次结构中的文件和目录,对每个匹配的文件应用用户指定的操作。下面本篇文章就来带大家了解一下Find命令的方法,希望对大家有所帮助。

Linux中如何使用Find命令查找文件

Linux  Find命令

使用find命令根据文件权限,类型,日期,所有权,大小等搜索文件。它还可以与其他工具结合使用,例如grep或sed对这些文件执行操作

在讨论如何使用find命令之前,我们先来了解一下基本语法:

find [options] [path...] [expression]
登录后复制

说明:

● options属性:控制符号链接,调试选项和优化方法的处理。

● path...属性:定义了find将搜索文件的起始目录。

● expression属性:由“options”,“搜索模式”和“由运算符分隔的操作”组成。

我们来看看下面的例子:

find  -L /home/projects/ -name "*.js" -exec chmod 644 {} \;
登录后复制

说明:此命令包含一个参数-L(options),它允许find命令跟随符号链接,搜索/home/projects/(path ...)下面的整个目录树,查找以.js(expression)结尾的所有文件,并将所有匹配文件的权限设置为644。

如何按类型查找文件?

要指定要查找的文件类型,需要使用-type参数。

可以使用以下描述符指定文件类型:

● f:常规文件

● d: 目录

● l:符号链接

● c:角色设备

● b:块设备

● p:命名管道(FIFO)

● s:套接字

示例:

如果要查找当前工作目录中的所有目录,可以使用:

find . -type d
登录后复制

如果要列出系统类型上的所有字符设备:

find / -type c
登录后复制

如何按名称查找文件?

按名称查找文件可能是find命令最常用的用法。要按名称查找文件,需要将该-name选项与要搜索的文件的名称一起传递。

示例:

要在/home/linuxize目录中搜索名为document.pdf的文件,可以使用以下命令:

sudo find /home/linuxize -type f -name document.pdf
登录后复制

如果要运行不区分大小写的搜索,可以-name使用-iname以下命令更改选项:

sudo find /home/linuxize -type f -iname document.pdf
登录后复制

说明:上面的命令将匹配Document.pdf,DOCUMENT.pdf ..等。

如何按扩展名查找文件?

按扩展名搜索文件与按名称搜索文件相同。

例如:

如果要查找以.log.gzinside /var/log/nginx目录结尾的所有文件,可以使用:

find /var/log/nginx -type f -name '*.log.gz'
登录后复制

如果要查找与正则表达式不匹配的所有文件,*.log.gz可以使用该-not参数。例如,要查找不以*.log.gz您结尾的所有文件,请使用:

find /var/log/nginx -type f -not -name '*.log.gz'
登录后复制

如何按大小查找文件?

要根据文件大小查找文件,需要将-size参数与大小条件一起传递。可以使用以下后缀指定文件大小:

● b:512字节块(默认)

● c:字节

● w:双字节字

● k:Kilobytes

● M:兆字节

● G:千兆字节

例如:

要在/tmp目录中查找完全1024字节的所有文件,可以运行以下命令:

find /tmp -type f -size 1024c
登录后复制

find命令还允许我们搜索大于或小于指定大小的文件。例如:

我们可以在当前工作目录中搜索小于1MB的所有文件,这需要在大小值之前添加减号:

find . -type f -size -1M
登录后复制

如果要搜索大小超过1MB的文件,则需要使用加号+:

find . -type f -size +1M
登录后复制

甚至可以搜索大小范围内的文件。例如,以下命令将查找介于1和2 MB之间的所有文件:

find . -type f -size +1M -size 21M
登录后复制

如何按修改日期查找文件?

find命令还可以根据上次修改,访问或更改时间来搜索文件。

与按大小搜索时相同,可以使用加号和减号来指定大于或小于。

例如:

几天前你修改了一个dovecot配置文件,但你忘了文件名。我们可以很容易地筛选以.conf结尾的/etc/dovecot/conf.d/目录中的所有文件,这些文件在过去5天内被修改为:

find /etc/dovecot/conf.d -name "*.conf" -mtime 5
登录后复制

我们还可以列出30天或更久前修改的/home目录中的所有文件:

find /home -mtime +30 -daystart
登录后复制

如何按权限查找文件?

要根据文件权限过滤文件,需要使用该-perm选项。

例如:

要在/var/www/html目录中查找权限为775的所有文件:

find /var/www/html -perm 644
登录后复制

还可以使用减号-或斜杠/为数字模式添加前缀。

当斜杠/用作前缀时,至少一个类别(用户,组或其他类别)必须至少为文件匹配设置相应的位。

find . -perm /444
登录后复制

说明:搜索对用户,组或其他人设置了读权限的所有文件。

如果使用减号-作为前缀,则必须至少设置要匹配的文件。

find . -perm -664
登录后复制

说明:搜索对所有者和组具有读写权限的文件,并且其他用户可以读取。

如何按所有者查找文件?

要查找特定用户或组拥有的文件,可以使用-user和-group选项。

例如,要搜索用户拥有的所有文件和目录linuxize,可以运行:

find / -user linuxize
登录后复制

这是更高级的示例,假设是希望查找用户www-data拥有的所有文件,并将匹配文件的所有权从www-data更改为nginx:

find / -user www-data -type f  -exec chown nginx {} \;
登录后复制

相关视频教程推荐:《linux教程

以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php中文网相关教程栏目!!!

以上是Linux中如何使用Find命令查找文件的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1667
14
CakePHP 教程
1426
52
Laravel 教程
1328
25
PHP教程
1273
29
C# 教程
1255
24
Linux体系结构:揭示5个基本组件 Linux体系结构:揭示5个基本组件 Apr 20, 2025 am 12:04 AM

Linux系统的五个基本组件是:1.内核,2.系统库,3.系统实用程序,4.图形用户界面,5.应用程序。内核管理硬件资源,系统库提供预编译函数,系统实用程序用于系统管理,GUI提供可视化交互,应用程序利用这些组件实现功能。

vscode上一步下一步快捷键 vscode上一步下一步快捷键 Apr 15, 2025 pm 10:51 PM

VS Code 一步/下一步快捷键的使用方法:一步(向后):Windows/Linux:Ctrl ←;macOS:Cmd ←下一步(向前):Windows/Linux:Ctrl →;macOS:Cmd →

git怎么查看仓库地址 git怎么查看仓库地址 Apr 17, 2025 pm 01:54 PM

要查看 Git 仓库地址,请执行以下步骤:1. 打开命令行并导航到仓库目录;2. 运行 "git remote -v" 命令;3. 查看输出中的仓库名称及其相应的地址。

notepad怎么运行java代码 notepad怎么运行java代码 Apr 16, 2025 pm 07:39 PM

虽然 Notepad 无法直接运行 Java 代码,但可以通过借助其他工具实现:使用命令行编译器 (javac) 编译代码,生成字节码文件 (filename.class)。使用 Java 解释器 (java) 解释字节码,执行代码并输出结果。

sublime写好代码后如何运行 sublime写好代码后如何运行 Apr 16, 2025 am 08:51 AM

在 Sublime 中运行代码的方法有六种:通过热键、菜单、构建系统、命令行、设置默认构建系统和自定义构建命令,并可通过右键单击项目/文件运行单个文件/项目,构建系统可用性取决于 Sublime Text 的安装情况。

Linux的主要目的是什么? Linux的主要目的是什么? Apr 16, 2025 am 12:19 AM

Linux的主要用途包括:1.服务器操作系统,2.嵌入式系统,3.桌面操作系统,4.开发和测试环境。Linux在这些领域表现出色,提供了稳定性、安全性和高效的开发工具。

laravel安装代码 laravel安装代码 Apr 18, 2025 pm 12:30 PM

要安装 Laravel,需依序进行以下步骤:安装 Composer(适用于 macOS/Linux 和 Windows)安装 Laravel 安装器创建新项目启动服务访问应用程序(网址:http://127.0.0.1:8000)设置数据库连接(如果需要)

git软件安装 git软件安装 Apr 17, 2025 am 11:57 AM

安装 Git 软件包括以下步骤:下载安装包运行安装包验证安装配置 Git安装 Git Bash(仅限 Windows)

See all articles