删除单个文件夹内的所有文件 - 使用终端,以管理员身份

删除单个文件夹内的所有文件 - 使用终端,以管理员身份

我在 Ubuntu 22.04 上安装了 Timeshift。它有一些未完成的快照占用了我太多的磁盘空间(接近 100 GB)。我目前正在使用 Nautilus/Files 从 中删除它们(以管理员身份)/timeshift/snapshots。那里有 5 个文件夹,名称类似于2023-12-02-12-15-00,这是快照日期和时间的组合。

删除所有文件的过程需要很长时间(该过程仍在进行,已经 1 个小时了,我有 SSD)并且时不时地要求输入密码,这非常不舒服。

我想知道是否有任何安全的命令可以删除文件夹内的所有内容sudo。希望它会更快、更有效。任何帮助都会很棒。谢谢。

编辑:

我浏览了 Timeshift,并能够快速删除它们。但仍然想知道如何使用终端来做到这一点。谢谢。

答案1

rm删除文件的命令。

打开终端并转到/timeshift/snapshots目录:

cd /timeshift/snapshots

要删除快照目录中的所有内容(文件):

sudo rm *

要删除快照目录中的所有内容(包括所有目录及其内容):

sudo rm -r *

请非常尊重命令,rm因为它可能会给你带来很大的痛苦......

答案2

cd /timeshift/snapshots/
ls -ltr *

将列出内容。检查它是否是正确的目录。其中的名称需要与您在 Nautilus 中看到的名称相匹配。

需要记住的是:ls是列表命令,如果ls显示它替换lsrm删除所显示的内容(以及可能在两个命令之间添加的内容;))

sudo rm -rf 202[012]-*/

如果您有旧的目录,将删除以 2020、2021、2022 开头的所有文件。

以下示例展示了其工作原理:

sudo rm -rf 2023-0?-??*/

将删除2023最多2023-09-302023 年 9 月为止的任何内容。

sudo rm -rf 2023-10*/

将从 2023 年 10 月开始全部完成。将最后的 2 更改为 11 月的 11。

您还可以使用自动完成功能:键入sudo rm -rf 20,然后按 TAB 键,让其填充文件名的其余部分。当您达到满足您需求的程度时,添加*/并按回车键。它将删除所有这些文件。


如果你想让它全部消失,并且不关心任何快照,最简单的方法是:

cd /timeshift/
sudo rm -rf snapshots/*

这也将删除最新的快照。

我在命令中使用字母的原因是:如果你在错误的目录中,它可能会出错,2023并且snapshot不经常使用。

这可能需要一段时间,但除非两个命令之间间隔 15 分钟,否则它不会再次询问管理员密码。

相关内容