find的基本查询命令《一》
一. find的基本查询命令
find命令最常用的是查找某个文件,如:
find ./ -name "abc.txt"
则会在当前目录及子目录下查找abc.txt文件
更常用的是查找某一类型的文件,如:
find ./ -name "*.txt"
则会在当前目录及子目录下查找所有txt文件,但是如果要查找多种文件类型呢?比如某文件夹下面所有.c文件和.h文件,可以这样做:
find ./ -name "*.[ch]"
找到当前目录下的jpg文件和png文件
find
. -name
"*.jpg"
-o -name
"*.png"
find
. ! -name
"*.png"
二. find的多查询后执行
根据正则表达式查找
备注:正则表示式比原先想的要复杂,支持好几种类型。可以参考这里
找到当前目录下,文件名都是数字的png文件。
find
. -regex
"\./*[0-9]+\.png"
根据路径查找
找出当前目录下,路径中包含wysiwyg的文件/路径。
find
. -path
"*wysiwyg*"
根据文件类型查找
通过-type进行文件类型的过滤。
- f 普通文件
- l 符号连接
- d 目录
- c 字符设备
- b 块设备
- s 套接字
- p Fifo
举例,查找当前目录下,路径中包含wysiwyg的文件
find
. -
type
f -path
"*wysiwyg*"
限制搜索深度
找出当前目录下所有的png,不包括子目录。
find
. -maxdepth 1 -name
"*.png"
相对应的,也是mindepth选项。
find
. -mindepth 2 -maxdepth 2 -name
"*.png"
根据文件大小
通过-size来过滤文件尺寸。支持的文件大小单元如下
- b —— 块(512字节)
- c —— 字节
- w —— 字(2字节)
- k —— 千字节
- M —— 兆字节
- G —— 吉字节
举例来说,找出当前目录下文件大小超过100M的文件
find
. -
type
f -size +100M
根据访问/修改/变化时间
支持下面的时间类型。
- 访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。
- 修改时间(-mtime/天,-mmin/分钟):文件最后一次修改时间。
- 变化时间(-ctime/天,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间。
举例,找出1天内被修改过的文件
find
. -
type
f -mtime -1
找出最近1周内被访问过的文件
find
. -
type
f -atime -7
将日志目录里超过一个礼拜的日志文件,移动到/tmp/old_logs里。
find
. -
type
f -mtime +7 -name
"*.log"
-
exec
mv
{}
/tmp/old_logs
\;
注意: {} 用于与-exec选项结合使用来匹配所有文件,然后会被替换为相应的文件名。
另外,\;用来表示命令结束,如果没有加,则会有如下提示
find
. -
type
f -mtime +7 -name
"*.log"
-
exec
mv
{}
/tmp/old_logs
\;
根据权限
通过-perm来实现。举例,找出当前目录下权限为777的文件
find
. -
type
f -perm 777
找出当前目录下权限不是644的php文件
find
. -
type
f -name
"*.php"
! -perm 644
根据文件拥有者
找出文件拥有者为root的文件
find
. -
type
f -user root
找出文件所在群组为root的文件
find
. -
type
f -group root
找到文件后执行命令
通过-ok、和-exec来实现。区别在于,-ok在执行命令前,会进行二次确认,-exec不会。
看下实际例子。删除当前目录下所有的js文件。用-ok的效果如下,删除前有二次确
find
. -
type
f -name
"*.js"
-ok
rm
{} \;
"rm ./1.js"
?
试下-exec。直接就删除了
find
. -
type
f -name
"*.js"
-
exec
rm
{} \;
找出空文件
例子如下
touch
{1..9}.txt
echo
"hello"
> 1.txt
find
. -empty
查找两天前修改过的文件:
find
. -
type
f -mtime -2
查找3天内修改过的文件:
find
-ctime -3
find命令查找使用超过6天,空文件独立查询命令:
find
/data/backup
-ctime +6 -
exec
rm
-f {} \;
删除/data/backup目录下修改时间超过6天的文件。
find
/data/backup
-
type
d -empty -
exec
rmdir
{} \; >
/dev/null
2>&1
删除/data/backup目录下空的文件夹,同时输出正确和错误信息到空。
查找超过6天且是空文件的find命令:
find
./ -
type
d -empty -ctime +6
按修改时间来查找文件,要用到选项-mtime:
find
/home/admin
-mtime -1
#查找/home/admin目录下修改时间在1天之内的文件
find
/home/admin
-name *.txt -mtime -1
#查找/home/admin目录下修改时间在1天之内的文件名为.txt结尾的文件
find的基本查询命令《一》的更多相关文章
- DBA查询命令积累——不断更新
原文:DBA查询命令积累--不断更新 一.服务器配置: 1.兼容级别:兼容级别只影响指定数据库中的行为,而不会影响整个服务器上的行为. 1.1.查看数据库兼容级别及更改兼容级别: SELECT com ...
- MySQL常用的查询命令
MySQL常用的查询命令 author: headsen chen 2017-10-19 10:15:25 个人原创.转载请注明作者,出处,否则依法追究法律责任 1,查询现在的时间:mysql& ...
- MongoDb进阶实践之六 MongoDB查询命令详述(补充)
一.引言 上一篇文章我们已经介绍了MongoDB数据库的查询操作,但是并没有介绍全,随着自己的学习的深入,对查询又有了新的东西,决定补充进来.如果大家想看上一篇有关MongoDB查询的 ...
- AD域控Dsquery查询命令实列
注:请以管理员的身份运行cmd程序,要不然某些命令不生效 AD域控Dsquery查询命令实列 查询技术支持二部的所有用户 dsquery user OU=技术支持二部,OU=技术部, ...
- 手机WiFi万能钥匙查看破解的password和手机查询命令收集
手机须要网络利用WiFi万能钥匙破解了WIFI的password.手机就能够上网了,但假设想在电脑上使用手机破解的Wifi热点上网就须要password,此时须要知道手机破解的password,WiF ...
- Android系统代码查询命令集合
Android系统代码查询命令集合 *#06# 显示MEID *#*#4636#*#* 显示版本,或更新相机韧体 *#*#7594#*#* 当长按关机按钮时,会出现一个切换手机部分设置及更改设定 WL ...
- Eucalyptus常用查询命令
前言: Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems (Eucalyptus) ...
- ELK查询命令详解
目录 ELK查询命令详解 倒排索引 使用ElasticSearch API 实现CRUD 批量获取文档 使用Bulk API 实现批量操作 版本控制 什么是Mapping? 基本查询(Query查询) ...
- FFmpeg常用命令学习笔记(一)基本信息查询命令
笔者才开始学习音视频开发,FFmpeg学习笔记系列主要是从慕课网李超老师的FFmpeg音视频核心技术精讲与实战课程学习的心得体会. FFmpeg音视频核心技术精讲与实战:https://coding. ...
随机推荐
- 使用pyecharts绘制词云图-淘宝商品评论展示
一.什么是词云图? 词云图是一种用来展现高频关键词的可视化表达,通过文字.色彩.图形的搭配,产生有冲击力地视觉效果,而且能够传达有价值的信息. 制作词云图的网站有很多,简单方便,适合小批量操作. BI ...
- ggplot2(8) 精雕细琢
8.1 主题 主题系统控制着图形中的非数据元素外观,它不会影响几何对象和标度等数据元素.这题不能改变图形的感官性质,但它可以使图形变得更具美感,满足整体一致性的要求.主题的控制包括标题.坐标轴标签.图 ...
- php里面的一些面试经典的函数
<?php /* 这是一个多线程的读取解决的函数 @param1 $fle 传入要读取的文件名 */ function filelock($fle){ $fp=fopen($fls,'w+'); ...
- Python基础数据类型2
lst.extend([1,2,3]) # 扩展 --- 迭代添加 整型和布尔值不能迭代print(lst) lst1 = [1,2,3]lst2 = [4,5,6]lst3 = lst1 + lst ...
- js函数的三种成创建方式以及它们各自的不同
js有三种创建函数的方式: 1.function语句(也叫函数声明) function sum(a, b) { return a + b; } sum(1, 2); // 3 2. 函数直接量,又叫函 ...
- appnium适应之配置
一.session #获取包名和acctivename#这个工具在adk包里面aapt.exe dump badging E:\Wandoujia_851097_web_seo_baidu_binde ...
- 页面高度自适应方法(PC、移动端都适用)
有个项目移动端的首页需要自适应. 宽度已经自适应了 , 高度也要自适应 ,先总结一下方法,PC端也适用. $(function(){ var h = window.innerHeight; $(&qu ...
- 后端程序员必备:书写高质量SQL的30条建议
前言 本文将结合实例demo,阐述30条有关于优化SQL的建议,多数是实际开发中总结出来的,希望对大家有帮助. 1.查询SQL尽量不要使用select *,而是select具体字段. 反例子: sel ...
- 牛客练习赛60 A—F题解(缺E题)
本蒟蒻这次只过了三题 赛后学习了一下出题人巨佬的标码(码风比我好多了 贴的代码有些是仿出题人)现在将自己的理解写下来与大家分享 A这个题一分析就是每个数字都会与所有数字&一下 (a&a ...
- 动态规划-计数dp-Distinct Subsequences II
2020-02-06 17:01:36 问题描述: 问题求解: 非常经典的计数dp问题,思路就是统计以每个字符为结尾的个数,最后求和即可. dp[i] = sum of (dp[j]) 0 <= ...