首页 > 系统相关 >Linux命令(七)查找文件或目录 find

Linux命令(七)查找文件或目录 find

时间:2022-10-26 10:05:44浏览次数:44  
标签:文件 查找文件 命令 查找 Linux type find


  find 命令可以根据给定的路劲和表达式查找指定的文件或目录。find 参数选项很多,并且支持正则表达式,功能强大。 和管道结合使用可以实现复杂的功能,是系统管理和普通用户必须掌握的命令。

  一、find 命令格式说明

  path find命令查找的目录路径。

  -print find命令将匹配到的文件输出到标准输出。

  -exec find 命令对匹配的文件执行该参数所给出的Shell命令。

  -ok 和 -exec的作用相同,只是更安全,在执行每个命令之前,都会给出提示,让用户来确定是否执行。

  二、find命令常用参数说明

  -name 按照文件名查找文件

  -cpio: 对匹配的文件使用 cpio 命令,将这些文件备份到磁带设备中

  -prune 按照文件权限进行查找文件

  -user 按照文件属主来查找文件

  -group 按照文件所属的组来查找文件

  -mtime -n +n 按照文件更改的时间来查找文件,-n 表示更改时间距现在 n 天以内,+n 表示更改时间距现在 n 天以前

  -nogroup 查找无效所属组的文件

  -nouser 查找无效属主文件

  -newer file1 !file2 查找更改时间比 file1 新但比 file2 旧的文件

  -follow 如果 find 查找的为链接文件,就跟踪至连接所指向的文件

  -mount 在查找文件时不跨越文件系统 mount 点

  -fstype 查找位于某一类型文件系统中的文件

  -depth 在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找

  -size n 查找文件长度为 n 块的文件,带有 c 时表示文件长度以字节计

  -type 查找某一类型的文件

  -amin n 查找系统中最后 n 分钟访问的文件

  -atime n 查找系统中最后 n*24 小时访问的文件

  -cmin n 查找系统中最后 n 分钟被改变文件状态的文件

  -ctime n 查找系统中最后 n*24 小时被改变文件状态的文件

  -mmin n 查找系统中最后 n 分钟被改变文件数据的文件

  -mtime n 查找系统中最后 n*24 小时被改变文件数据的文件

  -empty 查找系统中空白的文件或目录,或目录中没有子目录的文件夹

  -false 查找系统中总是错误的文件

  -gid n 查找系统中文件数字组ID为 n 的文件

  -daystart 测试系统中从今天开始 24 小时以内的文件,用法类似于 -amin

  -help 显示命令摘要(帮助)

  -maxdepth levels 在某个层次目录中按照递减方法查找

  三、find基本用法

  find 如不加任何参数,表示查找当前路径下的所有文件和目录

  find -print 将结果打印到标准输出

  find /data/log 指定路劲查找

  find / -name "abc.txt" 在系统中查找 abc.txt 如果执行完毕没有找到,则说明系统中不存在该文件

  find 还支持正则表达式查找

  find /data/logs -mame "*.log" -type f -printf 查找符合指定字符串的文件

  find . -name "[0-9]" -type f 查找以数字开头的文件

  find / -mtime -1 |head 查找系统内最近24小时修改过的文件

  find / -mmin -15|head 查找系统内最近15 分钟修改过的文件

  find 使用 type 选项可以查找特定的文件类型,常见类型如下

  b 块设备文件

  d 目录

  c 字符设备文件

  p 管道文件

  l 符号链接文件

  f 普通文件

  find . -type d 查找当前路径中的所有目录

  find . -type f 查找当前路径中的所有文件

  find . -type l 查找当前路径中的所有符号链接文件

  更多实例将在使用中不断补充.....

  四、xargs命令

  find命令可以把匹配到的文件传递给 xargs 命令执行,在使用 find 命令的 -exec 选项处理匹配到的文件时,find将所有匹配到的文件一起传递给 exec 执行。由于有些系统对能够传递给 exec 的命令长度有限制,这样会引起溢出错误。这时可以使用 xargs 命令。

  find / type f -print | xargs file 查找系统中的每一个普通文件,并用 file 命令来测试它们分别属于哪一类文件。

  find . -type f -name "\.log" -print | xargs rm  查找当前目录下的 .log 文件,并删除 。

  find . -type f -exec ls -l {} \; 用 ls -l 列出所有匹配到的文件。

  find logs -type f -mtime +5 -exec rm {} \; 查找 log 中更改时间在 5 天前的文件并删除。

  find logs -type f -ok rm {} \; 查找 log中的所有普通文件并在删除前确认。

  find . -type f -name "\.log" -print | gerp "node" 查找当前目录下的 .log 文件,并从查找结果中筛选出带有 node 字符串的文件 。

标签:文件,查找文件,命令,查找,Linux,type,find
From: https://blog.51cto.com/yetaotao/5796920

相关文章

  • Linux文件目录结构一览表
    学习Linux,不仅限于学习各种命令,了解整个Linux文件系统的目录结构以及各个目录的功能同样至关重要。使用Linux时,通过命令行输入可以看到,在Linux根目录(/)下......
  • VMware安装中标麒麟Linux_server_x86_ZX64(兆芯版)
    VNware15自行百度镜像下载地址:NeoKylin_zx_linux_server_x86_64.iso(试用版)系统要求-512MB物理RAM(推荐使用1G以上RAM)-6G以上可用磁盘空间-800x6......
  • VMware以及Linux自定义安装
    自定义安装能够避免自动安装过程中的一些问题打开虚拟机点击创建新的虚拟机?先选择“稍后安装操作系统(s)”看一下纯净版的操作系统选择操......
  • VMware15虚拟机安装Linux(CentOS 8)图文教程
    VMware15虚拟机安装Linux(CentOS8)图文教程要么不干,要么做绝。弄就从最前端的开始。把网站弄成https访问了,发现自己对Linux几乎一无所知,突然想学习下.虽然不知道能学......
  • [C++]linux下实现ls()函数遍历目录
    intls(std::stringpath,std::string&ret){DIR*dirp=opendir(path.c_str());if(!dirp){return-1;}structstatst;structdirent*di......
  • VMware 安装Linux系统
    1、启动VMware,进入主界面2、点击“创建新的虚拟机”,进入创建虚拟机向导界面,建议初学者选择“典型(推荐)”3、点击“下一步”按钮,进入“安装客户机操作......
  • 执行linux命令,其中显示当前目录下的文件命令是
    展开全部linux系统下用ls命令列出当前目录下的文件。ls命令将每个由Directory参数指定的目录或者每个由File参数指定的名称写到标准输出,以及您所要求的和......
  • linux C 获取当前目录的实现
    linuxC获取当前目录的实现://获取当前目录#include#include#include#include//包含了LinuxC中的函数getcwd()#define......
  • linux 怎么对目录设置限额
    LINUX下磁盘限额的配置(以CentOS版本为例):1、编辑修改/etc/fstab文件vim/etc/fstabLABEL=//ext3defaults11#改为:LABEL=//ext3defaults,usrquo......
  • VMwareHorizon7.6官方中文版Linux桌面配置指南linux
    适用于Linux的VMwareHorizonClient安装和设置指南2020-04-18本《适用于Linux的VMwareHorizonClient安装和设置指南》文档提供了有关在Linux客户......