Linux下find命令在文件夹结构中搜索文件,并运行指定的操作。Linux下find命令提供了相当多的查找条件,功能非常强大。由于find具有强大的功能,所以它的选项也非常多。当中大部分选项都值得我们花时间来了解一下。

即使系统中含有网络文件系统( NFS)。find命令在该文件系统中相同有效,仅仅要你具有对应的权限。

在运行一个非常消耗资源的find命令时。非常多人都倾向于把它放在后台运行,由于遍历一个大的文件系统可能会花费非常长的时间(这里是指30G字节以上的文件系统)。


1.命令格式:

find pathname -options [-print -exec -ok ...]


2.命令功能:

用于在文件树种查找文件,并作出对应的处理


3.命令參数:

pathname: find命令所查找的文件夹路径。比如用.来表示当前文件夹,用/来表示系统根文件夹。

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

-exec: find命令对匹配的文件运行该參数所给出的shell命令。

对应命令的形式为'command' {  } \;,注意{   }和\;之间的空格。

-ok: 和-exec的作用同样,仅仅只是以一种更为安全的模式来运行该參数所给出的shell命令,在运行每个命令之前,都会给出提示,让用户来确定是否运行。


4.命令选项:

-name   依照文件名称查找文件。

-perm   依照文件权限来查找文件。

-prune  使用这一选项能够使find命令不在当前指定的文件夹中查找,假设同一时候使用-depth选项,那么-prune将被find命令忽略。

-user   依照文件属主来查找文件。

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

-mtime -n +n  依照文件的更改时间来查找文件, - n表示文件更改时间距如今n天以内。+ n表示文件更改时间距如今n天曾经。find命令还有-atime和-ctime 选项。但它们都和-m time选项。

-nogroup  查找无有效所属组的文件。即该文件所属的组在/etc/groups中不存在。

-nouser   查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。

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

-type  查找某一类型的文件。诸如:

b - 块设备文件。

d - 文件夹。

c - 字符设备文件。

p - 管道文件。

l - 符号链接文件。

f - 普通文件。

-size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。-depth:在查找文件时,首先查找当前文件夹中的文件,然后再在其子文件夹中查找。
-fstype:查找位于某一类型文件系统中的文件。这些文件系统类型通常能够在配置文件/etc/fstab中找到,该配置文件里包括了本系统中有关文件系统的信息。

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

-follow:假设find命令遇到符号链接文件,就跟踪至链接所指向的文件。

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

另外,以下三个的差别:

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

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

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

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

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

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

5. 命令实例:

实例一:查找指定时间内改动过的文件

命令:find -atime -2

说明:查找48小时内改动过的文件

实例二:依据关键词查找

命令:find . -name "*.log"

说明:在当前文件夹查找以.log结尾的文件。

". "代表当前文件夹

[root@localhost test]# find . -name "*.log"
./log_link.log
./log2014.log
./test4/log3-2.log
./test4/log3-3.log
./test4/log3-1.log

实例三:依照文件夹或文件的权限来查找文件

命令:find /opt/soft/test/ -perm 777

说明: 查找/opt/soft/test/文件夹下权限为777的文件

实例四:按类型查找

命令:find . -type f -name "*.log"

说明:查找当文件夹,以.log结尾的普通文件

实例五:查找当前全部文件夹并排序

命令:find . -type d | sort

实例六:按大小查找文件

命令:find . -size +1000c -print

说明:查找当前文件夹大于1K的文件

实例七:查找当前文件夹及其子文件夹下以inquiry开头的文件

find ./ -name "inquiry*" 2> /dev/null

说明:

1> /dev/null 表示将命令的标准输出重定向到 /dev/null
2> /dev/null 表示将命令的错误输出重定向到 /dev/null

实例八:查找当前文件夹及其子文件夹下以inquiry开头的文件夹

find ./ -name "inquiry*" -type d 2> /dev/null

转载于:https://www.cnblogs.com/lxjshuju/p/6789206.html

