我试图找到我的垃圾桶以释放光盘上的一些空间。我已经尝试了建议的命令如何使用终端清空垃圾箱?但似乎我没有任何本地文件夹。我也尝试列出所有隐藏文件夹,但没有找到任何本地或垃圾文件夹。删除的文件是否存储在其他地方,或者如果找不到垃圾箱,如何从删除的文件中恢复空间?
我正在使用终端。
通读本文的所有内容,直到找到满意的解决方案。如果没有,请添加评论告诉我我是世界上最糟糕的人。;)
此外,垃圾箱不会占用您所有的空间。您还没有创建垃圾桶,下面是如何制作垃圾桶的说明。在终端中,当您删除某些内容时,它会永远消失,除非您使用类似foremost(见下文)的恢复程序。
垃圾文件夹位于/home/username/.local/share/Trash/。由于您从终端运行,此文件夹可能不存在,但请继续阅读!只有在使用 GUI 将文件移动到那里后才会创建它(我不是 100% 了解这部分,但我的 LXDE 设置仅在我使用文件管理器将文件移动到那里时才创建它)。
由于@Zacharee1,我已经意识到您问题的真实性质。谢谢@Zacharee1。因此,终端设备中不存在垃圾文件夹,因此您必须创建自己的文件夹,否则可能会面临永远丢失重要文件的危险。当然,这意味着空间使用不是由此引起的。
Trash 文件夹中的项目将位于另一个文件夹中,即该items文件夹。现在,如果您想清除它,请使用两个单独的命令。
rm /home/username/.local/share/Trash/items/*
rm /home/username/.local/share/Trash/info/*
Run Code Online (Sandbox Code Playgroud)
看看取证程序foremost。你可以下载
sudo apt-get install foremost
Run Code Online (Sandbox Code Playgroud)
查看使用它的在线说明,使用该man页面或查看下面我对其工作原理的极其有限的理解。让我强调一下,我刚刚发现了这一点,并且在这方面并不了解,所以不要认为我说的一切都是真的。在 HowToForge ( https://www.howtoforge.com/recover-deleted-files-with-foremost ) 它告诉你运行
foremost -t filetype -i /dev/sda1
Run Code Online (Sandbox Code Playgroud)
(显然)将 filetype 替换为您需要恢复的文件类型。例如,如果我想恢复pdfs 我会做
foremost -t pdf -i /dev/sda1
Run Code Online (Sandbox Code Playgroud)
您将在您所在目录的文件夹中找到恢复的内容output。如果要在同一目录中多次执行,请执行
foremost -t filetype -T -i /dev/sda1
Run Code Online (Sandbox Code Playgroud)
额外的 -T 代表时间戳,因此单独的输出不会相互混淆。为了更好地了解foremost,请查看提供的链接或进行自己的研究。enter code here
这可能就是你!因此,您可能必须尝试两种不同的方法。
第一个,可能也是最不吸引人的,是比喻性地制作你自己的垃圾文件夹,为其设置一个计时器和一个系统来删除里面的文件。您可以通过向您的 中添加一个脚本来完成此操作,该脚本crontab的计时器为 1 个月。当计时器足够高时,BAM,
rm /path/to/trash/*
好士兵!有几件事你需要知道。的crontab。一个有用的工具,可让您在启动时运行脚本和命令。我们可能会使用这个。我刚刚提出的想法有一个很大的缺陷。计时器只会在您的计算机开启时运行。啊哈,我有一个(稍微)更好的主意!
好的,这将涉及一个 python 脚本和一个.txt! 欢呼!您将需要一个txt与该文件夹位于同一文件夹中的空文件garbage.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))
Run Code Online (Sandbox Code Playgroud)
现在,将此脚本添加到crontab. 为了读者的利益,我假设您不知道如何执行此操作。因此,在与 .bashrc 相同的目录中创建一个 bash 脚本trash.py。叫它trashshell.sh。在里面写:
#!/bin/bash
python3 trash.py
Run Code Online (Sandbox Code Playgroud)
保存,然后在crontab -e终端中输入命令。选择终端编辑器nano然后写
@reboot sh /path/to/trashshell.sh
Run Code Online (Sandbox Code Playgroud)
希望这有帮助!
把这个:
function trasher(){
mv "$1" /path/to/trash
}
Run Code Online (Sandbox Code Playgroud)
进入您的 .profile 或您的 .bashrc (如果存在,请执行 bashrc )。这将使您可以使用 将项目移至垃圾箱trasher itemname。例如,trasher new.txt
尝试在它所在的位置重新创建垃圾文件夹,例如Trash文件夹、expunged文件夹、files文件夹和info文件夹。等待 30 天。这可能行不通!!!
不要复制粘贴我写的代码。缩进几乎 100% 搞砸了,因为无法在 Stack Overflow 上进行格式化!哪位大神教教我!!!如果您制作了自己的垃圾文件夹并且喜欢冒险,则可以稍微更改一些内容,例如计时器的长度。
据我所知,垃圾箱只是一个索引功能。当一个文件从文件管理器中删除时,它被移动到~/.local/share/Trash/,它的目录结构保持不变。(例如:如果您删除~/testfolder/testfile.sh,testfile.sh将转到~/.local/share/Trash/testfolder/testfile.sh。)
(如果您使用sudo或gksudo打开文件管理器,/root/.local/share/Trash则是用于该会话的垃圾目录。)
不幸的是,这是一个 GUI 的东西。终端不这样做。rm实际删除文件;它不只是将它移动到垃圾文件夹以便以后恢复或删除,它会完全跳过垃圾。当然,您可以恢复文件,但前提是您没有覆盖它们曾经占用的硬盘驱动器上的空间。
您必须在终端中更加小心,因为它的设计并不是为了易于使用和方便。由于没有垃圾,删除文件更危险。此外,由于没有垃圾箱,因此无需删除垃圾箱以节省空间。其他东西正在填满您的硬盘驱动器。
| 归档时间: |
|
| 查看次数: |
16783 次 |
| 最近记录: |