如何使用Linux命令行删除/opt/soft/log/目录下超过30天未修改的所有.log文件,并确保彻底移除它们(包括其所有子目录)?
时间: 2024-11-06 14:35:48 浏览: 6
linux 程序安装目录/opt目录和/usr/local目录的区别
在Linux命令行中,你可以使用`find`和`rm`命令结合`-mtime`选项来实现这个需求。首先,找出/opt/soft/log/目录及其所有子目录下超过30天未修改的.log文件,然后将这些文件移除。以下是具体的步骤:
1. 打开终端:`Ctrl + Alt + T`
2. 使用`find`命令查找目标文件:
```
find /opt/soft/log -type f -name "*.log" -mtime +30
```
这会列出所有30天以上未修改的.log文件。
3. 确认结果无误后,添加 `-type f -name "*.log" -mtime +30 -delete
```
如果你想删除整个目录下的所有.log文件,而不是单个文件,可以稍微调整一下:
```
find /opt/soft/log -type d -name "*/log*" -mtime +30 -exec rm -r {} \;
```
这里使用了`-exec`选项配合`rm -r`(递归删除整个目录)来移除所有符合条件的.log文件所在的目录。
4. 最后确认执行前最好备份重要数据,因为`rm -r`操作是不可逆的。
阅读全文