Linux删除距离今天7天之前的所有文件夹

Linux删除距离今天7天之前的所有文件夹

致谢:感谢 铭鉴 大神的帮助和指点。

背景:

因平时需要处理服务器日志,日志均记录在固定格式的文件夹之中,格式为如 2016_11_11 的文件夹之中。

#!/bin/bash
dir=$(ls -l | grep "[0-9][0-9][0-9][0-9]_[0-9][0-9]_[0-9][0-9]" | awk -F " " '{print $9}')
today_s=$(date -d "-7 day" +%Y%m%d)
#echo $dir
for i in $dir
do 
dir_replace=$(echo "$i" | sed 's/_//g')
dir_date=$(date -d "$dir_replace" +%Y%m%d)
if [ $dir_date -le $today_s ]
then
echo "$i"
fi
done


将then fi之间的echo替换成删除的命令即可。

另外附上删除距今天7天的那个文件夹的命令。

find /mnt/d/test/ -type d -name `date +"%Y_%m_%d" -d "-7 day"`| xargs rm -rf

### 回答1: 在 Linux 系统中,可以使用 "rm -r" 命令来删除文件夹及其中的所有内容。 例如,如果要删除名为 "myfolder" 的文件夹及其中的所有内容,可以使用以下命令: ``` rm -r myfolder ``` 请注意,这将删除整个文件夹及其中的所有文件和子文件夹,并且不会有任何提示。因此,在执行此命令之前,应该确保已经备份了需要保留的文件。 ### 回答2: 要在Linux删除一个文件夹下的所有文件,可以使用"rm -r"命令。该命令将递归地删除指定文件夹下的所有文件和子文件夹。 例如,如果我们要删除名为"folder"的文件夹中的所有文件,可以在终端中执行以下命令: ``` rm -r folder ``` 执行该命令后,系统会提示你确认是否要删除每个文件及子文件夹。你可以输入"y"来确认删除,或者输入"n"来取消删除。 请注意,在执行此命令时要非常小心,确保你要删除文件夹和其内容是你想要删除的。因为一旦删除,文件无法恢复。 另外,如果你以root用户身份登录,你可以使用"rm -rf"命令,在不提示确认的情况下强制删除文件夹及其内容。但同样要谨慎使用此命令,因为它将不可逆转地删除文件夹和所有文件。 ### 回答3: 在Linux中,要删除一个文件夹下的所有文件,可以使用命令"rm -rf"。下面是具体的步骤: 1. 打开终端,进入要删除文件夹所在的目录。可以使用cd命令来切换目录。 例如,如果要删除目录下的一个名为"test"的文件夹,可以输入命令 "cd /" 切换到根目录,然后输入命令 "cd test" 进入文件夹。 2. 输入命令 "ls" 来查看文件夹中的所有文件和文件夹,确保要删除文件夹下没有重要的文件。 3. 输入命令 "rm -rf 文件夹名" 来递归删除文件夹下的所有文件和子文件夹。 例如,如果要删除名为"test"的文件夹及其内容,可以输入命令 "rm -rf test"。 请注意,这个命令非常强大,会不加确认地删除文件夹下的所有文件和文件夹,无法恢复。因此,在使用这个命令之前,请三思而后行,确保你不会不小心删除错误的文件夹。 另外,删除操作具有风险,请谨慎操作并确保自己有足够权限执行该操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值