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

767*_*676 8 boot hard-drive 20.04

乌班图20.04

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

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

我使用 Ubuntu 棒访问我的硬盘驱动器,我发现我的硬盘驱动器有零字节可用。我怀疑没有足够的内存来完成登录。

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

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

Jef*_*eff 8

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

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

我希望这有帮助。

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

  • 您应该挂载该分区,cd 到其挂载点,然后识别文件和目录。例如,请参阅非常宽的终端窗口中的“lsblk -fm”。 (2认同)

j4n*_*53n 6

我使用 Linux(和其他 UNIX)已经有 20 多年了,这是我经常遇到的场景。

\n

首先,不需要重新安装——我从来没有这样做过,而且我真的无法想象为什么有必要这样做。完整的根文件系统仅意味着您无法存储更多数据,但已经存在的数据是可以的;可能有一些数据被损坏 - 例如在数据库中 - 但我没有经常看到它来记住它。在您的情况下,您无法登录,因为您的 shell 或桌面管理器需要存储一些数据,但不能;你只需要释放一些空间。

\n

要做的事情是,进入命令行 - 如果您可以从实时发行版启动,就像其他人所说的那样,那么打开一个终端并安装您需要处理的文件系统(如果还没有发生的话)。首先找到磁盘设备(用于df列出已安装的设备):

\n
# df\nFilesystem                                     1K-blocks        Used   Available Use% Mounted on\ntmpfs                                           26379228        3284    26375944   1% /run\n/dev/nvme1n1p4                                 863630096   744645468    75040948  91% /\ntmpfs                                          131896140           4   131896136   1% /dev/shm\n...\n\n# fdisk -l\n...\nDisk /dev/loop7: 55.52 MiB, 58212352 bytes, 113696 sectors\nUnits: sectors of 1 * 512 = 512 bytes\nSector size (logical/physical): 512 bytes / 512 bytes\nI/O size (minimum/optimal): 512 bytes / 512 bytes\n\n\nDisk /dev/nvme1n1: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors\nDisk model: Samsung SSD 970 EVO Plus 1TB            \nUnits: sectors of 1 * 512 = 512 bytes\nSector size (logical/physical): 512 bytes / 512 bytes\nI/O size (minimum/optimal): 512 bytes / 512 bytes\nDisklabel type: gpt\nDisk identifier: 2217FDA8-ADEA-49F9-B6A0-A7A26460B6FA\n\nDevice             Start        End    Sectors   Size Type\n/dev/nvme1n1p1        34      32767      32734    16M Microsoft reserved\n/dev/nvme1n1p2     32768  195381657  195348890  93.1G Microsoft basic data\n/dev/nvme1n1p3 195383296  196431871    1048576   512M EFI System\n/dev/nvme1n1p4 196431872 1953523711 1757091840 837.8G Linux filesystem\n...\n
Run Code Online (Sandbox Code Playgroud)\n

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

\n
# mkdir /myroot\n# mount /dev/nvme1n1p4 /myroot\n
Run Code Online (Sandbox Code Playgroud)\n

我怀疑除了 EFI 分区(如果您使用的是 EFI 分区)之外,您的所有内容都集中在一个分区上。因此,经常发生的情况是 /tmp 或 /var 被填满,并且由于所有内容都位于同一分区上,因此您的根文件系统空间不足。这是我通常做的事情:

\n

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

\n
# cd /\n# du -sk etc home lib* mnt opt root snap tmp usr var | sort -n\n
Run Code Online (Sandbox Code Playgroud)\n

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

\n

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

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

然后要删除,请使用rm

\n
# #\xc2\xa0In /var/log:\n#\xc2\xa0ls\nalternatives.log       btmp            lastlog\nalternatives.log.1     btmp.1              openvpn\nalternatives.log.2.gz  cups            private\nalternatives.log.3.gz  dist-upgrade        speech-dispatcher\nalternatives.log.4.gz  dmesg               syslog\nalternatives.log.5.gz  dmesg.0             syslog.1\nalternatives.log.6.gz  dmesg.1.gz          syslog.2.gz\n...\n
Run Code Online (Sandbox Code Playgroud)\n

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

\n
# ls *gz\n# rm *gz\n
Run Code Online (Sandbox Code Playgroud)\n

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

\n

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

\n