Linux find命令教程:如何使用查找文件及目录(附实例教程和注意事项)

您所在的位置:网站首页 linux查看一个目录的大小命令 Linux find命令教程:如何使用查找文件及目录(附实例教程和注意事项)

Linux find命令教程:如何使用查找文件及目录(附实例教程和注意事项)

#Linux find命令教程:如何使用查找文件及目录(附实例教程和注意事项)| 来源: 网络整理| 查看: 265

Linux find命令介绍

Linux find命令是Linux系统管理员工具箱中最强大的工具之一。它根据用户给定的表达式在目录层次结构中搜索文件和目录,并可以对每个匹配的文件执行用户指定的操作。你可以使用find命令根据它们的权限、类型、日期、所有权、大小等搜索文件和目录。它还可以与其他工具如grep或sed结合使用。

Linux find命令适用的Linux版本

find命令在所有主流的Linux发行版中都是可用的,包括但不限于Ubuntu, Debian, Fedora, CentOS, RHEL, SUSE等。在大多数发行版中,find命令是预装的,所以你不需要安装任何额外的包。如果你发现你的系统中没有find命令,你可以使用你的包管理器来安装它。在基于Debian的系统中,你可以使用apt-get,在基于RHEL的系统中,你可以使用yum或dnf。

[[email protected] ~]$ sudo apt-get install findutils # Debian-based systems [[email protected] ~]$ sudo yum install findutils # RHEL 7 and below [[email protected] ~]$ sudo dnf install findutils # RHEL 8 and above Linux find命令的基本语法

find命令的基本语法如下:

find [path] [expression]

其中,path表示要搜索的路径,expression表示要搜索的条件(如文件名、大小等)。

Linux find命令的常用选项说明

find命令有很多选项,下面列出了其中最常用的20个选项:

选项描述-name按照文件名搜索-type按照文件类型搜索-size按照文件大小搜索-mtime按照文件修改时间搜索-exec对搜索结果执行指定命令-maxdepth设置搜索深度-mindepth设置搜索深度-user按照文件所有者搜索-group按照文件所属组搜索-perm按照文件权限搜索-print将搜索结果输出到标准输出-delete删除搜索结果-ok和-exec类似,但需要确认-iname按照文件名搜索(不区分大小写)-printf按照指定格式输出搜索结果-regex按照正则表达式搜索-newer按照文件修改时间搜索-depth从深度优先搜索改为广度优先搜索-mount只搜索当前挂载的文件系统-xdev同-mound选项 Linux find命令的实例 实例1:按照文件名搜索 # 查找当前目录下所有以.txt结尾的文件 find . -name "*.txt" 实例2:按照文件类型搜索 # 查找当前目录下所有普通文件(排除目录和符号链接) find . -type f 实例3:按照文件大小搜索 # 查找当前目录下所有大于1M的文件 find . -size +1M 实例4:按照文件修改时间搜索 # 查找当前目录下所有最近7天内修改过的文件 find . -mtime -7 实例5:对搜索结果执行指定命令 # 将当前目录下所有以.txt结尾的文件复制到/tmp目录下 find . -name "*.txt" -exec cp {} /tmp \; 实例6:删除搜索结果 # 删除当前目录下所有以.txt结尾的文件 find . -name "*.txt" -delete 实例7:按照指定格式输出搜索结果 # 输出当前目录下所有文件的路径和大小 find . -printf "%p - %s\n" 实例8:按照正则表达式搜索 # 查找当前目录下所有以a开头、b结尾的文件 find . -regex "./a.*b$" 实例9:按照文件修改时间搜索 # 查找当前目录下所有最近7天内修改过的文件 find . -newermt "7 days ago" Linux find命令的注意事项 执行find命令时,请确保当前用户对要搜索的目录有足够的权限,否则可能会搜索不到文件。如果搜索结果包含了特殊字符(如空格、引号等),需要用引号将搜索条件括起来,或者使用转义符号。如果搜索结果较多,可以使用管道符号(|)将其传递给其他命令进行处理。如果出现bash: find: command not found的错误提示,说明系统中没有安装find命令,可以通过使用以下命令安装: # CentOS/RHEL系统 sudo yum install findutils # Ubuntu/Debian系统 sudo apt-get install findutils

更多详解可以参考: Linux find命令教程(用法详解):如何在Linux系统中搜索文件和目录



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3