Linux经常使用命令(十八) - find概述相关推荐

  1. Linux驱动开发(十八)---网络(网卡)驱动学习

    前文回顾 <Linux驱动开发(一)-环境搭建与hello world> <Linux驱动开发(二)-驱动与设备的分离设计> <Linux驱动开发(三)-设备树> ...

  2. Linux学习笔记(十八) -- 运行程序,出现Failed to load module canberra-gtk-module错误的解决方案

    1.错误内容 错误描述 执行程序时,提示如下错误: Failed to load module "canberra-gtk-module" 2.解决方案 (1)执行语句: sudo ...

  3. Linux 驱动开发 四十八:Linux INPUT 子系统实验

    一.input 子系统简介 input 就是输入的意思,因此 input 子系统就是管理输入的子系统,是 Linux 内核针对某一类设备而创建的框架. 比如按键输入.键盘.鼠标.触摸屏等等这些都属于输 ...

  4. 【Linux学习笔记(十八)】之 压缩,打包 zip,gz, bz2, tar,tar.gz, tar.bz2

    本文章由公号[开发小鸽]发布!欢迎关注!!! 老规矩–妹妹镇楼: 一. 压缩与解压缩命令 (一) .zip .zip是Windows中最常用的压缩格式,Linux可以和Windows通用压缩文件. 1 ...

  5. Linux Socket学习(十八)--完

    一个实际的网络工程 不论我们的头脑是否在由上一章的学习中清醒过来,现在我们需要休息一下了.在这一章我们并不讨论新的内容,而是用我们所学到的这些东西来实现一些有趣的事情.在学习了这么多的东西之后来一些有 ...

  6. Linux驱动开发(十八):I2C驱动

    简介 I2C是我们在单片机开发时时常会用到的通讯接口,用来与一些字符型设备进行通信,比如:陀螺仪.温度传感器等等,同样的在Linux下I2C驱动也是十分重要的.有了操作系统的加持,我们不用像在32上那 ...

  7. Linux 驱动开发 二十八:读写锁

    参考博客:Linux 内核同步(三):读-写自旋锁(rwlock)_StephenZhou-CSDN博客_linux rwlock 使用 spinlock 保护临界区时,多个读之间无法并发,只能被 s ...

  8. 《linux核心应用命令速查》连载十四:fuser:用文件或者套接口表示进程

    fuser:用文件或者套接口表示进程 作用:fuser命令用文件或者套接口表示进程. 用法:fuser [-a | -s | -c] [-4 | -6] [-n space] [-k [-i] [-s ...

  9. Linux常用命令(八)LVM逻辑卷管理

    Linux常用命令(八)LVM逻辑卷管理 一.LVM概述     LVM是Linux系统中对磁盘分区进行管理的一种逻辑机制,它是建立在硬盘和分区之上,文件系统之下的一个逻辑层,在建立文件系统时屏蔽了下 ...

最新文章

  1. 用美图秀秀(微软调色版)生成的R分量为255的图片在MATLAB和OpenCV中R分量为254
  2. Docker的“谎言”
  3. 深入 理解 Statement 和 PreparedStatement 【转】
  4. C 冒泡排序及其非常非常非常简单的优化
  5. Python maximum recursion depth exceeded while calling a Python object (gevent的SSL无限递归错误)的问题解决
  6. 《C和指针》——数组的奇怪形式
  7. Mysql 8 驱动问题:报错Unknown system variable 'query_cache_size'
  8. 阿里云 OSS 客户端直传 Policy 模式使用
  9. 【微信小程序入门到精通】— AppID和个性配置你学会了么?
  10. H.264/H.265 视频编码解码器单元产品指南
  11. Go sync.Pool 浅析
  12. 微信小程序模仿拼多多APP地址选择样式
  13. 用免费邮箱,做你的网络资料“寄存器”
  14. Vue3+TS 快速上手 (尚硅谷)
  15. 水果店圈子:水果店怎么入门,水果店工作注意什么
  16. python word保存图_Python 将本地图片存储到 Word 文档
  17. 2020上半年总结:纸上得来终觉浅,绝知此事要躬行
  18. 关于Visual Studio 2017安装时共享组件、工具和 SDK安装位置不能更改的问题
  19. 拿什么拯救我们的焦虑?
  20. 中密歇根大学计算机专业,密歇根大学计算机工程排名,真是要细心看懂

热门文章

  1. 从项目的 GitHub 星星数看2018年 JavaScript 生态圈
  2. 云端调用android函数,【探坑】Bmob的云端逻辑
  3. 计算机常见故障报警,常见听报警志与故障
  4. blog微服务架构代码_Spring Cloud微服务架构代码结构详细讲解
  5. 图像去雾算法_Matlab:单幅图象的暗原色先验去雾改进算法,能够很好地改进天空或明亮部分色彩失真问题...
  6. java中identifiers什么意思_javassist.是什么意思
  7. php相册上传和删除吗,php如何删除上传图片
  8. python django开发工具_Python和Django web开发工具pycharm介绍
  9. constraintlayout_androidApi:ConstraintLayout
  10. excel日期格式改不了_画进度计划横道图,Excel就够了