linux文件查找-find命令
find命令:用于在文件树中查找文件,并作出相应的处理
1、find命令的格式;
find pathname -options [-print -exec -ok ...] {}\
2、find命令的参数;
pathname: find命令所查找的目录路径。例如用“.”来表示当前目录,用“/”来表示系统根目录。
-print: find命令将匹配的文件输出到标准输出。
-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } ;,注意{ }和\;之间的空格。
-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
3、find命令的选项:
-depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。
-name:按照文件名查找
-perm:按照文件权限来查找
-prune:可用使find命令不在当前制定的目录中查找,如果同时使用-depth选项,那么-prune将被find忽略
-user:按照文件属主查找
-group:按照文件属组查找
-nouser:查找无有效属主的文件
-nogroup:查找无有效属组的文件
-newer file1 file2:查找更改时间比file1新,但是比file2旧的文件
-type:查找某一类型的文件,诸如:f-普通文件、d-目录、c-字符文件、b-块设备、p-管道文件、l-符号连接
-size:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计
-fstype:查找属于某一类型文件系统的文件
-mount:查找文件时不跨越文件系统mount点
-follow:如果find命令遇到符号连接文件,就跟踪至连接所指向的文件
-cpio:对匹配的文件使用cpio命令,将文件备份到磁带设备中
-mtime -n +n:按照文件的修改时间来查找,-n文件更改时间距现在n天以内,+n文件更改时间距现在n天以前
-amin n:查找系统中最后n分钟访问的文件
-atime n:查找系统中最后n*24小时访问的文件
-cmin n:查找系统中最后n分钟被改变文件状态的文件
-ctime n:查找系统中最后n*24分钟被改变文件状态的文件
-mmin n:查找系统中最后n分钟被改变文件数据的文件
-mtime n:查找系统中最后n*24小时被改变文件数据的文件
4、使用示例:
1)查找指定时间内修改过的文件:(查找48小时内修改过的文件)
[root@bogon ~]# find -atime -
.
./.bash_profile
2)根据关键字查找:(查找当前目录以.log结尾的文件)
[root@bogon log]# find . -name "*.log"
./audit/audit.log
./tuned/tuned.log
3)根据文件权限查找:(查找/tmp目录下权限为755的文件)
[root@bogon ~]# find /tmp -perm
4)根据文件类型查找:
[root@bogon ~]# find . -type d -print ##查找当前目录下的目录
.
./data
[root@bogon ~]# find . ! -type d -print ##查找当前目录下的非目录
./.bash_logout
./.bash_profile
5)根据文件大小查找:(查找当前目录下大于1k的文件)
[root@bogon ~]# find -size +1000c -print
.
./anaconda-ks.cfg
./.bash_history
6)根据文件名查找
[root@bogon ~]# find . -name "*.txt"
./test.txt
5、使用exec或ok来执行shell命令:
只要把想要的操作写在一个文件里,就可以用exec来配合find命令查找
1)显示当前目录下面所有大于10k的文件,exec后面执行了一个命令,{}代表文件名
[root@bogon ~]# find . -type f -size +10k -exec ls -l {} \;
-rw-r--r--. 1 root root 12288 May 4 17:22 ./.test.txt.swp
-rw-------. 1 root root 40960 May 4 17:25 ./.swp
2)查找/tmp下10天前的文件,删除
[root@bogon ~]# find /tmp -type f -mtime +10 -ok rm {} \;
3)备份配置文件,添加.bak扩展名
[root@bogon ~]# find . -name "*.conf" -exec cp {} {}.bak \;
-rw-r--r--. root root May : httpd.conf
-rw-r--r--. root root May : httpd.conf.bak
4)查找主目录下被其他用户写入的文件
[root@bogon ~]# find ~ -perm - -exec chmod o-w {} \;
6、-print 匹配条件:
简写表达式按顺序求值, -a 和 -o 都是短路求值。
1)忽略某个目录(在httpd目录下查找文件但不希望在/httpd/conf目录下查找)
[root@bogon etc]# find httpd -path "httpd/conf" -prune -o -print
httpd
httpd/conf.d
httpd/conf.d/README
httpd/conf.d/autoindex.conf
2)匹配多个条件,采用OR条件操作
[root@bogon ~]# find . \( -name "*.txt" -o -name "*.conf" \) -print
./httpd.conf
./test.txt
7、xargs命令:
有些命令不能接受过多参数,此时命令执行可能会失败,错误信息通常是“参数列太长”或“参数列溢出”,这就是xargs命令的用处所在
find | xargs COMMAND
示例:在当前目录下所以普通文件中过滤“nologin”这个词
[root@bogon ~]# find . -type f -print |xargs grep "nologin"
Binary file ./.test.txt.swp matches
./test.txt:x:::bin:/bin:/sbin/nologin
./test.txt:on:x:::daemon:/sbin:/sbin/nologin
8、locate命令:
查询系统上预建的文件索引数据库,依赖于先构建索引,构建过程需要遍历整个根文件系统,极消耗资源。
工作特点:查找速度快,模糊查找,非实时查找。
-i 执行区分大小写的搜索
-n x 只列举前x个匹配选项
linux文件查找-find命令的更多相关文章
- linux文件查找find命令
linux文件查找find命令 1.文件查找 基本介绍 在文件系统上查找符合条件的文件 linux上常见的文件查找工具:find命令 查找分类 实时查找 精确查找 基本语法 find [option ...
- linux 文件查找 find命令详解
一,从索引库查找文件:locate 索引库:操作系统会周期性的遍历根文件系统,然后生成索引库 手动更新索引库:updatedb 语法:locate [OPTION]... PATTERN... 只匹配 ...
- 13.Linux文件查找-find命令
find 命令的基本语法如下: 命令 路径 选项 表达式 动作 find [path...] [options] [expression] [action] 查找 地区 妹纸 18-25岁 约? (1 ...
- Linux下的文件查找类命令(转载)
如何快速有效的定位文件系统内所需要查找的文件呢?Linux为我们提供了一些文件查找类的命令,我们需要掌握以下几个命令: http://blog.csdn.net/sailor201211/articl ...
- Linux文件查找命令find,xargs详述【转】
转自:http://blog.csdn.net/cxylaf/article/details/4069595 转自http://www.linuxsir.org/main/?q=node/137 Li ...
- Linux文件查找命令find用法整理(locate/find)
Linux文件查找查找主要包括:locate和find 1.locate 用法简单,根据数据库查找,非实时,用法: locate FILENAME 手动更新数据库(时间可能较长) updatedb 2 ...
- Linux文件查找.md
Linux 文件查找 在Linux系统的查找相关的命令: which 查看可执行文件的位置 whereis 查看文件的位置 locate 配合数据库查看文件位置 find 实际搜寻硬盘查询文件名称 w ...
- 第1章 Linux文件类基础命令
1. 关于路径和通配符 Linux中分绝对路径和相对路径,绝对路径一定是从/开始写的,相对路径不从根开始写,还可能使用路径符号. 路径展开符号: . :(一个点)表示当前目录 .. :(两个点)表示上 ...
- linux 文件查找,which,whereis,locate,find
linux 文件查找,which,whereis,locate,find 一:which 主要用于查找可执行命令的所在位置: 如图,查找命令 ls的目录: 二:whereis 主要用于查找命令的帮助文 ...
随机推荐
- IOC模式及Unity框架文章收藏
1.IoC模式:http://www.cnblogs.com/qqlin/archive/2012/10/09/2707075.html 通过Unity实现IOC容器. 2.深入理解DIP.IoC.D ...
- 基于canvas绘图 缩放 做标记
技术要点: 1.img 绘制到canvas 2.绘制完成以后进行拖拽,缩放 3.使用canvas画图,在绘制的img上进行标记划线,当然可以实现跟过功能,例如百度地图的功能,做单个标记,区域标记等. ...
- VxWorks实验八 信号
实验八信号1 实验目的1.学习使用信号2 实验内容在实验一建立的 project 中,编写一段信号处理程序,将其与SIGINT 相关连,使用kill()发送SIGINT 信号并调用信号处理程序.观察运 ...
- jQuery基础(3)
摘要:jQuery的位置信息,JS的事件流的概念(重点),事件对象,jQuery的事件绑定和解绑,时间委托(时间代理) 一.jQuery的位置信息 jQuery的位置信息跟JS的client系列.of ...
- 「干货分享」模块化编程和maven配置实践一则
封面 说到模块化编程,对我个人而言首先起因于团队协作的需要,也就是组织架构结构特点来决定,而不是跟风求得自我认同,看看我们团队的组织结构: 其中: 基础平台部职责: 1.AI实验室:语音,图像 ...
- SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题(一)
当前后端分离时,权限问题的处理也和我们传统的处理方式有一点差异. 笔者前几天刚好在负责一个项目的权限管理模块,现在权限管理模块已经做完了,我想通过5-6篇文章,来介绍一下项目中遇到的问题以及我的解决方 ...
- vue or react mvvm里的文字上下滚动
1.jQuery 时候实现 上下滚动很简单,基本上一个animateTop就可以了 2. vue等MVVM就有些麻烦了,因为不推荐操作DOM,专注于数据 我们可以使用 css3 transition: ...
- Redis集群批量操作
Redis在3.0版正式引入了集群这个特性,扩展变得非常简单.然而当你开心的升级到3.0后,却发现有些很好用的功能现在工作不了了, 比如我们今天要聊的pipeline功能等批量操作. Redis集群是 ...
- 1126 数字统计 2010年NOIP全国联赛普及组
1126 数字统计 2010年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题目描述 Description 请统计某个 ...
- mui实现图片更换(暂未上传)
页面中有默认的图片,触发type为file的input时,更换图片,这个是mui移动端的项目,算了,不多说,开码 首先,先在html页面中设置样式,样式我就不给了,贴个布局 <div class ...