問題描述
我正在使用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 ./*
。重複,直到找到占用大部分磁盤空間的內容。