垃圾文件夹的位置

垃圾文件夹的位置

我尝试找到我的垃圾桶,以便释放磁盘上的一些空间。我尝试了建议的命令如何使用终端清空垃圾箱?但似乎我没有任何本地文件夹。我尝试列出所有隐藏文件夹,但没有找到任何本地文件夹或垃圾文件夹。删除的文件是否存储在其他地方,或者如果找不到垃圾桶,如何从删除的文件中恢复空间?

我正在使用终端。

答案1

作者前注:

通读这篇文章,直到找到满意的解决方案。如果没有,请添加评论告诉我,我是世界上最糟糕的模仿者。此外,垃圾桶并不是占用您所有空间的东西。您没有创建垃圾桶,下面是如何创建垃圾桶的说明。在终端中,当您删除某些内容时,它会永远消失,除非您使用类似(见下文);) 的恢复程序。foremost

垃圾文件夹的位置

垃圾文件夹位于/home/username/.local/share/Trash/。由于您是从终端运行的,因此此文件夹可能不存在,但请继续阅读!只有在使用 GUI 将文件移动到那里后才会创建它(我对这部分不是 100% 确定,但我的 LXDE 设置仅在我使用文件管理器将文件移动到那里时才创建它)。

解释:

感谢@Zacharee1,我意识到了你的问题的真正本质。谢谢@Zacharee1。因此,终端中不存在垃圾文件夹,因此你必须自己创建垃圾文件夹,否则就得忍受永远丢失重要文件的危险。当然,这意味着空间使用不是由此引起的。

如果您已经创建了垃圾文件夹:

垃圾文件夹中的项目将位于另一个文件夹(即items文件夹)中。现在,如果您想清除它,请使用两个单独的命令。

rm /home/username/.local/share/Trash/items/*
rm /home/username/.local/share/Trash/info/*

如果您只想恢复一些文件:

查看取证程序foremost。您可以使用

sudo apt-get install foremost

查看在线使用说明、使用页面man或查看下面我对其工作原理的极其有限的理解。我要强调的是,我刚刚发现这个,对这个领域并不了解,所以不要认为我说的一切都是正确的。在 HowToForge (https://www.howtoforge.com/recover-deleted-files-with-foremost)它会告诉你运行

foremost -t filetype -i /dev/sda1

(显然)将 filetype 替换为您需要恢复的文件类型。例如,如果我想恢复pdfs,我会这样做

foremost -t pdf -i /dev/sda1

您将在当前目录中名为 的文件夹中找到已恢复的内容output。如果您想在同一目录中多次执行此操作,请执行

foremost -t filetype -T -i /dev/sda1

额外的 -T 代表时间戳,因此单独的输出不会相互混淆。为了更好地理解foremost,请查看提供的链接或进行自己的研究。enter code here

如果您没有创建垃圾文件夹(但您需要一个):

这个人可能就是你!所以,你可能要尝试两件不同的事情。

第一个,也可能是最不吸引人的,就是形象地创建自己的垃圾文件夹,为其设置一个计时器,并设置一个系统来删除里面的文件。您可以通过向 中添加一个脚本来实现这一点crontab,该脚本的计时器为 1 个月。当计时器足够长时,BAM,

rm /path/to/trash/*

如果你不想自己动手:

好了,士兵!有几件事你需要知道。。crontab一个有用的工具,可让您在启动时运行脚本和命令。我们可能会使用它。我刚刚提出的想法有一个很大的缺陷。计时器只有在您的计算机开启时才会运行。啊哈,我有一个(稍微)更好的主意!

稍微好一点的想法!

好吧,这将涉及一个 Python 脚本和一个!太好了!您将需要在与此相同的文件夹中创建.txt一个名为的空文件。因此,基本上,这些是内容:txtgarbage.txt

#!/usr/bin/env python3
#Comment: This Will Be Called Trash.py

import datetime
import subprocess

with open("garbage.txt", "r+") as garbage:
     x = int(garbage.read(1))
     now = datetime.datetime.now()
     month = now.month
     if month != x:
         subprocess.Popen(['rm', '-rf', '/where/ever/trash/folder/is/)
         subprocess.Popen(['mkdir', '/where/ever/trash/folder/is/'])
         with open("garbage.txt", 'w+') as sadness:
         sadness.write(str(month))

现在,将此脚本添加到crontab。为了方便读者,我假设您不知道如何执行此操作。因此,在 的同一目录中创建一个 bash 脚本trash.py。将其命名为trashshell.sh。在其中写入:

#!/bin/bash
python3 trash.py

crontab -e保存,然后在终端中输入命令。选择终端编辑器 nano,然后输入

@reboot sh /path/to/trashshell.sh

希望这有帮助!

可选:轻松删除!

放这个:

function trasher(){
     mv "$1" /path/to/trash
}

进入你的 .profile 或 .bashrc(如果存在,则执行 bashrc)。这将帮助你将项目移至垃圾桶trasher itemname。例如,trasher new.txt

这可能是一个错误的想法!

尝试在垃圾文件夹所在的位置重新创建垃圾文件夹,例如Trash文件夹、expunged文件夹、files文件夹和info文件夹。等待 30 天。这可能行不通!!!

作者注:

不要复制粘贴我写的代码。缩进几乎 100% 乱了,因为无法在 Stack Overflow 上进行格式化!求教!!!如果你创建了自己的垃圾文件夹,并且喜欢冒险,你可以稍微改变一些东西,比如计时器的长度。

答案2

据我所知,垃圾只是一个索引功能。当文件从文件管理器中删除时,它会被移动到~/.local/share/Trash/,其目录结构保持不变。(例如:如果你删除~/testfolder/testfile.shtestfile.sh将转到~/.local/share/Trash/testfolder/testfile.sh。)

(如果您使用sudogksudo打开文件管理器,/root/.local/share/Trash则是该会话使用的垃圾目录。)

不幸的是,这是 GUI 的问题。终端无法做到这一点。rm实际上删除了文件;它不会将其移动到垃圾文件夹以便稍后恢复或删除,而是完全跳过垃圾文件夹。当然,您可以恢复文件,但前提是您没有覆盖它们曾经占用的硬盘空间。

您必须在使用终端时更加小心,因为它的设计并不完全是为了易用性和便利性。由于没有垃圾,删除文件会更加危险。此外,由于没有垃圾,因此没有垃圾可以删除以节省空间。其他东西正在填满您的硬盘。

答案3

打开 nautilus 或任何你使用的文件管理器并在地址栏中输入(ctrl+l)

trash:///

那你就应该进垃圾桶了。

我将 nemo(Linux Mint 中的文件管理器)中垃圾箱的内容与 的输出内容进行了比较ll -R ~/.local/share/trash。看起来我在文件管理器中看到的内容位于 子文件夹中info

从终端:

rm -rf ~/.local/share/Trash/info

但正如你所说,你没有任何垃圾。除非你从终端中删除了文件,否则这很奇怪。如果你这样做了,文件实际上被删除了,而不是被移到了垃圾桶!

~/.local/全新安装后服务器安装中没有

相关内容