Linux文件查找之find秘笈
前言
Linux的基本特点之一是一切皆文件,在系统管理过程中难免会需要查找特定类型的文件,那么问题
来了:如何进行有效且准确的查找呢?本文将对Linux系统中的文件查找工具及用法进行详细讲解。
常用工具对比
常用的文件查找工具主要有locate(非实时查找)和find(实时查找)。locate查找依赖于索引,
而索引构建相当占用资源,索引的创建是在系统空闲时由系统自动进行(每天任务),手动进行创建则
可使用updatedb命令,查找速度快但结果非精确,即为模糊查找。而find相对于locate而言,是遍历所
有文件进行条件匹配,查找速度慢但结果精确,即为精准查找。简言之,对于实际生产环境,find(实
时查找)无疑是最有效的文件查找工具。
find的用法
命令格式:
find [options] [查找路径] [查找条件] [处理动作]
查找路径:默认为当前目录 查找条件:默认为指定路径下的所有文件 处理动作:默认为显示至屏幕
条件查找
-name "文件名称":支持使用globbing字符*:任意长度任意字符?:任意单个字符[]:范围内任意字符[^]:范围外任意字符 -iname "文件名称":查找时忽略字符大小写 -user USERNAME: 根据文件的属主查找 -group GRPNAME: 根据文件的属组查找 -uid UID:根据用户UID查找 -gid GID:根据用户GID查找 -nouser: 查找没有属主的文件 -nogroup: 查找没有属组的文件
组合条件查找
-a:与,同时满足 -o:或,满足一个即可 -not:!非,条件取反
文件类型查找
-type TYPE:根据文件类型查找f:普通文件d:目录文件l:符号链接b:块设备c:字符设备s:套接字文件p:命名管道 -size [+|-]#UNIT:根据文件大小查找常用单位:k,M,G#UNIT:#-1<x<=#-#UNIT:x<=#-1+#UNIT:x>#(x为匹配到的文件大小)
时间戳查找
以“天”为单位 -atime(访问时间) [+|-]#+#:x>=#+1-#:x<##:#<=x<#+1(x为匹配到的文件时间) -mtime(修改时间) -ctime(改变时间) 以“分钟”为单位 -atime -mtime -ctime (用法同上)
权限查找
-perm [+|-]MODEMODE:与MODE精确匹配+MODE: 任何一类用户的权限只要能包含对其指定的任何一位权限即可-MODE:每类用户指定的检查权限都匹配
处理动作
-print: 默认处理动作,显示 -ls:类似于ls -l -exec COMMAND {} \; -ok COMMAND {} \; find一次性查找符合条件的所有文件,并一同传递给给-exec或-ok后面指定的命令,但有些命令不能接受过长的参数,此时使用另一种方式: find | xargs COMMAND
find实战
#查找/scripts/目录中包含s以.sh结尾的文件并复制到/tmp目录
#查找/var/目录属主为root且属组为mail的所有文件
#查找/usr目录下不属于root、bin或scholar的所用文件
#查找/tmp/目录下最近一周内其内容修改过的,且不属于root且不属于scholar的文件
#查找当前系统上没有属主或属组,且最近1个月内曾被访问过的文件
#查找/etc/目录下大于1M且类型为普通文件的所有文件
#查找/etc/目录所有用户都没有写权限的文件
#查找/etc/目录下至少有一类用户没有写权限 #由于文件过多,已重定向
#查找/etc/rc.d/目录下,所有用户都有执行权限且其它用户有写权限的文件 #由于文件过多,已重定向
The end
对于权限查找+222和-222的取反匹配,学习时错误的只对+222和-222取反,可懵了好一会才想明
白。最后在啰嗦一句,切记:权限查找取反是对全局匹配取反,而不是只对权限取反!!!
以上只是学习总结,如有错漏,大神勿喷~~~
转载于:https://blog.51cto.com/scholar/1623450
Linux文件查找之find秘笈相关推荐
- Linux文件查找之findlocate
Linux文件查找之find&locate 一.概述 Linux系统核心的思想之一"一切皆文件",对于这么多的文件,如何快速查找过滤呢?下面我们就看看系统提供的文件查找命令 ...
- Linux文件查找命令find,xargs详述
Linux文件查找命令find,xargs详述 总结:zhy2111314 来自:LinuxSir.Org 整理:北南南北 摘要: 本文是find 命令的详细说明,可贵的是针对参数举了很多的实例,大量 ...
- Linux文件查找命令find用法整理(locate/find)
Linux文件查找查找主要包括:locate和find 1.locate 用法简单,根据数据库查找,非实时,用法: locate FILENAME 手动更新数据库(时间可能较长) updatedb 2 ...
- linux进入文件全文搜索命令,Linux 文件查找命令详解
大家好,我是"孤云幕雨":祝大家中秋快乐,今天给大家带来的是<Linux文件查找命令> 一.locate:依赖于事先构建的索引 v依赖于事先构建的索引:索引的构建是在系 ...
- linux 查找文件 locate,linux文件查找(find,locate)
文件查找: locate: 非实时,模糊匹配,查找是根据全系统文件数据库进行的: # updatedb, 手动生成文件数据库 速度快 find: 实时 精确 支持众多查找标准 遍历指定目录中的所有文件 ...
- Linux文件查找与tar包管理、企业级sed应用 软件包管理与编译安装httpd
总结 第7节 Linux文件查找与tar包管理.企业级sed应用 使用locate命令 使用find命令 压缩和解压缩工具 01-文件搜索 locate (00:02:30) locate test. ...
- linux检索docx内容,linux 文件查找和内容过滤命令.docx
linux 文件查找和内容过滤命令 linux 文件查找和内容过滤命令 grep.fgrep和egrep命令 这组命令以指定模式搜索文件,并通知用户在什么文件中搜索到与指定的模式匹配的字符串,并打印出 ...
- linux文件查找命令find,locate
简介 vi : visual interface, 可视化接口.vim(VI IMproved) vim编辑器:文本编辑器.文本:纯文本,ASCII text; unicode; 文本编辑器种类: 行 ...
- Linux文件查找find和locate
目 录 第1章 locate文件查找 1 1.1 概述 1 1.2 locate文件查找的特性 1 第2章 文件查找概述 1 第3章 1 3.1 文件名查找 1 3 ...
最新文章
- Linux配置示例:配置java环境变量
- SharePoint 2010开发实例精选——“每日一句”WebPart
- 推荐系统炼丹笔记:边缘计算+奉送20个推荐系统强特
- 安装Apache的步骤
- python数据库在哪_python可以用哪些数据库
- Python面向对象(类的成员之属性)
- php头尾分离,laravel怎么做模板的头尾分离
- x12arima季节调整方法_深秋是腌洋姜的季节,用老一辈的方法做一坛,比腌萝卜香还爽口...
- mybatis源码分析、底层原理
- 云服务器文件同步,Windows 8:本地文件与云服务器同步
- cocos2d-x Schedule详解
- 【李宏毅2020 ML/DL】P73 More about Anomaly Detection
- 正在搜索需要的文件一直在搜索_正在被蚕食的百度搜索
- 异常、模块、文件读写
- Object C中创建线程的方法有NSThread,GCD, NSOperation
- 图书管理系统项目开发计划书
- 3559A对接IMX577 4lane 12M
- Android webview 播放视频及全屏
- 《闻官军收河南河北》 杜甫
- AD与AAD区别和联系
热门文章
- 购物车的收货地址js php,Javascript实现购物车功能的详细代码
- linux操作系统之线程
- java object强制类型转换_scala object 转Class Scala强制类型转换
- c++中的继承--2(继承中的析构函数和构造函数,继承中同名成员,继承中静态成员)
- c++中的继承--1(引出,继承方式,继承的对象模型)
- Ubuntu软件更新失败
- Socket网络编程--小小网盘程序(1)
- makefile文件的书写规则(make和makefile)
- WinPcap笔记(7):分析数据包(1)
- odoo10 继承(扩展)、模块数据