Linux之find命令操作技巧
一、前言
工作中,我们常用find命令查找某些文件或者删除一些旧的日志文件,所以学会find命令的操作技巧就极为重要。
二、find常用参数选项
-depth 从指定目录下最深层的子目录开始查找
-maxdepth levels 查找的最大目录级数,levels为自然数
-regextype type 改变正则表达式的模式。默认为emacs,还有posix-awk、posix-basic、posix-egrep、posix-extended
-mtime [-n|n|+n] 按照文件的修改时间来查找文件
n n是距现在第n天
-n 表示文件更改时间距现在n天以内
+n 表示文件更改时间距现在n天以前
-atime [-n|n|+n] 按照文件的访问时间来查找文件。单位为天
-ctime [-n|n|+n] 按照文件的状态改变时间来查找文件。单位为天
-amin 按照文件的访问时间来查找文件。单位为分钟
-cmin 按照文件的状态改变时间来查找文件。单位为分钟
-mmin 按照文件的修改时间来查找文件。单位为分钟
-group 按照文件所属的组来查找文件
-name 按照文件名查找文件,值支持*、?、[]等特殊通配符
-newer 查找更改时间比指定文件新的文件
-nogroup 查找没有有效用户组的文件
-nouser 查找没有有效属主的文件
-path pattern 指定路径样式,配合-prune参数排除指定目录
-perm 按照文件权限来查找文件
-regex 接正则表达式
-iregex 接正则表达式,不区分大小写
-size n[cwbkMG] 查找文件大小为n的文件,cwbkMG为文件度量单位
-user 按照文件的属主来查找文件
-type [b|c|d|p|l|f|s|D] 按文件类型查找文件
b 块设备文件
c 字符设备文件
d 目录
p 管道文件
l 符号链接文件
f 普通文件
s socket文件
D door
-delete 将查出的文件删除
-exec 对匹配的文件执行该参数所给出的shell命令
-ok 和-exec作用相同,但是执行每个命令之前,都会让用户先确认是否执行
-prune 使用这一选项可以使find命令不在当前指定的目录查找
-print 将匹配的文件输出到标准输出
! 取反
-a 取交集,全拼为and
-o 取并集,全拼为or
三、find命令操作技巧
1、模拟环境
#生成七天以前的日志文件 for n in $(seq )
do
date -s "2018/03/$n"
touch /data/access_www_$(date +%F).log
done
touch /data/access_nginx_$(date +%F).log
ntpdate ntp1.aliyun.com
ls -l /data/
2、删除七天以前的日志文件但保留文件名称含有nginx字段的文件
#方法一:
find /data/ -type f ! -name "*nginx*" -mtime + |xargs rm -f
ls /data/ #方法二:
find /data/ -type f ! -name "*nginx*" -mtime + -exec rm {} \;
ls /data/ #方法三:
find /data/ -type f ! -name "*nginx*" -mtime + -delete
ls /data/
3、把七天以前的文件移动到/tmp目录下
#方法一:
find /data/ -type f -name "*.log" -mtime + |xargs -i mv {} /tmp
ls /data/
ls /tmp #方法二:
mv `find /data/ -type f -name "*.log" -mtime +` /tmp
ls /data/
ls /tmp #方法三:
find /data/ -type f ! -name "*nginx*" -mtime + -exec mv {} /tmp \;
ls /data/
ls /tmp
Linux之find命令操作技巧的更多相关文章
- Linux shell日常命令和技巧
转自:http://www.vaikan.com/linux-shell-tips-and-tricks/ 原文:http://www.techbar.me/linux-shell-tips/ 使用L ...
- linux 修改时间 - [命令操作]
我们一般使用“date -s”命令来修改系统时间.比如将系统时间设定成1996年6月10日的命令如下. #date -s 06/10/96 将系统时间设定成下午1点12分0秒的命令如下. #date ...
- 【linux】工作中linux系统常用命令操作整理
1.Linux如何查看端口 使用lsof(list open files)命令,lsof -i:端口号 用于查看某一端口的占用情况,比如查看8000端口使用情况,lsof -i:8000. 或者使用n ...
- [svc]linux的ip命令操作接口和路由表
参考: https://www.tecmint.com/ip-command-examples/ 学会linux的配置ip,配置网关,添加路由等命令 man ip man ip address man ...
- Linux之执行命令操作20170330
介绍一下Linux系统中的代码执行shell等命令的几种操作方式: 一.标准流管道popen 该函数的原型是FILE * popen(const char* command, const char * ...
- linux中常见命令操作(转)
1.日常操作命令 **查看当前所在的工作目录pwd **查看当前系统的时间 date **查看有谁在线(哪些人登陆到了服务器)who 查看当前在线last 查看最近的登陆历史记录 2.文件系统操作** ...
- 初学Linux基本的命令操作应当记牢
Linux管理文件和目录的命令 命令 功能 命令 功能 pwd 显示当前目录 ls 查看目录下的内容 cd 改变所在目录 cat 显示文件的内容 grep 在文件中查找某字符 cp 复制文件 touc ...
- 《Linux 操作系统》Linux的常用命令操作大全
前言 在学习命令之前先学习我们该如何去学习linux 命令. 几乎每一个命令都有参数,每个参数的含义是什么,我们一般也不是全部都能记住,所以我们必须有一个可以知道每一个命令下各个参数的含义的方法. 命 ...
- Linux 下 SVN 命令操作详解
1.将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain ...
随机推荐
- Android、IOS的Fiddler证书安装教程
通过手机连接fiddler实现代理访问,其中必须得安装证书才能生效,那么针对不同的手机连接方式也不一样,分为两类:Android.iOS: Android-Fiddler证书安装: 直接在任意浏览器中 ...
- Android中的设计模式
一.设计模式的分类 总体来说23种设计模式分为三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式 ...
- 记一次uboot中gunzip解压速度慢的问题排查
背景 在项目中需要用到解压功能,之前还记录了下,将uboot解压代码移植到另外的bootloader中时,碰到的效率问题.最终查明是cache的配置导致的. https://www.cnblogs.c ...
- Linux01机和Linux02机的切换 和秘钥的配置
先试一下 01机和02机是否可以切换成功 使用 ssh root@ip地址 输入密码 ifconfig查看ip是否正确 切换回01机 01机配置的秘钥 查看隐形文件 01机配置秘钥 输入 ssh-c ...
- 算法整理(php语言完成),持续更行中......
一下所有实例中,均在同一个方法中,所以算法使用内部函数完成 归并排序 public function test1Action () { $tmp = 0; $al_merge = function($ ...
- day20191001国庆默写
day20191001国庆默写恢复 重在理解,而不是死记硬背.认真专心看6遍,做6遍. 学会码字,每天码字二小时.持之以恒. 任重道远,出发,走多少算多少.100分的试卷,会做20分也比一个努力也没有 ...
- 使用最新AndroidStudio编写Android编程权威指南(第3版)中的代码会遇到的一些问题
Android编程权威指南(第3版)这本书是基于Android7.0的,到如今已经过于古老,最新的Android版本已经到10,而这本书的第四版目前还没有正式发售,在最近阅读这本书时,我发现这本书的部 ...
- linux创建文件名添加当前系统日期时间的方法
使用`date +%y%m%d` Example: mkdir `date +%y%m%d` tar cfvz /tmp/bak.`date +%y%m%d`.tar.gz /etc YmdHM代表年 ...
- PHP根据经纬度获取在范围坐标的数据
// 计算范围,可以做搜索用户 function GetRange($lat,$lon,$raidus){ //计算纬度 $degree = (24901 * 1609) / 360.0; $dpmL ...
- 使用echarts常用问题总结
1,echarts配合element ui的抽屉插件出现报错,上次解决方法是使用element ui 抽屉的open事件,让在打开事件重新加载,我们项目的需求是点击某个数据,要传递这条数据包含的其他值 ...