首页 > 系统相关 >Linux find 命令

Linux find 命令

时间:2023-04-06 21:24:16浏览次数:33  
标签:文件 20 当前目录 命令 查找 天前 Linux find

Linux find 命令

常用命令

  • 寻找文件
  • 删除N天前的日志文件

Linux find 命令用于在指定目录下查找文件和目录。

它可以使用不同的选项来过滤和限制查找的结果。

语法

find [path] [expression]

参数说明 :

path 是要查找的目录路径,可以是一个目录或文件名,也可以是多个路径,多个路径之间用空格分隔,如果未指定路径,则默认为当前目录。

expression 是可选参数,用于指定查找的条件,可以是文件名、文件类型、文件大小等等。

expression 中可使用的选项有二三十个之多,以下列出最常用的部份:

  • -name pattern:按文件名查找,支持使用通配符 *?
  • -type type:按文件类型查找,可以是 f(普通文件)、d(目录)、l(符号链接)等。
  • -size [+-]size[cwbkMG]:按文件大小查找,支持使用 +- 表示大于或小于指定大小,单位可以是 c(字节)、w(字数)、b(块数)、k(KB)、M(MB)或 G(GB)。
  • -mtime days:按修改时间查找,支持使用 +- 表示在指定天数前或后,days 是一个整数表示天数。
  • -user username:按文件所有者查找。
  • -group groupname:按文件所属组查找。

find 命令中用于时间的参数如下:

  • -amin n:查找在 n 分钟内被访问过的文件。
  • -atime n:查找在 n*24 小时内被访问过的文件。
  • -cmin n:查找在 n 分钟内状态发生变化的文件(例如权限)。
  • -ctime n:查找在 n*24 小时内状态发生变化的文件(例如权限)。
  • -mmin n:查找在 n 分钟内被修改过的文件。
  • -mtime n:查找在 n*24 小时内被修改过的文件。

在这些参数中,n 可以是一个正数、负数或零。正数表示在指定的时间内修改或访问过的文件,负数表示在指定的时间之前修改或访问过的文件,零表示在当前时间点上修改或访问过的文件。

例如:-mtime 0 表示查找今天修改过的文件,-mtime -7 表示查找一周以前修改过的文件。

关于时间 n 参数的说明:

  • +n:查找比 n 天前更早的文件或目录。
  • -n:查找在 n 天内更改过属性的文件或目录。
  • n:查找在 n 天前(指定那一天)更改过属性的文件或目录。

实例

查找当前目录下名为 file.txt 的文件:

find . -name file.txt

将当前目录及其子目录下所有文件后缀为 .c 的文件列出来:

# find . -name "*.c"

将当前目录及其子目录中的所有文件列出:

# find . -type f

查找 /home 目录下大于 1MB 的文件:

find /home -size +1M

查找 /var/log 目录下在 7 天前修改过的文件:

find /var/log -mtime +7

将当前目录及其子目录下所有最近 20 天前更新过的文件列出,不多不少正好 20 天前的:

# find . -ctime  20

将当前目录及其子目录下所有 20 天前及更早更新过的文件列出:

# find . -ctime  +20

将当前目录及其子目录下所有最近 20 天内更新过的文件列出:

# find . -ctime  20

查找 /var/log 目录中更改时间在 7 日以前的普通文件,并在删除之前询问它们:

# find /var/log -type f -mtime +7 -ok rm {} \;

查找当前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件:

# find . -type f -perm 644 -exec ls -l {} \;

查找系统中所有文件长度为 0 的普通文件,并列出它们的完整路径:

# find / -type f -size 0 -exec ls -l {} \;

标签:文件,20,当前目录,命令,查找,天前,Linux,find
From: https://www.cnblogs.com/hcgk/p/17294225.html

相关文章

  • Linux diff 命令
    Linuxdiff命令Linuxdiff命令用于比较文件的差异。diff以逐行的方式,比较文本文件的异同处。如果指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子目录。语法diff[-abBcdefHilnNpPqrstTuvwy][-<行数>][-C<行数>][-D<巨集名称>][-I<字符或字符串>]......
  • Linux diffstat命令
    Linuxdiffstat命令Linuxdiffstat命令根据diff的比较结果,显示统计数字。diffstat读取diff的输出结果,然后统计各文件的插入,删除,修改等差异计量。语法diff[-wV][-n<文件名长度>][-p<文件名长度>]参数:-n<文件名长度>指定文件名长度,指定的长度必须大于或等于所有文件中......
  • Linux chmod命令
    Linuxchmod命令这个命令必须掌握,尤其421这三个值有一定要记熟练Linuxchmod(英文全拼:changemode)命令是控制用户对文件的权限的命令Linux/Unix的文件调用权限分为三级:文件所有者(Owner)、用户组(Group)、其它用户(OtherUsers)。只有文件所有者和超级用户可以修改文件或目录的......
  • 【Azure 应用服务】使用Docker Compose创建App Service遇见"Linux Version is too lo
    问题描述使用DockerCompose方式合并多个镜像(Images)文件,然后部署到AppService中,结果失败。报错LinuxVersion太长,不能超过4000个字符。错误消息:{"code":"DeploymentFailed","message":"Atleastoneresourcedeploymentoperationfailed.Pleaselistdeploymentoper......
  • Linux chown 命令
    Linuxchown命令这个也是必须需要掌握的命令,是安全常用命令Linuxchown(英文全拼:changeowner)命令用于设置文件所有者和文件关联组的命令。Linux/Unix是多人多工操作系统,所有的文件皆有拥有者。利用chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID,......
  • Linux 在游戏界的口碑树立
    说到娱乐,大家想到更多的肯定是游戏行业。王者荣耀、绝地求生、英雄联盟等游戏的运行都要依靠电脑来维持。那么什么是用来维持电脑运行的,让电脑运行的更稳定的呢?很多人会回答Windows平台,不得不承认Windows平台确实很普及,但是比Windows平台运行更稳定的当属Linux操作系统。并且Linux......
  • Linux cat 命令
    Linuxcat命令cat(英文全拼:concatenate)命令用于连接文件并打印到标准输出设备上。美[kɑnˈkæt(ə)ˌneɪt]英[kənˈkætəneɪt]注意读取文件的大小,如果cat一个1T的日志文件是个悲剧。使用权限所有使用者语法格式cat[-AbeEnstTuv][--help][--version]fileName......
  • Linux chattr命令
    Linuxchattr命令暂时知识记录,还未用到Linuxchattr命令用于改变文件属性。这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式:a:让文件或目录仅供附加用途。b:不更新文件或目录的最后存取时间。c:将文件或目录压缩后存放。d:将文件或目录排除在倾......
  • Linux chgrp 命令
    Linuxchgrp命令常用命令,因为安全要求,部署经常需要去rootLinuxchgrp(英文全拼:changegroup)命令用于变更文件或目录的所属群组。与chown命令不同,chgrp允许普通用户改变文件所属的组,只要该用户是该组的一员。在UNIX系统家族里,文件或目录权限的掌控以拥有者及所属群组来......
  • 报错:‘VUE-CLI-SERVICE‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
    启动前端的项目,命输入npmrundev时,报错:'vue-cli-service'不是内部或外部命令,也不是可运行的程序或批处理文件。如图:1、管理员身份打开 2.输入set-ExecutionPolicyRemoteSigned 3、选择A4、Pycharm-Terminal执行命令:npminstall需要安装一会儿,稍安勿躁,安装完成......