问题描述
我正在使用Ubuntu 12.04 LTS,我想知道是否有一个命令可以使用终端告诉分区中使用的空间。就像我想使用su命令更改为名为admin的用户(它名为admin)。所以我键入:
su admin
输入密码
现在我想查看此分区中使用的磁盘空间。所以……是否有命令?
最佳解决思路
su
命令完全不相关。所有用户的磁盘使用情况都相同。无论如何,我的系统上的一些相关命令及其输出是:
terdon@oregano ~ $ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda7 68G 23G 43G 35% /
udev 10M 0 10M 0% /dev
tmpfs 800M 1.6M 798M 1% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 3.2G 12M 3.2G 1% /run/shm
/dev/sda6 290G 256G 20G 94% /home
tmpfs 3.2G 992K 3.2G 1% /tmp
none 4.0K 0 4.0K 0% /sys/fs/cgroup
/dev/sdc1 466G 379G 88G 82% /media/terdon/Iomega_HDD
对于特定分区:
terdon@oregano ~ $ df -h /dev/sda7
Filesystem Size Used Avail Use% Mounted on
/dev/sda7 68G 23G 43G 35% /
或者,虽然这只列出了大小,但不是使用的百分比:
terdon@oregano ~ $ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 465.8G 0 disk
├─sda1 8:1 0 39.2M 0 part
├─sda2 8:2 0 14.7G 0 part
├─sda3 8:3 0 78.1G 0 part
├─sda4 8:4 0 1K 0 part
├─sda5 8:5 0 2G 0 part
├─sda6 8:6 0 294.4G 0 part /home
├─sda7 8:7 0 68.7G 0 part /
└─sda8 8:8 0 7.8G 0 part [SWAP]
sdc 8:32 0 465.8G 0 disk
└─sdc1 8:33 0 465.8G 0 part /media/terdon/Iomega_HDD
sr0 11:0 1 1024M 0 rom
相反,您可以使用du
命令打印目录大小,如果您在分区的挂载点上运行它,则会为您提供分区的磁盘使用情况:例如,du -xsch /home
。 -x
选项将“跳过不同文件系统上的目录”,如果您有其他挂载点嵌套在分区的挂载点(通常为/
)下,这将非常有用。
次佳解决思路
您可以使用df -Th
来获取分区的已用空间:
$ df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda9 ext4 22G 16G 4.8G 77% /
none tmpfs 4.0K 0 4.0K 0% /sys/fs/cgroup
udev devtmpfs 1.5G 4.0K 1.5G 1% /dev
tmpfs tmpfs 297M 1.4M 295M 1% /run
none tmpfs 5.0M 4.0K 5.0M 1% /run/lock
none tmpfs 1.5G 616K 1.5G 1% /run/shm
none tmpfs 100M 68K 100M 1% /run/user
/dev/sda5 fuseblk 53G 34G 19G 65% /media/Songs
/dev/sda7 fuseblk 103G 90G 14G 88% /media/Data
/dev/sda6 fuseblk 69G 34G 35G 50% /media/Movies
/dev/sda1 fuseblk 49G 36G 14G 72% /media/guru/0C64A7F864A7E326
如果要查看仅该分区的磁盘利用率,还可以为其提供特定分区:
$ df -Th /dev/sda9
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda9 ext4 22G 16G 4.8G 77% /
您还可以使用pydf
或discus
在终端中获得更好的表示。如果要使用它,则需要安装它们。类型:
sudo apt-get install pydf
在终端安装pydf
。
$ pydf
Filesystem Size Used Avail Use% Mounted on
/dev/sda9 22G 16G 4893M 72.7 [#########################.........] /
/dev/sda7 103G 90G 13G 87.2 [##############################....] /media/Data
/dev/sda6 69G 34G 35G 49.3 [#################.................] /media/Movies
/dev/sda5 53G 34G 19G 64.5 [######################............] /media/Songs
/dev/sda1 49G 35G 14G 71.9 [########################..........] /media/guru/0C64A7F864A7E326
第三种解决思路
您可以使用df -h
轻松检查磁盘空间状态。
有时,您可能会通过您设置的某些自动化流程意外填满您的硬盘。当发生这种情况时,我需要找到大部分磁盘空间。以下命令对该任务很有用:
$ cd /
$ sudo du -sh ./*
这给出了当前目录中的文件和文件夹列表以及每个文件和文件夹的大小。如果目录大于它应该的目录,则cd
到该目录并再次运行sudo du -sh ./*
。重复,直到找到占用大部分磁盘空间的内容。