find是linux非常强大的搜索命令,通过man find查看find手册,可以发现find的说明一屏接一屏,估计要看完也得花不少时间。兄弟连Linux培训

小编总结了下,整理出find常用的使用方法。

  1、命令格式

  find 搜索路径 搜索表达式

  搜索路径:这个比较容易理解,就是指定的搜索目录,比如/etc。搜索路径也可以同时指定多个,用空格分开就可以了,如/etc /home。

  搜索表达式:find命令关键就是在表达式上,表达式的选项非常多。以下命令测试主要根据表达式的选项来划分。

  2、命令测试

  a、以文件名来搜索文件

  这个功能蛮常用的,示例如下:

  $ find /etc -name 'apache2'

  /etc/default/apache2

  /etc/php5/apache2

  /etc/apache2

  /etc/logrotate.d/apache2

  /etc/cron.daily/apache2

  /etc/init.d/apache2

  这个-name选项比较常用,后面接一个要搜索的文件名。上例用来搜索etc目录下文件名是apache2的文件。另外有一个要注意下,这里是精确搜索,只有文件名是apache2才会被搜索到。如果需要模糊搜索,可以用正则表达式,如下例:

  $ find /etc -name 'apache*'

  b、根据文件时间进行搜索

  有时想找出最近修改的文件,就可以用时间选项,时间选项有三种atime、mtime、ctime,以下用mtime进行说明。

  mtime n :找出前第n天改动过的文件

  mtime +n :找出n天前改动过的文件,不包括第n天,用数学的区间表示就是(-∞, -n)

  mtime -n:找出n天内改动过的文件,不包括第n天,用数学的区间表示就是(-n,0]

  其中-∞表示很久很久以前,0表示今天。用数轴来表示就很明显了。

  linux中find命令时间选项测试

  找出今天有改动的文件

  $ find /home mtime 0

  这边0就是表示第0天,就是今天了。这个方法用来指定查找某天修改过的文件很有用,例如今天是12月30日,想找出28日修改的文件,将0修改成2就可以了。如下:

  $ find /home mtime 2

  找出2天内改动的文件

  $ find /home mtime -2

  用区间表示为(-2,0],显然只有-1和0两个数字,分别表示昨天和今天。

  找出2天前改动的文件

  $ find /home mtime +2

  c、通过用户或者用户组来查找文件

  这类选项相对也常用些。常用的有:

  -uid n : 搜索所属用户编号为n的文件

  -gid n :搜索所属用户组编号为n的文件

  -user name :搜索所属用户名为name的文件

  -group name:搜索所属用户组名为name的文件

  搜索所属用户名为root的文件

  $ find / -user 'root'

  总结

  find命令的选项非常多,有需要了解其他选项的可以参考man手册。和locate相比,find会实际扫描磁盘,相对来说会慢些,小编建议能用locate搞定的就用locate搞定。

