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 ...
随机推荐
- Java描述设计模式(21):状态模式
本文源码:GitHub·点这里 || GitEE·点这里 一.生活场景 1.场景描述 变色龙是爬行动物,是非常奇特的动物,它有适于树栖生活的种种特征和行为,身体也会随着环境的变化而变化出适应环境的颜色 ...
- websocket可以做什么
本篇介绍的是websocket,但是并不介绍它的协议格式,一般能看明白http头也能明白websocket在协议切换前的协商,能看明白IP报头也就对websocket在协议切换后通讯格式不陌生.web ...
- 扛把子组20191107-8 beta week 2/2 Scrum立会报告+燃尽图 07
此作业的要求参见https://edu.cnblogs.com/campus/nenu/2019fall/homework/9960 一.小组情况 队名:扛把子 组长:孙晓宇 组员:宋晓丽 梁梦瑶 韩 ...
- Redis 数据结构
一.Redis简介 Redis是一款基于key-value的高性能NoSQL数据库,开源免费,遵守BSD协议.支持string(字符串) . hash(哈希) .list(列表) . set(集合) ...
- Linux下使用Nginx做CDN服务器下的配置
由于使用docker配置Nginx比较方便,所以博主就使用docker做为容器配置下 第一步.配置docker-compose.yml文件 version: services: nginx: rest ...
- 【NOIP2017】【Luogu P3956】【SPFA】棋盘
Luogu P3956 本题是一道简单的SPFA 具体看程序 #include<iostream> #include<cstdio> using namespace std; ...
- JVM学习笔记(1)--运行时数据区域
运行时数据区域 相对于c,c++.程序设计时,java并不需要手动释放或者创建内存用于存放程序,这的确使得java开发变得容易和轻松,一旦有一天出现了内存泄漏或者内存溢出的问题,如果不了解JVM虚拟机 ...
- 两个对象值相同(x.equals(y)==true),但却可有不同的hashcode这句话对吗?
1.这句话当然不对啦,请参看官方文档给出的解释! hashCode public int hashCode()返回该对象的哈希码值.支持此方法是为了提高哈希表(例如 java.util.Hashtab ...
- djanao请求生命周期
djanao请求生命周期 浏览器发送请求到服务端 服务端的wsgi服务器接收到来自浏览器的请求, 对request做一些预处理, 把浏览器的请求信息(请求方式, 请求头, socket信息等)都封装在 ...
- PHP获取绝对路径dirname(__FILE__)和__DIR__比较
我们都知道,要获取当前PHP脚本所在目录的绝对路径,dirname(__FILE__) 和 __DIR__都可以实现.那么什么情况下用 dirname(__FILE__),什么情况下用 __DIR__ ...