这对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_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.*