linux删除指定时间前的文件

本文介绍了如何在Shell中使用find命令配合mtime或mmin选项删除指定时间前的文件,提供了查找、统计、删除和配置定时执行的具体示例。
摘要由CSDN通过智能技术生成
1、删除命令介绍

在Shell中删除指定时间前的文件,可以使用find命令结合-mtime-mmin选项来查找并删除文件。

以下是一个示例:

# 删除30天之前的文件
find /path/to/directory -type f -mtime +30 -exec rm {} \;

# 删除60分钟之前的文件
find /path/to/directory -type f -mmin +60 -exec rm {} \;

在上面的命令中:

  • /path/to/directory 是要搜索的目录路径。
  • -mtime +30 表示查找修改时间在30天之前的文件。类似地,-mmin +60 表示查找修改时间在60分钟之前的文件。
  • -type f 表示只查找普通文件,而不包括目录或其他特殊文件。f为文件,d为文件夹。
  • -exec rm {} \;find命令中用来执行特定操作的部分。在这里,-exec参数表示执行后面指定的命令,rm是要执行的命令,{}代表find命令找到的文件名,在每次执行时会被替换为实际的文件名,\;表示命令的结束。所以,-exec rm {} \; 就是告诉find命令对于每一个找到的文件执行rm命令来删除它们。

请确保在运行这些命令之前仔细检查路径和条件,以免意外删除重要文件。

2、使用示例

1、确认路径和文件

# 查找指定名称目录下,指定名称的文件,统计数量
find /usr/share/nginx/html/ark* -mtime +2 -type f -name "*.html" |  wc -l
# 查找指定名称目录下,指定名称的文件,查看其路径名称,去重后展示,确认目录是否正确
find /usr/share/nginx/html/ark* -mtime +2 -type f -name "*.html" | xargs dirname | sort | uniq

2、执行删除

# 查找指定名称目录下,指定名称的文件,进行删除
find /usr/share/nginx/html/ark* -mtime +2 -type f -name "*.html" -exec rm {} \;

3、配置定时执行

#1、将删除命令写入rotate_clean_html.sh
#2、为脚本赋可执行权限
chmod +x /usr/share/nginx/html/rotate_clean_html.sh
#3、并在crontab -e 命令中增加如下行
30 9 * * * /usr/share/nginx/html/rotate_clean_html.sh > /dev/null 2>&1

2024.2.20 v1.0

  • 8
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 要删除指定后缀的文件,可以使用以下命令: ``` find . -type f -name "*.后缀" -delete ``` 其中,`.`表示当目录,`-type f`表示只查找文件,`-name "*.后缀"`表示查找后缀为“后缀”的文件,`-delete`表示删除找到的文件。 ### 回答2: 在Linux(或Unix)系统中,删除指定后缀文件可以通过使用命令行终端来完成。以下是一些常用的方法: 1. 使用通配符删除 通配符是Linux命令行中非常有用的工具。使用*通配符,可以删除指定后缀的所有文件。比如,要删除所有以.txt结尾的文件,可以使用以下命令: $ rm *.txt 注意使用通配符要小心,确保你要删除文件确实符合你想要的文件! 2. 使用find命令删除 find命令可以用来查找文件,并且可以结合其他命令一起使用。使用find来删除指定后缀的文件,可以使用如下命令: $ find . -type f -name "*.txt" -exec rm {} \; 这个命令会在当目录下查找所有以.txt结尾的文件,并将它们全部删除。 3. 使用xargs和rm命令删除 xargs命令可以将命令行参数转换为命令行参数列表。它可以与其他命令一起使用,以便删除指定后缀的文件。以下是一个可以给出所有.txt结尾的文件的例子: $ find . -type f -name "*.txt" | xargs rm 这个命令会找到所有以.txt结尾的文件,并将它们给rm命令做参数。 总之,删除指定后缀文件有多种方法,我们可以根据实际的需求选择不同的方法。无论是哪种方法,我们都需要格外小心,以免删除重要文件! ### 回答3: 在Linux中,删除指定后缀文件的方法有很多种。下面我来介绍三种常用的方法: 方法一:使用find命令 + xargs命令 步骤: 1. 打开终端,在要删除的目录下执行以下命令: find . -name "*.后缀名" | xargs rm -rf 其中,“.”表示当目录,后面的“*.后缀名”表示要删除文件的后缀名,例如删除所有txt文件,就输入“*.txt”;“|”表示管道符,将find命令的结果传递给xargs命令处理。 2. 执行命令后,系统会扫描当目录及其子目录下所有符合条件的文件,并删除之。 方法二:使用rm命令结合通配符 步骤: 1. 打开终端,在要删除的目录下执行以下命令: rm -rf *.后缀名 其中,“*.后缀名”表示要删除文件的后缀名,例如删除所有.txt文件,就输入“*.txt”;“-rf”表示强制删除,不提示,直接删除。 2. 执行命令后,系统会删除目录下所有符合条件的文件。 方法三:使用grep命令结合xargs命令 步骤: 1. 打开终端,在要删除的目录下执行以下命令: ls | grep '\.后缀名$' | xargs rm -rf 其中,“ls”表示列出当目录下的所有文件和目录;“grep '\.后缀名$'”表示匹配以“.后缀名”结尾的文件名;“xargs rm -rf”将匹配到的文件名作为rm命令的参数传递过去,然后删除符合条件的文件。 2. 执行命令后,系统会删除目录下所有符合条件的文件。 总的来说,以上三种方法都可以有效地删除指定后缀文件,但是要注意使用时要小心,以免误删重要文件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值