Linux下文件查找命令find笔记
在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笔记的更多相关文章
- linux下文件搜索命令学习笔记
1. locate:按照文件名搜索文件 locate filename 与find在整个操作系统中遍历搜索不同,locate命令在/var/lib/mlocate这个后台数据库中按照文件名搜索,所以优 ...
- Linux 执行文件查找命令 which 详解
某个文件不知道放在哪里了,通常可以使用下面的一些命令来查找: which 查看可执行文件的位置 whereis 查看文件的位置 locate 配合数据库查看文件位置 find 实际搜寻硬盘查 ...
- linux下文件查找工具--find
常用的文件查找命令有:which,locate,find 1.which命令 查找二进制数或二进制命令,由PATH给出 2.loacte 特点: 1.非实时,每天在系统上生成数据库,通过数据库查询 2 ...
- linux下find查找命令用法
Linux下find命令在目录结构中搜索文件,并执行指定的操作.Linux下find命令提供了相当多的查找条件,功能很强大.由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时 ...
- Linux下的查找命令which、whereis、locate、find(6/20)
Linux下查找相关命令主要有以下4个:which.whereis.locate.find. (1)which [-a] cmdname1 cmdname2 ...... 命令参数: -n ...
- linux下文件查询命令(cat,more,less,head,tail)
众所周知Linux中命令cat.more.less均可用来查看文件内容,主要区别有:cat是一次性显示整个文件的内容,还可以将多个文件连接起来显示,它常与重定向符号配合使用,适用于文件内容少的情况:m ...
- linux下vim 查找命令
在命令模式下输入/word 这个是查找文件中“word”这个单词,是从文件上面到下面查找?word 这个是查找文件中“word”这个单词,是从文件下上面到面查找
- Python实现Linux下文件查找
import os, sys def search(curpath, s): L = os.listdir(curpath) #列出当前目录下所有文件 for subpath in L: #遍历当前目 ...
- linux下的查找命令
whereis <程序名称> 查找软件的安装路径 -b 只查找二进制文件 -m 只查找帮助文件 -s 只查找源代码 -u 排除指定类型文件 -f 只显示文件名 -B <目录> ...
随机推荐
- hdu_1048_The Hardest Problem Ever_201311052052
The Hardest Problem Ever Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java ...
- D - Cyclic Nacklace
CC always becomes very depressed at the end of this month, he has checked his credit card yesterday, ...
- spring boot.定时任务问题记录(TaskScheduler/ScheduledExecutorService异常)
一.背景 spring boot的定时任务非常简单,只需要在启动类中加上@EnableScheduling注解,然后在对应的方法上配置@Scheduled就可以了,系统会自动处理并按照Schedule ...
- CF #319 div 2 D
这道题算不算脑洞题.. 可以发现,当一个排列中有循环节时长度为1或2时可能有解.当为1时,只需把全部点都连到这个题即可,当为2时,就要求所有循环节长度均为偶数,这很容易理解,因为如果存在为奇数,它们之 ...
- LeetCode 122 Best Time to Buy and Sell Stock II(股票买入卖出的最佳时间 II)
翻译 话说你有一个数组,当中第i个元素表示第i天的股票价格. 设计一个算法以找到最大利润. 你能够尽可能多的进行交易(比如.多次买入卖出股票). 然而,你不能在同一时间来多次交易. (比如.你必须在下 ...
- TinyAdmin前端展现框架
一直在苦苦寻找一个合适的前端框架,少说也看了几十个. ext太重.并且有内存泄露,在IE下就是个悲剧. dhtmlx,速度比較好,开源是GPL不适合企业应用,商业的要钱,倒也不贵万把块钱,可是样式比較 ...
- MySql解压版使用
1.解压 2.配置环境变量 3.新建空目录data,修改ini配置文件,修改basedir和datadir 4.管理员运行cmd,进入bin目录 5.mysql -install,如果提示错误,先my ...
- H3C交换机经常使用命令汇总
H3C交换机经常使用命令 1.查看Linux下查看port状态 root@root:~# netstat -an|grep -E "6002|6003" 2.H3C交换机显示当前配 ...
- 使用oracle数据库和MySQL数据库时hibernate的映射文件.hbm.xml的不同
假设是使用oracle数据库.那么hibernate的映射文件.hbm.xml例如以下: <id name="xuehao" column="xuehao" ...
- B1060 [ZJOI2007]时态同步 dfs
两遍dfs,第一遍有点像找重链,第二遍维护答案,每个点维护一个当前深度,然后就没啥了. ps:memset(lst,-1,sizeof(lst));这一句多余的话让我debug半天... 题干: De ...