获取文件系统可用空间

获取文件系统可用空间

这本身不是一个问题,而是基于对 Linux 文件系统的无知而提出的信息请求。这个简短的问题是:

如何找出运行 Ubuntu 的卷上有多少可用空间和已用空间?

更多详情:

我正在一个 64Gb USB3 棒上运行 Ubuntu 12.04,它是通过启动一年前的 Ubuntu 12.04 DVD 并运行启动盘创建器创建的。原因是我的硬盘上装有 Windows 7 的主引导记录已经坏了,在等待恢复盘的同时,我正在通过 USB 或 DVD 运行 Ubuntu 作为“试用版”。(恢复 Windows 后将继续运行 Ubuntu,因为我重新发现了我对企鹅的热爱 :o))

在将 Ubuntu 安装到硬盘上后,我运行了软件更新应用程序,它下载了大约 450Mb 的更新,并花了几个小时才安装到硬盘上。有几次我收到一条消息,说磁盘空间不足。所以我查看了文件管理器(或现在的任何称呼),但看不到列出的硬盘,只是:

  • 系统
  • 硬盘(列为 479Gb 文件系统)
  • Windows 创建的另外两个分区
  • 当我尝试打开“4.3GB 文件系统”时,出现错误“无法找到 /cow”,而当我尝试卸载时,它告诉我无法卸载因为它尚未安装 - D'OH!!

编辑:文件管理器的屏幕截图

编辑:磁盘空间不足警告的屏幕截图

我看不到运行 Ubuntu 的 USB 记忆棒。它去哪了,有人知道吗?

这与我之前关于系统工具的问题,因为我正尝试获取最新版本的 Ubuntu 系统的控制权和知识。

答案1

在这种情况下,我会使用以下几种工具dfdumount

du对于查找填满文件系统的罪魁祸首最有用:

$du -h --max-depth=1

然而,在文件系统根目录下/,您无权访问所有目录以读取文件大小,因此您需要sudo获得完全权限。我刚刚在我们的服务器上执行了此操作/,我们的团队规模很大,所以我放弃了。

示例如下:

15:08 chris@server /$ sudo du -h --max-depth=1
8.0K    ./mnt
16K     ./build
4.1G    ./opt
4.0K    ./backup
12K     ./media
13M     ./lib32
38M     ./root
300K    ./dev
6.0M    ./sbin
2.4G    ./lib
2.9G    ./var
4.0K    ./selinux
50M     ./home
2.3G    ./usr
0       ./proc
7.9M    ./bin
5.9M    ./tmp
200K    ./srv
4.0K    ./run
0       ./sys
4.0K    ./cdrom

我点击是ctrl+c因为我已经等待完了/raid...那么让我们看看 df 说了什么:

15:14 chris@server /$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sdb7              92G  9.0G   79G  11% /
none                  1.9G  300K  1.9G   1% /dev
none                  1.9G     0  1.9G   0% /dev/shm
none                  1.9G  7.3M  1.9G   1% /var/run
none                  1.9G     0  1.9G   0% /var/lock
none                  1.9G     0  1.9G   0% /lib/init/rw
/dev/sda1             3.6T  2.3T  1.2T  66% /raid
/dev/sdb9             276M   88M  175M  34% /boot
/dev/sdb8              88G  3.1G   81G   4% /var

哦,哇,团队已经满了三分之二,也许值得等待一下来弄清楚?

15:15 chris@server /raid$ !du
du -h --max-depth=1
852M    ./www
20K     ./investedin
9.8M    ./ups
99M     ./dealers
3.0G    ./photoshoot
69M     ./catalog_tech
86G     ./misc
4.9G    ./marketing
16G     ./pics
193G    ./Video
37G     ./mechanical_design
14M     ./tmp
16K     ./lost+found
93G     ./programs
16K     ./.Trash-1000
17G     ./Products
1.3G    ./vendors
1.1G    ./docs
128K    ./.Trash-1001
20M     ./customers
2.9M    ./po_invoices
18M     ./_SCANS

好吧,它仍然在搅动,所以我会耐心等待并让它在后台运行。分析上述内容,我查看了目录的大小,看看哪个目录占用了最多的磁盘空间。注意./programs是 93G。如果这是意料之外的,你就开始深入研究这棵树。

我更喜欢,du -h --max-depth=1因为有了更多的深度,你会得到大量的输出,在这种情况下,你可能只需要一个日志疯狂的目录(比如在网站上?)

编辑后添加:
并不mount总是适用于您的具体情况,但是,我曾使用 Linux 和上述技术来挽救没有可用空间的 Windows 安装。mount可以帮助您查看硬盘驱动器安装在哪里。另请注意 的df输出中还提示了mount

15:25 chris@server ~$ mount
/dev/sdb7 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
none on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
none on /dev type devtmpfs (rw,mode=0755)
none on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
none on /dev/shm type tmpfs (rw,nosuid,nodev)
none on /var/run type tmpfs (rw,nosuid,mode=0755)
none on /var/lock type tmpfs (rw,noexec,nosuid,nodev)
none on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
/dev/sda1 on /raid type ext4 (rw)
/dev/sdb9 on /boot type ext4 (rw)
/dev/sdb8 on /var type ext4 (rw)

上面告诉我们,第一个硬盘的第一个分区(硬件 RAID 5)位于 /raid 上,而计算机中的实际“硬盘”是 sdb。sdb7 让/我想起这是我在这台服务器上的这个磁盘上安装的第 2 或第 3 个操作系统。我将其放在/var一个单独的分区上,以防日志出现问题。

相关内容