在Linux命令下如果需要快速自己系统所需要处理的文件,可以通过find命令快速进行检索。

如果想在某个路径下查找相应的文件可以执行如下命令:

find path -name filename

# path 文件路径,可以用 / 来表示目录,当然如果能大概确定目录建议缩小目录范围,这样可以检索速度更快;filename 指的是文件检索的文件名。

比如:find / -name mysql.conf

# 系统会从根目录遍历所有文件,然后找到mysql.conf 文件输出找到的结果输出在控制台。

当然也可以通过通配符来模糊指定文件名,比如我想查找系统中后缀是.conf文件文件,可以执行如下命令:

find / -name *.conf

关于find命令的语法格式如下:

find path -option [ -print ] [ -exec -ok command ] {} \

参数说明:

-print(可选参数): find命令将匹配的文件输出到标准输出。

-exec(可选参数): find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格

-ok(可选参数): 与-exec的作用相同,它会以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确认是否执行。

find部分常用参数:

mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件。

-amin n : 在过去 n 分钟内被读取过的文件

-anewer file : 比文件 file 更晚被读取过的文件

-atime n : 在过去n天内被读取过的文件

-cmin n : 在过去 n 分钟内被修改过的文件

-cnewer file :比文件 file 文件时间更新的文件

-ctime n : 在过去n天内被修改过的文件

-empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name

-ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写

-name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写

-size n[c] #查长度为n块[或n字节]的文件

下面列出一些常用的find命令:

find ./ -type f #查找文件

#查找目录

find ./ -type d

#查找名字为file1的文件或目录

find ./ -name file1

#查找名字符合正则表达式的文件,注意前面的‘.*’(查找到的文件带有目录)

find ./ -regex .*so.*\.gz

#查找目录并列出目录下的文件(为找到的每一个目录单独执行ls命令,没有选项-print时文件列表前一行不会显示目录名称)

find ./ -type d -print -exec ls {} \;

#查找目录并列出目录下的文件(为找到的每一个目录单独执行ls命令,执行命令前需要确认)

find ./ -type d -ok ls {} \;

#查找目录并列出目录下的文件(将找到的目录添加到ls命令后一次执行,参数过长时会分多次执行)

find ./ -type d -exec ls {} +

#查找文件名匹配*.c的文件

find ./ -name \*.c

#打印test文件名后,打印test文件的内容

find ./ -name test -print -exec cat {} \;

#不打印test文件名,只打印test文件的内容

find ./ -name test -exec cat {} \;

#查找文件更新日时在距现在时刻二天以内的文件

find ./ -mtime -2

#查找文件更新日时在距现在时刻二天以上的文件

find ./ -mtime +2

#查找文件更新日时在距现在时刻一天以上二天以内的文件

find ./ -mtime 2

#查找文件更新日时在距现在时刻两分钟以内的文件

find ./ -mmin -2

#查找文件更新日时在距现在时刻两分钟以上的文件

find ./ -mmin +2

#查找文件更新日时在距现在时刻一分钟以上两分钟以内的文件

find ./ -mmin 2

#查找文件更新时间比文件abc的内容更新时间新的文件

find ./ -newer abc

#查找文件访问时间比文件abc的内容更新时间新的文件

find ./ -anewer abc

#查找空文件或空目录

find ./ -empty

#查找空文件并删除

find ./ -empty -type f -print -delete

#查找权限为644的文件或目录(需完全符合)

find ./ -perm 664

#查找用户/组权限为读写,其他用户权限为读(其他权限不限)的文件或目录

find ./ -perm -664

#查找用户有写权限或者组用户有写权限的文件或目录

find ./ -perm /220

find ./ -perm /u+w,g+w

find ./ -perm /u=w,g=w

#查找所有者权限有读权限的目录或文件

find ./ -perm -u=r

#查找用户组权限有读权限的目录或文件

find ./ -perm -g=r

#查找其它用户权限有读权限的目录或文件

find ./ -perm -o=r

#查找所有者为lzj的文件或目录

find ./ -user lzj

#查找组名为gname的文件或目录

find ./ -group gname

#查找文件的用户ID不存在的文件

find ./ -nouser

#查找文件的组ID不存在的文件

find ./ -nogroup

#查找有执行权限但没有可读权限的文件

find ./ -executable \! -readable

查找文件size大于10K的文件或目录

find ./ -size +10k

#查找文件size小于10k的文件或目录

find ./ -size -10k