Linux基础教程 linux中使用find命令搜索文件常用方法记录的更多相关文章

  1. linux基础学习(二)ls命令以及文件访问权限例(-rw-r-r--)

    ls命令 |命令选项|作用| |:-----:|:----:| |ll| 显示文件得详细信息| |ls -a |显示文件和隐藏文件| |ls -t|以文件和目录的更改时间排序| |ls -m|用&qu ...

  2. Linux基础教程 linux系统中的批量删除文件与空文件删除的命令介绍

    linux下面删除文件或者目录命令rm(remove): 兄弟连Linux培训 功能说明:删除文件或目录. 语 法:rm[-dfirv][--help][--version][文件或目录...] 补充 ...

  3. Linux基础教程 linux下使用find命令根据系统时间查找文件用法

      LinuxFind 兄弟连Linux培训 总结这些时间戳包括 复制代码代码如下: mtime 文件内容上次修改时间 atime 文件被读取或访问的时间 ctime 文件状态变化时间 mtime 和 ...

  4. Linux基础教程 linux awk内置变量使用介绍

    awk是个优秀文本处理工具,可以说是一门程序设计语言.下面是兄弟连Linux培训 给大家介绍的awk内置变量. 一.内置变量表 属性 说明 $0 当前记录(作为单个变量) $1~$n 当前记录的第n个 ...

  5. Linux基础教程 linux下查询history操作时间的方法

    要在linux操作系统中查看history记录的操作时间,可以按如下步骤实现: 学习linux 1,修改/etc/profile文件,在末尾添加:exporthisttimeformat=”%f %t ...

  6. Linux基础教程 linux无密码ssh登录设置

      概述 在一些常用设备之间ssh, scp,不用输入密码可以节省不少时间. 生成密钥 先看本地是否有密钥,如果有,则不用生成,否则会影响到以前打通的设备. 复制代码代码如下: 没有则用 ssh-ke ...

  7. Linux 基础教程 44-history命令

    什么是history     在Linux系统日积月累的使用中,我们会输入很多命令.而在我们想重复上一个命令时,通过使用方向键向上翻就可以查看我们已经输入和使用过的命令.那大家有没有想过这个命令保存在 ...

  8. SLAM+语音机器人DIY系列:(一)Linux基础——3.Linux命令行基础操作

    摘要 由于机器人SLAM.自动导航.语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以后续的章节中都会使用ROS来组织构建代码:而ROS又是安装在Linux发行版ubuntu系统之上的, ...

  9. 嵌入式LINUX基础教程 第2版

    嵌入式LINUX基础教程  第2版 目录 第1章 入门 11.1 为什么选择Linux 11.2 嵌入式Linux现状 21.3 开源和GPL 21.4 标准及相关组织 31.4.1 Linux标准基 ...

随机推荐

  1. python 并发编程 socket 服务端 客户端 阻塞io行为

    阻塞io行为 server.accept server.recv client.send recv,accept  分为两个阶段 1.wait for data 对方把数据经过网络延迟送到自己的操作系 ...

  2. [转帖] 国产x86-海光禅定 2018年营收过亿?

    中科曙光:全年业绩稳健,海光芯片营收过亿 X86服务器市场Intel占据绝对优势:X86处理器已经成为全球最广泛使用的处理器架构之一,尤其是在PC和服务器领域,其中在处理器市场的份额高达90%以上.中 ...

  3. Windows下备份mysql

    ---恢复内容开始---  Windows下备份mysql 第一步 编写脚本 ::设置时间变量 set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%%time ...

  4. 存储过程实例基于postgersql

    数据库用的是postgersql 数据库管理工具是DBeaver  mybatis操作数据库基于jdbcTemplate 1.写的存储方法放在数据库下面的Procedures目录下 function ...

  5. HDU-5471 Count the Grid

    题目描述 一个矩阵中可以任意填\(m\)个数.给你\(N\)个小矩阵并且告诉你此矩阵中的最大值\(v\),求有多少种大矩阵满足所给条件.\((\%1e9+7)\) Input 包含\(T\)组数据. ...

  6. C++中的单例类模板

    1,本节课讲述单例类模式,实现并抽取相关代码实现单例类模板,在以后开发工作 中,如果想要使用单例模式,那么直接使用今天开发的单例类模板就可以: 2,需求的提出: 1,在架构设计时,某些类在整个系统生命 ...

  7. Android 调用摄像头功能【拍照与视频】

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/ma_hoking/article/details/28292973 应用场景: 在Android开发 ...

  8. Homebrew学习(六)之替换及重置homebrew、Homebred Core、Homebrew cask默认源

    替换及重置homebrew默认源 中科大源 替换官方源: // 替换brew.git: cd "$(brew --repo)" git remote set-url origin ...

  9. jquery判断 input type="file"上传文件是否为空

    要想获取type="file"的input内容,用var file = $("id").val();肯定是不行的,下面是代码: html上传按钮为: <i ...

  10. mybatis动态sql详情

    mybatis动态拼装sql详情 MyBatis的动态SQL是基于OGNL表达式的,它可以帮助我们方便的在SQL语句中实现某些逻辑. MyBatis中用于实现动态SQL的元素主要有: if choos ...