如何使用 Ubuntu 棒从硬盘中删除文件?

如何使用 Ubuntu 棒从硬盘中删除文件?

Ubuntu 20.04

当我尝试登录时,我收到一条错误消息。我试图截屏,但它冻结了。

当我重新启动时,一切看起来都很好,系统提示我输入密码。它似乎登录了,但只是循环回到登录屏幕。

我使用 Ubuntu 棒访问了我的硬盘,发现硬盘上没有可用字节。我怀疑内存不足,无法完成登录。

我可以访问我的所有文件,我想删除一些,但“移至垃圾箱”选项被禁用。

如何通过我的 Ubuntu 棒以管理员身份访问硬盘并删除一些文件?

答案1

为了能够从 Ubuntu 安装棒中删除文件:

  1. 启动安装程序然后选择“尝试 Ubuntu”
  2. 一旦 GUI 启动,就找到终端。
  3. 通过运行找到 Ubuntu 安装的硬盘位置fdisk -l
  4. 找到安装 Ubuntu 的硬盘位置后,运行cd /path-to-hdd/
  5. 根据要删除的文件的位置,您需要cd转到其目录。要删除文件,请运行rm myfile。要删除目录,请运行rm -r mydir/

我希望这有帮助。

编辑:如果要求您以 root 身份运行这些命令,请sudo在命令开头添加。如果需要密码(我认为不需要),请查看页。

答案2

我已经使用 Linux(和其他 UNIX)大约 20 多年了,这种情况我经常遇到。

首先,无需重新安装 - 我从来没有这样做过,而且我真的无法想象为什么需要这样做。完整的根文件系统只是意味着您无法存储更多数据,但已经存在的数据没有问题;可能有一些数据被损坏了 - 例如在数据库中 - 但我见过的次数不够多,所以记不清了。就您而言,您无法登录,因为您的 shell 或桌面管理器需要存储一些数据,但无法存储;您只需要释放一些空间。

要做的是,进入命令行 - 如果您可以从实时发行版启动,就像其他人说的那样,请执行此操作,打开终端并安装您需要处理的文件系统(如果尚未发生)。首先找到磁盘设备(用于df列出已安装的设备):

# df
Filesystem                                     1K-blocks        Used   Available Use% Mounted on
tmpfs                                           26379228        3284    26375944   1% /run
/dev/nvme1n1p4                                 863630096   744645468    75040948  91% /
tmpfs                                          131896140           4   131896136   1% /dev/shm
...

# fdisk -l
...
Disk /dev/loop7: 55.52 MiB, 58212352 bytes, 113696 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/nvme1n1: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: Samsung SSD 970 EVO Plus 1TB            
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 2217FDA8-ADEA-49F9-B6A0-A7A26460B6FA

Device             Start        End    Sectors   Size Type
/dev/nvme1n1p1        34      32767      32734    16M Microsoft reserved
/dev/nvme1n1p2     32768  195381657  195348890  93.1G Microsoft basic data
/dev/nvme1n1p3 195383296  196431871    1048576   512M EFI System
/dev/nvme1n1p4 196431872 1953523711 1757091840 837.8G Linux filesystem
...

忽略这些/dev/loop,它们是困扰 Ubuntu 的愚蠢行为的表现snap。对于每个标记为 的Linux filesystem,在某处创建一个挂载点并挂载它:

# mkdir /myroot
# mount /dev/nvme1n1p4 /myroot

我怀疑除了 EFI 分区(如果您使用 EFI 分区的话)之外,其他所有东西都只放在一个分区上。因此,经常发生的情况是 /tmp 或 /var 已填满,由于所有东西都位于同一分区上,因此您的根文件系统会用尽空间。以下是我通常的做法:

找出所有空间都去哪儿了;为此使用du(下面我以 root 身份运行,因为我很硬核(又名愚蠢),但你可以sudo在所有命令前面使用,除了命令之外cd):

# cd /
# du -sk etc home lib* mnt opt root snap tmp usr var | sort -n

为什么你不应该输入sudo字体cd?因为sudo cd /some/directory它在子 shell 中执行,并且当命令完成后,你将回到你开始的地方。

du显示使用了多少空间,并-sk以 KB 为单位进行汇总;通常你会使用类似du -sk *,但我发现它经常挂在根目录中的某些子目录中,所以我倾向于避免这些。该| sort -n部分获取输出并按数字排序,因此你会在底部看到最大的罪魁祸首。假设你发现它是/var

# cd /var
# du -sk * | sort -n
  • 等等。在这种情况下,您可能会发现它/var/log已经变得太大了,通常您可以毫无问题地删除其中的一些文件。/tmp顺便说一下,另一个可以删除的地方是。

然后要删除,使用rm

# # In /var/log:
# ls
alternatives.log       btmp            lastlog
alternatives.log.1     btmp.1              openvpn
alternatives.log.2.gz  cups            private
alternatives.log.3.gz  dist-upgrade        speech-dispatcher
alternatives.log.4.gz  dmesg               syslog
alternatives.log.5.gz  dmesg.0             syslog.1
alternatives.log.6.gz  dmesg.1.gz          syslog.2.gz
...

以 结尾的文件.gz是较旧的压缩日志文件,通常可以丢弃 - 但要小心,先尝试使用 ls 查看要删除的内容:

# ls *gz
# rm *gz

ls当您考虑使用任何类型的通配符或正则表达式删除内容时,请始终使用它!

完成此练习后,您应该已经释放了足够的空间,下次安装 Linux 系统时,请记住将诸如/var/opt和 之类的文件/tmp(以及您发现太大的文件)放在单独的分区上。您可能仍然会用完空间,但至少麻烦可能少一些。

答案3

创建空间有不同的方法:

  1. 选择一个文件并按shift+ del。这将删除该文件。您无法将文件移至垃圾箱,因为没有空间。

  2. 或者您可以前往该位置,右键单击并选择该选项open in terminal并使用该rm命令。

  3. 或者您可以剪切并粘贴到另一个磁盘/分区。

  4. 或者您可以前往该位置,右键单击并选择该选项 move to wastebin,但按住 Shift 键它会改变delete并选择该选项。

相关内容