Linux下查找文件的命令有两个;

locate:

find :

locate这个命令对其生成的数据库进行遍历(生成数据库的命令:updatedb),这一特性决定了查
找文件速度很快,但是locate只能进行模糊匹配,在精度上来说查了点,简单介绍它的两项功能:
#locate
-i   //查找文件的时候不区分大小写   locate  -i  passwd
-n  //显示查找文件的前N行    locate  -n  5 passwd
find在不指定查找目录的情况下是对整个系统进行遍历查找:
使用格式: find  [指定目录]  [查找规则]  [查找完后执行的action] 

[指定查找目录]例如:

的文件

(4)-a  and  -o  and  –not的使用

#  -a 连接两个不同的条件(两个条件必须同时满足)

# -o 连接两个不同的条件(两个条件满足其一即可)

# -not 对条件取反的

(5)根据文件时间戳的相关属性来查找文件

我们可以使用stat命令来查看一个文件的时间信息 如下:

#-atime

#-mtime

#-ctime

#-amin

#-mmin

#-cmin

所以这里atime,mtime,ctime就是分别对应的“最近一次访问时间”“最近一次内容修改时间”“最近一次属性修改时间”,这里的atime的单位指的是“天”,amin的单位是分钟

#find  /tmp  –atime  +5               //表示查找在五天内没有访问过的文件

#find  /tmp  -atime   -5            //表示查找在五天内访问过的文件

(6)根据文件类型来查找文件

-type

f     // 普通文件

d     //目录文件

l     //链接文件

b     //块设备文件

c     //字符设备文件

p     //管道文件

s     //socket文件

(7)根据大小来查找文件

-size

#find  /tmp  -size   2M           //查找在/tmp 目录下等于2M的文件

#find  /tmp  -size  +2M           //查找在/tmp 目录下大于2M的文件

#find  /tmp  -size  -2M           //查找在/tmp 目录下小于2M的文件

(8)根据文件权限查找文件

-perm

#find  /tmp  -perm  755           //查找在/tmp目录下权限是755的文件

#find  /tmp  -perm  +222          //表示只要有一类用户(属主,属组,其他)的匹配写权限就行

#find  /tmp  -perm  -222          //表示必须所有类别用户都满足有写权限

9)-nouser  and  -nogroup

//在整个系统中查找既没有属主又没有属组的文件(这样的文件通常是很危险的,作为系统工程师的我们应该及时清除掉)

#find  /  -nogroup –a –nouser

[查找完执行的action]

# -print                                 //默认情况下的动作

# -ls                                     //查找到后用ls 显示出来

# -ok  [commend]                //查找后执行命令的时候询问用户是否要执行

# -exec [commend]              //查找后执行命令的时候不询问用户,直接执行

这里要注意{}的使用:替代查找到的文件

-exec    -ls 用法

-ok用法

#find /tmp -atime +30 –exec rm –rf {} \; #删除查找到的超过30天没有访问过文件

我们也可以使用xargs来对查找到的文件进一步操作
 

这样权限也可以改变。或者其他操作。

Linux文件查找的更多相关文章

  1. Linux文件查找.md

    Linux 文件查找 在Linux系统的查找相关的命令: which 查看可执行文件的位置 whereis 查看文件的位置 locate 配合数据库查看文件位置 find 实际搜寻硬盘查询文件名称 w ...

  2. Linux文件查找命令find用法整理(locate/find)

    Linux文件查找查找主要包括:locate和find 1.locate 用法简单,根据数据库查找,非实时,用法: locate FILENAME 手动更新数据库(时间可能较长) updatedb 2 ...

  3. linux文件查找find命令

    linux文件查找find命令 1.文件查找 基本介绍 在文件系统上查找符合条件的文件 linux上常见的文件查找工具:find命令 查找分类 实时查找 精确查找 基本语法 find  [option ...

  4. linux 文件查找,which,whereis,locate,find

    linux 文件查找,which,whereis,locate,find 一:which 主要用于查找可执行命令的所在位置: 如图,查找命令 ls的目录: 二:whereis 主要用于查找命令的帮助文 ...

  5. Linux文件查找命令find,xargs详述【转】

    转自:http://blog.csdn.net/cxylaf/article/details/4069595 转自http://www.linuxsir.org/main/?q=node/137 Li ...

  6. Linux文件查找工具之find “大宝剑”--转载

    原文地址:http://xinzong.blog.51cto.com/10018904/1749465 一.文件查找工具常用软件 locate: locate命令其实是find -name的另一种写法 ...

  7. linux - 文件查找及压缩

    文件查找: 1.  which    查找可以执行文件,只搜索$PATH里的目录 $ which ls /bin/ls which只搜索$PATH里的目录,如果搜索当前目录的文件是没有任何结果的 $ ...

  8. Linux 文件查找

    在Linux系统的查找相关的命令: which 查看可执行文件的位置 whereis 查看文件的位置 locate 配合数据库查看文件位置 find 实际搜寻硬盘查询文件名称 whereis wher ...

  9. linux文件查找及操作

    在linux下查找文件的办法最常用的就是find指令,让我们来看一下find指令如何来使用吧: find find . -name  txt             //在当前目录查找名字为txt的文 ...

随机推荐

  1. appium Ruby自动化测试搭建

  2. .NET 开发快捷键大全

    序号 快捷键 说明 1 Ctrl + Tab 切换当前编辑视图 2 Ctrl + Shift + Tab 反向切换当前编辑视图 3 F7 将窗体设计视图转成其代码视图 4 Shift + F7 将代码 ...

  3. 转贴:让Windows 2008 R2 64bit支持ASP.NET 1.1应用程序

    随着 Windows Server 2003 的支持期限到期, 最近有很多企业将目前很多的 Windows Server 2003 升级到 Windows 2008 R2. 之前有许多 Web App ...

  4. Windows Driver Frameworks

    MSDN原文:https://msdn.microsoft.com/zh-cn/library/windows/hardware/ff557565(v=vs.85).aspx

  5. C++11实现生产者消费者问题

    生产者消费者问题是多线程并发中一个非常经典的问题.我在这里实现了一个基于C++11的,单生产者单消费者的版本,供大家参考. #include <windows.h> #include &l ...

  6. 同时闪烁多个要素代码(ArcEngine)

    /// <summary> /// 根据查询条件构造/// </summary> /// <param name="where">查询条件< ...

  7. 实例存储支持的AMI创建步骤

    实例存储支持的AMI创建步骤 一.Windows AMI 1. 选择实例存储支持的AMI创建实例. 2. 远程登录实例进行定制化配置. 3. 通过Web控制台或命令行Bundle实例(并自动上传到S3 ...

  8. oracle大表添加字段default经验分享

    当oracle单表数据量上亿时,对表进行alter table aa add column_1 varchar2(2) defalut 'Y';时,效率及安全性是必须考虑的因素. 本帖以2亿的数据表a ...

  9. 在SQL2008配置数据库镜像1418错误的处理

    在SQL2008配置数据库镜像错误一般都由以下原因造成 1.主体.镜像服务器SQL SERVER选择本账号切保持一致 2.在数据库镜像配置向导中的“服务账号”选项中请选择需要同步数据库的登陆名,例如数 ...

  10. GCC的gcc和g++区别

    看的Linux公社的一篇文章,觉得不错,内容复制过来了. 其实在这之前,我一直以为gcc和g++是一个东西,只是有两个不同的名字而已,今天在linux下编译一个c代码时出现了错误才找了一下gcc和g+ ...