首页 > 系统相关 >Linux find命令删除N天或N小时前的文件或目录

Linux find命令删除N天或N小时前的文件或目录

时间:2024-01-15 17:35:11浏览次数:44  
标签:文件 00 01 15 删除 天前 Linux find

前言全局说明

Linux find命令删除N天或N小时前的文件或目录


一、模拟创建N天前的文件(夹)

1.1 生成不带0开头的文件名
for i in {1..15}; do  t=$i; touch -d "2024-01-0$i 00:00:00" $i.txt; done

image

1.2 生成0开头的文件名
for i in {01..15}; do  t=$i; touch -d "2024-01-0$i 00:00:00" $i.txt; done

image

1.3 生成00开头的文件名
for i in {01..15}; do  t=$i; touch -d "2024-01-0$i 00:00:00" $i.txt; done

image

细心的人可能发现:
2024-01-0$i 的 $i 前多了个0 ,经过测试,这个不影响修改时间,正常用不到就要去掉。
这里为了演示就加上了

1.4 生成00开头的文件加
for i in {001..15}; do  t=$i; mkdir $i; touch -d "2024-01-0$i 00:00:00" $i; done

image


二、删除N天前的 "文件"

假设, 执行命令的日期是,当月15日

2.1 删除10天前的文件(不算执行命令的这天)
find . -mtime +10 -type f -name "*" -exec \rm -f {} \;

image


2.2 删除1天前的文件(不算执行命令的这天)
find . -mtime +1 -type f -name "*" -exec \rm -f {} \;

image


三、删除N天前的 "文件夹"

find . -maxdepth 1 -mtime +10 -type d -name "*" -exec \rm -rf {} \;

image


四、删除N天前的 "文件" 和 "文件夹"

假设, 执行命令的日期是,当月15日

find . -maxdepth 1 -mtime +3 -name "*" -exec \rm -rf {} \;

如果要删文件,又删出文件夹,那么就不用-type 参数

image


五、命令解释:

find			查找命令
/root/Text		查找路径
-maxdepth 1		设置搜索目录层级,1层
-mtime			文件最后修改时间
+3				3天前(或理解成从命令执行当前日期开始,当天不算,保留3个文件)
-amin			文件最后修改时间
+10				时间超过10分钟的时间
-type			文件类型
f				指定类型。f是文件;d是目录;f普通文件;l符号连接;
						 c字符设备;b块设备;s套接字;p Fifo
-name			查询方式为查询文件名
"log.*"			查找log开头后面为任意长度字符的文件(不明白可以找“正则表达式”教程看看)
-exec			固定写法
-ok				固定写法, 和-exec一样功能,但是会提示
rm -f			符合条件的执行删除并不提示
{}				固定写法,会被替换find 找到的文件(夹). 注意左右有空格
\;				固定写法,注意左有空格


免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他风险,后果自负。




参考、来源:
https://blog.51cto.com/wutou/1932446
Linux命令大全搜索工具 v1.8.0.pdf



标签:文件,00,01,15,删除,天前,Linux,find
From: https://www.cnblogs.com/wutou/p/17965779

相关文章

  • linux安装docker 社区版(免费版)
    Docker分为CE和EE两大版本。CE即社区版(免费,支持周期7个月)EE即企业版,强调安全,付费使用,支持周期24个月。DockerCE分为stabletest和nightly三个更新频道。官方网站上有各种环境下的安装指南,这里主要介绍DockerCE在CentOS上的安装。1.1.卸载(可选)如果之前安装......
  • linux 部署 jdk1.8
    将文件(jdk-8u391-linux-x64.tar.gz)上传到服务器的文件中。我是放到了/usr/local/jdk文件夹下面。然后输入指令压文件tar-zvxfjdk-8u391-linux-x64.tar.gz找到 /etc/profile文件,在最后一行添加exportJAVA_HOME=/usr/local/jdk/jdk1.8.0_391exportCLASSPATH=$:......
  • SecureCRT & SecureFX 9.5 for macOS, Linux, Windows
    SecureCRT&SecureFX9.5formacOS,Linux,Windows-跨平台的多协议终端仿真和文件传输请访问原文链接:SecureCRT&SecureFX9.5formacOS,Linux,Windows,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgSecureCRT客户端运行于Windows、Mac和Linux,将坚如磐......
  • Acunetix v24.1 (Linux, Windows) - 漏洞扫描 (Web 应用程序安全测试)
    Acunetixv24.1(Linux,Windows)-漏洞扫描(Web应用程序安全测试)Acunetix|WebApplicationSecurityScanner请访问原文链接:https://sysin.org/blog/acunetix/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org重要提示AcunetixPremium现在使用日历化版本命......
  • leetcode 19.删除链表的倒数第N个节点
    leetcode19.删除链表的倒数第N个节点第十九题:删除链表的倒数第N个节点在对链表进行操作时,一种常用的技巧是添加一个哑节点(dummynode),它的next指针指向链表的头节点。这样一来,我们就不需要对头节点进行特殊的判断了。例如,在本题中,如果我们要删除节点y,我们需要知道节点y的前......
  • vulnhub-lampiao(linux脏牛提权)
    环境准备靶机-lampiao攻击机-kali演示使用nmap探测内网网络,我这里使用NAT网络,网段为192.168.116.0/24nmap192.168.116.0/24发现192.168.116.136存活,扫描全端口nmap-p1-65535192.168.116.136 访问1898端口发现为drupal使用msf来进行攻击searchdrupal......
  • Arch Linux 更换国内镜像源
    自己用的ArchLinux在使用pacman-Syu更新系统时出现了连接超时的问题,看来又需要换个镜像源了。趁着今天还没想好要分享的内容,那就干脆以此为主题,总结一下如何给ArchLinux系统更换国内镜像源。手动更换这里说的「手动」是相对于后面要介绍的命令方式而言,是比较基础的镜像......
  • WSL2 配置 ArchLinux 初始化环境
    这篇文章针对的是在Win11系统的WSL2下安装ArchLinux系统,网上很多中文教程都是使用LxRunOffline去做的,但是实际上该方法已经过时了,目前有更加先进的ArchWSL方式。基于LxRunOffline安装ArchLinux教程:Here如果用的是wsl1,不保证本教程可以适用。安装ArchLinux子系统......
  • Linux系统安装
    Linux系统安装本篇介绍了虚拟机和云环境安装Kali,CentOS遇到的一些问题和一些常用基线配置(个人向)0x00KaliLinux系统调试1.开启root用户登录sudo-svim/etc/pam.d/gdm-autologin#第三行!=root那行注释掉保存退出vim/etc/pam.d/gdm-password#第三行!=root那行注释掉......
  • 无涯教程-SQL - 删除数据库
    SQLDROPDATABASE语句用于删除SQL模式中的现有数据库。DropDatabase-语法DROPDATABASE语句的基本语法如下:DROPDATABASEDatabaseName;数据库名称在RDBMS中始终应该是唯一的。DropDatabase-示例如果要删除现有数据库,则DROPDATABASE语句将如下所示-SQL>DROPD......