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中文网其他相关文章!

热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

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

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

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

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

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

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

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

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

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