Linux基础教程 linux中使用find命令搜索文件常用方法记录
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命令搜索文件常用方法记录的更多相关文章
- linux基础学习(二)ls命令以及文件访问权限例(-rw-r-r--)
ls命令 |命令选项|作用| |:-----:|:----:| |ll| 显示文件得详细信息| |ls -a |显示文件和隐藏文件| |ls -t|以文件和目录的更改时间排序| |ls -m|用&qu ...
- Linux基础教程 linux系统中的批量删除文件与空文件删除的命令介绍
linux下面删除文件或者目录命令rm(remove): 兄弟连Linux培训 功能说明:删除文件或目录. 语 法:rm[-dfirv][--help][--version][文件或目录...] 补充 ...
- Linux基础教程 linux下使用find命令根据系统时间查找文件用法
LinuxFind 兄弟连Linux培训 总结这些时间戳包括 复制代码代码如下: mtime 文件内容上次修改时间 atime 文件被读取或访问的时间 ctime 文件状态变化时间 mtime 和 ...
- Linux基础教程 linux awk内置变量使用介绍
awk是个优秀文本处理工具,可以说是一门程序设计语言.下面是兄弟连Linux培训 给大家介绍的awk内置变量. 一.内置变量表 属性 说明 $0 当前记录(作为单个变量) $1~$n 当前记录的第n个 ...
- Linux基础教程 linux下查询history操作时间的方法
要在linux操作系统中查看history记录的操作时间,可以按如下步骤实现: 学习linux 1,修改/etc/profile文件,在末尾添加:exporthisttimeformat=”%f %t ...
- Linux基础教程 linux无密码ssh登录设置
概述 在一些常用设备之间ssh, scp,不用输入密码可以节省不少时间. 生成密钥 先看本地是否有密钥,如果有,则不用生成,否则会影响到以前打通的设备. 复制代码代码如下: 没有则用 ssh-ke ...
- Linux 基础教程 44-history命令
什么是history 在Linux系统日积月累的使用中,我们会输入很多命令.而在我们想重复上一个命令时,通过使用方向键向上翻就可以查看我们已经输入和使用过的命令.那大家有没有想过这个命令保存在 ...
- SLAM+语音机器人DIY系列:(一)Linux基础——3.Linux命令行基础操作
摘要 由于机器人SLAM.自动导航.语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以后续的章节中都会使用ROS来组织构建代码:而ROS又是安装在Linux发行版ubuntu系统之上的, ...
- 嵌入式LINUX基础教程 第2版
嵌入式LINUX基础教程 第2版 目录 第1章 入门 11.1 为什么选择Linux 11.2 嵌入式Linux现状 21.3 开源和GPL 21.4 标准及相关组织 31.4.1 Linux标准基 ...
随机推荐
- python 并发编程 socket 服务端 客户端 阻塞io行为
阻塞io行为 server.accept server.recv client.send recv,accept 分为两个阶段 1.wait for data 对方把数据经过网络延迟送到自己的操作系 ...
- [转帖] 国产x86-海光禅定 2018年营收过亿?
中科曙光:全年业绩稳健,海光芯片营收过亿 X86服务器市场Intel占据绝对优势:X86处理器已经成为全球最广泛使用的处理器架构之一,尤其是在PC和服务器领域,其中在处理器市场的份额高达90%以上.中 ...
- Windows下备份mysql
---恢复内容开始--- Windows下备份mysql 第一步 编写脚本 ::设置时间变量 set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%%time ...
- 存储过程实例基于postgersql
数据库用的是postgersql 数据库管理工具是DBeaver mybatis操作数据库基于jdbcTemplate 1.写的存储方法放在数据库下面的Procedures目录下 function ...
- HDU-5471 Count the Grid
题目描述 一个矩阵中可以任意填\(m\)个数.给你\(N\)个小矩阵并且告诉你此矩阵中的最大值\(v\),求有多少种大矩阵满足所给条件.\((\%1e9+7)\) Input 包含\(T\)组数据. ...
- C++中的单例类模板
1,本节课讲述单例类模式,实现并抽取相关代码实现单例类模板,在以后开发工作 中,如果想要使用单例模式,那么直接使用今天开发的单例类模板就可以: 2,需求的提出: 1,在架构设计时,某些类在整个系统生命 ...
- Android 调用摄像头功能【拍照与视频】
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/ma_hoking/article/details/28292973 应用场景: 在Android开发 ...
- Homebrew学习(六)之替换及重置homebrew、Homebred Core、Homebrew cask默认源
替换及重置homebrew默认源 中科大源 替换官方源: // 替换brew.git: cd "$(brew --repo)" git remote set-url origin ...
- jquery判断 input type="file"上传文件是否为空
要想获取type="file"的input内容,用var file = $("id").val();肯定是不行的,下面是代码: html上传按钮为: <i ...
- mybatis动态sql详情
mybatis动态拼装sql详情 MyBatis的动态SQL是基于OGNL表达式的,它可以帮助我们方便的在SQL语句中实现某些逻辑. MyBatis中用于实现动态SQL的元素主要有: if choos ...