Ubuntu 终端使用通配符删除多个部分文件

Ubuntu terminal removing multiple partial files using wildcard

这对 linux 用户来说可能很容易,但我很难弄清楚如何使用通配符删除多个文件(部分文件)。

sudo rm logs/archived/remove_me.2022.*sudo rm logs/archived/remove_me.2022.? 似乎不起作用。

我遇到错误 rm: cannot remove 'logs/archived/remove_me.*': No such file or directory

我目前正在 /var/lib/tomcat8/ 尝试删除 logs/archived 中的这些日志。

我正在一个一个地删除它们,但是有很多文件要删除..(例如,从 2020 年开始,每天都有和部分文件)。

示例我在 /var/lib/tomcat8/logs/archived/ 中,我想删除所有以 remove_me.2021.*

开头的日志文件

下面是我想要删除的示例文件列表remove.There还有此目录中不应删除的其他文件。

remove_me.2022-03-02.1.log.gz
remove_me.2022-03-02.2.log.gz
remove_me.2022-03-02.3.log.gz
remove_me.2022-03-02.4.log.gz
remove_me.2022-03-02.5.log.gz
remove_me.2022-03-03.1.log
remove_me.2022-03-03.2.log
remove_me.2022-03-03.3.log
remove_me.2022-03-03.4.log
remove_me.2022-03-03.5.log
remove_me.2022-03-03.6.log
remove_me.2022-03-03.7.log
remove_me.2022-03-03.8.log
remove_me.2022-03-03.9.log
remove_me.2022-03-03.10.log

我认为这里的问题是星号 (*) 由当前用户解决,即 成为超级用户之前。因此,它解析为空,因为当前用户甚至无法读取该目录。

通过先成为超级用户,然后正常执行所有操作来解决此问题:

sudo -i
cd /var/lib/tomcat8/logs/archived/
rm remove_me.2022.*