Linux 按时间批量删除文件(删除N天前文件)

需要根据时间删除这个目录下的文件,/home/lifeccp/dicom/studies,清理掉20天之前的无效数据。

可以使用下面一条命令去完成:

find /home/lifeccp/dicom/studies -mtime +21 -name "*.*" -exec rm -Rf {} \;

这个是根据时间删除。

下面简要解释一下,这句shell命令:

find /home/lifeccp/dicom/studies -mtime +21 -name "*.*" -exec rm -Rf {} \;

  • /home/lifeccp/dicom/studies :准备要进行清理的任意目录
  • -mtime:标准语句写法
  • +10:查找10天前的文件,这里用数字代表天数,+30表示查找30天前的文件
  • "*.*":希望查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件
  • -exec:固定写法
  • rm -rf:强制删除文件,包括目录
  • {} \; :固定写法,一对大括号+空格+/+;

当然也可以根据文件名、根据大小,根据其他不同条件过滤删除,或者修改等,可以考虑sort等命令结合使用。因为时间有限,这里暂不赘述,后面用到的时候,我在慢慢补充。

时间: 2024-08-08 02:20:28

Linux 按时间批量删除文件(删除N天前文件)的相关文章

个人-linux中如何批量创建和删除用户的方法(不需要shell脚本)

创建:1.echo {01..03}|xargs -n1|sed -rn 's#(.*)#useradd stu\1;echo 12345|passwd --stdin stu\1#gp'|bash echo stu{01..03}|xargs -n1|sed -rn 's#(.*)#useradd &;echo 123456|passwd --stdin &#gp'|bash 删除:echo stu{01..03}|xargs -n1|sed -rn 's#(.*)#userdel -r

linux中find批量删除空文件及空文件夹

linux下批量删除空文件(大小等于0的文件)的方法  代码如下 复制代码 find . -name "*" -type f -size 0c | xargs -n 1 rm -f 用这个还可以删除指定大小的文件,只要修改对应的 -size 参数就行,例如:  代码如下 复制代码 find . -name "*" -type f -size 1024c | xargs -n 1 rm -f 就是删除1k大小的文件.(但注意不要用 -size 1k,这个得到的是占用空

linux批量复制或删除同命名规则的文件

如图所示,有多个不同后缀的文件,但他们的前缀都是"QC_TZ.impute." 此时想批量复制图中的文件的话,可以考虑用命令行 cp QC_TZ.impute.* /your/destination/ 其中,cp表示复制,*表示不同的后缀,/your/destination/表示复制的文件存放在"destination"的文件夹下 同理,如果想批量删除的话,用以下命令行 rm QC_TZ.impute.* rm表示删除

Linux下通过find命令进行rm文件删除的小技巧

   我们常常会通过find命令进行批量操作.如:批量删除旧文件.批量改动.基于时间的文件统计.基于文件大小的文件统计等.在这些操作其中,因为rm删除操作会导致文件夹结构变化,假设要通过find结合rm的操作写成脚本.就会遇到一些麻烦,本文通过一个样例为大家进行介绍. 系统环境: SUSE Linux Enterprise Server 11 或 Red Hat Enterprise Linux 问题症状: 客户现场有一个自己主动化的脚本,有下面的find语句,每天执行以删除某个文件夹下7天曾经

Linux下定时删除指定目下n天前的文件

* 6 * * * find /root/home/zhang/* ctime 1 -exec rm -rf {} \; 表示每天早上六点删除/root/home/zhang目录下一天前创建的所有文件,不删除文件夹zhang,如果这个文件夹也要删除的话用 * 6 * * * find /root/home/zhang ctime 1 -exec rm -rf {} \; * 6 * * * 第一个*号表示时间中的 分钟 取值范围:0-59 第二个*号表示时间中的 小时 取值范围:0-23 第三个

linux 文件删除过程浅析

1.Linux文件删除原理 Linux是通过link的数量控制文件删除的,只有当文件不存在任何链接时,该文件才会被删除,一般每个文件有两个link计数器: i_count 和 i_nlink,从VFS inode结构体中可以找到: struct inode { struct hlist_node i_hash; /* hash链表的指针 */ struct list_head i_list; /* backing dev IO list */ struct list_head i_sb_list

Linux/Unix 怎样找出并删除某一时间点的文件(转)

在Linux/Unix系统中,我们的应用每天会产生日志文件,每天也会备份应用程序和数据库,日志文件和备份文件长时间积累会占用大量的存储空间,而有些日志和备份文件是不需要长时间保留的,一般保留7天内的文件即可,那么我们怎么找出并删除7天前产生的日志文件和备份文件并将其删除呢? Linux/Unix提供了find 操作系统命令,使用该命令可以实现我们的目标. $man find 可以查看find命令的使用方法. 1. 找出 n 天前的文件 $find /temp/ -type f -mtime +n

Linux/Unix 怎样找出并删除某一时间点的文件

Linux/Unix 怎样找出并删除某一时间点的文件 在Linux/Unix系统中,我们的应用每天会产生日志文件,每天也会备份应用程序和数据库,日志文件和备份文件长时间积累会占用大量的存储空间,而有些日志和备份文件是不需要长时间保留的,一般保留7天内的文件即可,那么我们怎么找出并删除7天前产生的日志文件和备份文件并将其删除呢? Linux/Unix提供了find 操作系统命令,使用该命令可以实现我们的目标.$man find 可以查看find命令的使用方法.1. 找出 n 天前的文件 $find

描述Linux下文件删除的原理(计时3分钟)

Linux是通过link的数量来控制文件删除的,只有当一个文件不存在任何link的时候,这个文件才会被删除.一般来说,每个文件都有2个link计数器:i_count 和 i_nlink. i_count的意义是当前文件使用者(或被调用)的数量,i_nlink 的意义是介质连接的数量(硬链接的数量):可以理解为i_count是内存引用计数器,i_nlink是磁盘的引用计数器. 当一个文件被某一个进程引用时,对应i_count数就会增加:当创建文件的硬链接的时候,对应i_nlink数就会增加. 对于