Linux下文件查找命令find笔记的更多相关文章

  1. linux下文件搜索命令学习笔记

    1. locate:按照文件名搜索文件 locate filename 与find在整个操作系统中遍历搜索不同,locate命令在/var/lib/mlocate这个后台数据库中按照文件名搜索,所以优 ...

  2. Linux 执行文件查找命令 which 详解

    某个文件不知道放在哪里了,通常可以使用下面的一些命令来查找: which  查看可执行文件的位置 whereis 查看文件的位置 locate   配合数据库查看文件位置 find   实际搜寻硬盘查 ...

  3. linux下文件查找工具--find

    常用的文件查找命令有:which,locate,find 1.which命令 查找二进制数或二进制命令,由PATH给出 2.loacte 特点: 1.非实时,每天在系统上生成数据库,通过数据库查询 2 ...

  4. linux下find查找命令用法

    Linux下find命令在目录结构中搜索文件,并执行指定的操作.Linux下find命令提供了相当多的查找条件,功能很强大.由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时 ...

  5. Linux下的查找命令which、whereis、locate、find(6/20)

    Linux下查找相关命令主要有以下4个:which.whereis.locate.find. (1)which   [-a]    cmdname1 cmdname2 ...... 命令参数: -n  ...

  6. linux下文件查询命令(cat,more,less,head,tail)

    众所周知Linux中命令cat.more.less均可用来查看文件内容,主要区别有:cat是一次性显示整个文件的内容,还可以将多个文件连接起来显示,它常与重定向符号配合使用,适用于文件内容少的情况:m ...

  7. linux下vim 查找命令

    在命令模式下输入/word 这个是查找文件中“word”这个单词,是从文件上面到下面查找?word 这个是查找文件中“word”这个单词,是从文件下上面到面查找

  8. Python实现Linux下文件查找

    import os, sys def search(curpath, s): L = os.listdir(curpath) #列出当前目录下所有文件 for subpath in L: #遍历当前目 ...

  9. linux下的查找命令

    whereis <程序名称> 查找软件的安装路径 -b 只查找二进制文件 -m 只查找帮助文件 -s 只查找源代码 -u 排除指定类型文件 -f 只显示文件名 -B <目录> ...

随机推荐

  1. hibernate之一对多映射

    目录 第一章 课程简介 第二章 Hibernate中的单向一对多关联 2-1 一对多映射简介 2-2 hibernate的基础配置 2-3 创建HibernateUtil工具类 2-4 在mysql数 ...

  2. java中静态资源处理方法

    方案一:激活Tomcat的defaultServlet来处理静态文件 在 web.xml 中添加: <servlet-mapping> <servlet-name>defaul ...

  3. PHP array_diff_ukey()

    定义和用法 array_diff_ukey() 返回一个数组,该数组包括了所有出现在 array1 中但是未出现在任何其它参数数组中的键名的值.注意关联关系保留不变.与 array_diff() 不同 ...

  4. .Net程序猿玩转Android开发---(6)线性布局LinearLayout

                                LinearLayout控件是Android中重要的布局控件,是一个线性控件,所谓线性控件的意思是指该控件里面的内容仅仅能水平或垂直排列.也就 ...

  5. [IOS/翻译]Core Services Layer

    本文是本人自己辛苦翻译的,请转载的朋友注明,翻译于Z.MJun的CSDN的博客 http://blog.csdn.net/Zheng_Paul,感谢. 翻译于2015年10月4日 Core Servi ...

  6. Spring MVC新手教程(一)

    直接干货 model 考虑给用户展示什么.关注支撑业务的信息构成.构建成模型. control 调用业务逻辑产生合适的数据以及传递数据给视图用于呈献: view怎样对数据进行布局,以一种优美的方式展示 ...

  7. android 5.0新特性学习总结之下拉刷新(一)

    android 5.0 后google最终在 support v4 包下 添加了下拉刷新的控件 项目地址: https://github.com/stormzhang/SwipeRefreshLayo ...

  8. 超简洁代码实现CircleImageView

    效果图: 页面代码: public class CircleView extends ImageView { private Paint mPaint = new Paint(); public Ci ...

  9. ytu2572——猜灯谜

    题目描写叙述 A 村的元宵节灯会上有一迷题: 请猜谜 * 请猜谜 = 请边赏灯边猜 小明想,一定是每一个汉字代表一个数字,不同的汉字代表不同的数字. 请你帮小明把全部的可能的数都找出来吧. 输入 没有 ...

  10. 洛谷⑨月月赛Round2 官方比赛 OI

    自评: (完成时间3.5时) 第一题 模拟 虽然A了,代码敲得有点慢 第二题 最短路 第一次敲对了,又考虑数据范围和答案范围,改错了,100分改成42分.QAQ. 第三题 乱搞 80分 还可以(因为没 ...