千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > find命令详解

find命令详解

来源:千锋教育
发布人:zyh
时间: 2023-06-28 10:54:00 1687920840

  find 命令是 Linux/Unix 系统中非常常用的一种命令,用于在指定目录及其子目录中查找文件并进行相应的操作。下面是 find 命令的详细介绍:

  基本语法  

cssCopy code
find [path] [expression]

  其中,path 表示要查找的目录或文件,可以是相对路径或绝对路径;expression 表示查找的条件,例如按名称查找、按类型查找、按大小查找等等。

  常用参数

  -name pattern:按名称查找文件,pattern 表示文件名的模式,支持通配符,例如 *.txt。

  -type type:按类型查找文件,type 表示文件类型,例如 f 表示普通文件,d 表示目录。

find命令详解

  -size size:按文件大小查找文件,size 表示文件大小,支持多种单位,例如 10M 表示 10MB,+10M 表示大于 10MB。

  -mtime days:按修改时间查找文件,days 表示天数,-n 表示修改时间在 n 天以内,+n 表示修改时间在 n 天以前。

  -exec command {} \;:执行命令,{} 表示查找到的文件名,\; 表示命令结束。

  示例

  1.查找当前目录下所有的文件和目录:  

find .

  2.查找当前目录下所有的文件,但不包括子目录:  

find . -maxdepth 1 -type f

    3.查找 /usr/local 目录下所有的 .txt 文件:  

find /usr/local -name "*.txt"

  4.查找 /usr/local 目录下所有的 .txt 文件,但不包括子目录:  

find /usr/local -maxdepth 1 -name "*.txt"

  5.查找 /usr/local 目录下所有的 .txt 文件,并且文件大小大于 10MB:  

find /usr/local -name "*.txt" -size +10M

  6.查找 /usr/local 目录下所有修改时间在 7 天以内的 .txt 文件:  

find /usr/local -name "*.txt" -mtime -7

  7.查找 /usr/local 目录下所有 .txt 文件,并将它们删除: 

find /usr/local -name "*.txt" -exec rm {} \;

  注意事项

  ·find 命令默认会查找指定目录及其子目录中的所有文件和目录,如果不想查找子目录,可以使用 -maxdepth 参数。

  ·find 命令查找到的文件名是相对路径或绝对路径,如果想要在执行命令时使用相对路径,需要将 {} 替换为 ./{}。

  ·-exec

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT