Linux下,如何将最后修改时间在某个时间之前的文件删除掉?

作者&投稿:睢庄 (若有异议请与网页底部的电邮联系)
Linux下如何改变文件的时间为当前时间之前的某个时间~

touch -t 201510111213.14 test.txt
更改文件的时间为2015年10月11号12点13分14秒

touch 还有个参数-d 这个是以当前时间为基准,几天前这个时候
touch -d "5 days ago" test.txt

find 搜索路径 -size +2M -cmin +$(((($(date +%H)*60))+$(date +%M))) -exec rm -f {} \;

例如:
从根目录起搜索:
find / -size +2M -cmin +$(((($(date +%H)*60))+$(date +%M))) -exec rm -f {} \;
搜索自己的home:
find ~ -size +2M -cmin +$(((($(date +%H)*60))+$(date +%M))) -exec rm -f {} \;

以上命令只能搜索大于2MB的单个文件,因为目录从本质上说也是一个文件,而就目录文件本身来说,其大小不可能达到几MB,所以rm命令我没加r这个递归删除参数.

如果要删除大于指定体积的目录,find可能做不到,你需要做个脚本,可能需要du测试目录大小

使用find命令组合可完成此功能,步骤如下:

1、创建一个时间标签临时文件(如,创建一个1900年1月1日0时0分的文件)

touch -t 190001010000 rmfile.tmp

2、用find命令组合进行删除

find . -type f ! -newer rmfile.tmp -exec rm -f {} \;
-type f 只处理普通文件
-newer 修改时间比rmfile.tmp新的,即在rmfile.tmp之后的文件
! -newer 叹号 取反,即得到rmfile.tmp之前的文件
-exec 执行命令
rm -f 强制删除,不需要提示

3、删除标签临时文件

rm -f rmfile.tmp


将以上命令写到一个文件中,做成一个脚本程序,使用起来会更方便

#!/usr/bin/bash
read -p "input time [YYYYmmddHHMM]:" del_time
TMP_FILE=rmfile.tmp.$del_time
touch -t $del_time $TMP_FILE
if [ $? -ne 0 ]
then
    echo "create temp file: $TMP_FILE error"
    exit
fi
find . -type f ! -newer $TMP_FILE -exec rm -f {} \;
rm -f $TMP_FILE


对比删除,觉得打包且删除原文件,更为合理。
假设目录名:/usr/log/
假设:将90天前的文件及文件夹都打包且删除。

cd /usr/log

find . -mtime +90 | xargs tar --remove-files -zcvf log.tar.gz

1. touch -t 01010000 time_file
2. find . ! -newer time_file | xargs rm

创建一个标准文件 time_file
然后删除不新于(! -newer) 这个文件的所有文件(也就是比这个文件创建时间早的文件)

noneki网友回答得不错!

第一步touch是要建立一个最后修改时间为“ 1月1号,0分0秒的”的比对文件time_file,

第二步, 用find查找,比time_file “不”新的所有文件,然后删除。

提示:如果是要根据修改时间,则把newer改成cnewer,如果是根据访问时间,则把newer改为anewer

#man find


在LINUX下如何将tar压缩文件解压到指定的目录下
将tar压缩文件解压到指定的目录下的命令是:tar -xvf 压缩文件 -C \/指定目录 例:#tar -xvf openstack_test.tar -C \/tmp 说明:把根目录下的openstack_test.tar解压到\/tmp下。

linux系统下如何把多个文件同时移动到指定的目录下?
如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。mv命令可以用来将源文件移至一个目标文件中,或将一组文件移至一个目标目录中。源文件被移至目标文件有两种不同的结果:1、如果目标文件是到某一目录文件的路径,源文件会被移到此目录下,且文件名不变。2、如果目标文件不...

LINUX如何将磁盘永久挂载到一个文件夹下面呢?
1、使用root用户登录到Linux系统。2、右键点击计算机桌面空白处,点击“Open Teminal”,打开命令终端。3、输入 fdisk -l 命令,查看当前系统的磁盘分区情况。4、输入 mkdir bakfile 命令,在 \/root\/ 目录下,新建一个名为 bakfile 的目录。5、输入 mount \/dev\/sdb1 \/root\/bakfile 将 \/dev\/sdb1 ...

如何在linux下将word转为pdf-CSDN论坛
你好,欢迎使用Linux WPS2019版本 1、打开所需转换的文档 2、点击“特色应用”-->“输出为PDF”

linux如何怎样将一个目录下的文件复制到另一个目录下?
dir1 目录和 dir2 目录 要将 dir1目录下的文件复制到dir2目录的话 cp -r \/dir1\/* \/dir2 \/\/ *代表所有文件 -r代表递归 如果是复制单个文件的话把*改成文件名就可以了 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作...

在LINUX下如何把路径切换到"下载"下面
可以使用cd命令将当前目录切换到指定的文件夹。cd是change directory的缩写。命令格式:cd [目录名]目录名可以用绝对路径指定,也可以使用相对路径指定。相对路径是从当前路径开始的路径。有几个符号作为目录名有特殊的含义:“\/”代表根目录、“..”代表上一级目录、“~”代表HOME目录、“-”代表前一...

如何将linux下的root权限给指定用户
方法二:修改\/etc\/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:## Allow root to run any commands anywhereroot ALL=(ALL) ALLtommy ALL=(ALL) ALL修改完毕,现在可以用tommy帐号登录,然后用命令 su - ,即可获得root权限进行操作。方法三:修改\/etc\/passwd 文件,找到如下行,把...

如何将Linux终端与Nautilus文件管理器结合起来
例如,要 检查 ISO 的 shasum 值,输入 shasum 命令,然后从另一个选项卡中拖放文件,如下所示。检查 ISO 的 shasum 值,输入 shasum 命令,然后从另一个选项卡中拖放文件 以上就是如何将Linux终端与Nautilus文件管理器结合起来的具体内容,未经网允许禁止转载!

linux 在shell下如何 将字符串写入 文件?
可以使用echo命令将文本流导向标准输出,然后再使用>符号重新定向标准输出到文件。用法示例:将字符串"hello world"写入文件file.txt中 echo "hello world" > file.txt 然后再尝试用cat命令从读取文件并写入到标准输出,可以看到字符串已经成功写入文件。cat file.txt ...

如何将linux下的现有用户加到管理员root组
5、赋予管理员权限,但是登录用户和管理员不是一个权限,查看一下执行vi \/etc\/passwd 测试这个用户和root不是一个用户组 ;6、root:x:0:0:root:\/root:\/bin\/bash,用户名:密码:Uid:Gid:描述:家目录:登录使用shell把测试用户的用户组修改成0,保存以后再次切换用户,就是管理员用户组。

中宁县14742888697: linux如何得到一个文件的最后修改时间
徵彭马根: 你好,这个使用STAT命令即可实现,比如查看awk.txt的修改时间 stat awk.txtstat awk.txt | grep -i Modify | awk -F. '{print $1}' | awk '{print $2$3}'| awk -F- '{print $1$2$3}' | awk -F: '{print $1$2$3}'以上命令就是单独使用命令来查看awk.txt文件的里面的MODIFY也就是修改时间了.

中宁县14742888697: Linux 怎么修改系统和文件的创建时间和最后修改时间 -
徵彭马根: date -s 05/06/2013修改年月日为2013年5月6日, date -s 09:30:00设置系统时间为09:30:00, clock显示的为CMOS记录的时间,如果要以date的时间为准,那么设置完date之后,记得用clock -w命令写入CMOS,使两个时间一致. Linux下修改文...

中宁县14742888697: LINUX系统修改时间命令 -
徵彭马根: 我们一般使用“date -s”命令来修改系统时间.比如将系统时间设定成1996年6月10日的命令如下. #date -s 06/10/96 将系统时间设定成下午1点12分0秒的命令如下.#date -s 13:12:00 注意,这里说的是系统时间,是linux由操作系统维护的. ...

中宁县14742888697: Linux下如何得到系统最后一次启动时间 -
徵彭马根: 方法一:last命令# last rebootreboot system boot 2.6.32-431.el6.i Wed Jul 30 13:44 - 21:39 (46+07:55)reboot system boot 2.6.32-431.el6.i Sun Apr 13 14:28 - 09:27 (107+18:59)reboot system boot 2.6.32-431.el6.i Tue Mar 25 22:27 - 14:19 (18+...

中宁县14742888697: linux 修改时间命令 -
徵彭马根: 如:date -s 11:11:11(时间改为了十一点十一分十一秒) date -s 20111111(日期更改为2011年11月11日) date -s ”11:11:11 2011-11-11“(时间改为了十一点十一分十一秒同时日期更改为2011年11月11日) 注:只有root有权限更改

中宁县14742888697: 如何修改linux的时间重启后系统时间 -
徵彭马根: Centos系统,必须同时修改系统时间和硬件时间,才可以保证修改有效,单纯的使用date命令修改系统时间,是立即生效,重启后系统还原.具体操作如下: 1.date {查看目前本地的时间} 2.hwclock --show {

中宁县14742888697: Linux怎么修改系统时间? -
徵彭马根: 使用“date -s”命令来修改系统时间.比如将系统时间设定成2012年6月10日的命令如下:#date -s 06/10/2012 将系统时间设定成下午1点12分0秒的命令如下. #date -s 13:12:00

中宁县14742888697: Linux操作系统下的时间设置方法介绍有哪些呢?
徵彭马根: Linux 中的所有命令(包括函数)都是采用的系统时钟设置.在Linux中,用于时钟查看和设置的命令主要有date、hwclock和clock.其中,clock和hwclock用法相近,只用一...

中宁县14742888697: 如何修改Ubuntu Linux的时间 -
徵彭马根: 可以使用date命令来修改系统时间,再使用hwclock --systohc写入硬件,示例如下 例如将时间设置为 2015-06-15 13:30,按如下命令操作: # sudo date -s "2015-06-15 13:30" # sudo hwclock --systohcdate命令 date命令是显示或设置系统时间...

中宁县14742888697: ubuntu linux中怎样修改文件的“修改时间” -
徵彭马根: 现在我们新建一个空白文件ubuntugege.txt,看到当前的文件访问时间和修改时间是一样的.用以下命令进行修改:touch -m -d "2000-01-01 10:10:10" ubuntugege.txt 嘿,文件修改时间变成了2000-01-01 10:10:10,这下我们也做了个小小的穿...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网