我使用的是Fedora 16,我的/dev/sda2 2安装在/ (root)上,大约有50G,100%被填充:
[foampile@~ 13:13:39]> df
Filesystem 1K-blocks Used Available Use% Mounted on
rootfs 51606140 49025452 0 100% /
devtmpfs 2988452 0 2988452 0% /dev
tmpfs 2999424 96 2999328 1% /dev/shm
/dev/sda2 51606140 49025452 0 100% /
tmpfs 2999424 51992 2947432 2% /run
tmpfs 2999424 0 2999424 0% /sys/fs/cgroup
tmpfs 2999424 0 2999424 0% /media
/dev/sda1 99150 79569 14461 85% /boot
/dev/sda5 247972844 10782056 224594412 5% /homeQ1:是否有一个带有ls的命令或选项,它将递归地列出目录下的所有文件,并按大小对它们进行排序?我想看看哪些文件/脏文件占据了这个设备。
Q2:我的/home相对来说是未使用的。有没有办法重新划分磁盘并将一些磁盘空间从/dev/sda2 5 (/home)切换到/dev/sda2 2?
谢谢
发布于 2012-10-29 18:26:35
Q1。试试像sudo du -a -m -x | sort -k1n -r | head -n40这样的东西。指向-a的du标志是递归的。-m标志以MB显示大小。-x停留在一个文件系统上。这将同时列出文件和目录,并且只有40个最大的(因为-n40选项到head)。一些du实现有一个-t SIZE选项,只能显示大小超过大小的条目。
要只列出文件,您可以尝试类似于:find / -xdev -type f -size +1M -ls。这将只列出与/相同大小超过1MB的文件系统上的文件。
Q2。几乎可以肯定。但是您应该单独询问这个问题,或者在"linux“和”重新分区“这样的关键字上进行搜索(这里或其他地方),因为我经常讨论它。以下是这个网站上的一些以前的问题:
发布于 2012-10-29 21:13:32
对于rootfs来说,50 is是很大的,最好检查一下文件系统为什么被填充,而不是盲目地扩展它。如果您只是扩展根文件系统,那么它很可能在短时间内再次填满。我希望填充/var、/var/log或/tmp。
根据我的经验,这通常是由大量相对较小的(Ish)文件集合造成的,因此最好以手动和结构化的方式进行。下面的方法将使您既可以找到一个大文件,也可以找到一个包含大量小文件的目录。
sudo -i
cd /
du -sxh * | sort -hdu列出磁盘使用情况-h打印大小(例如,1K 234 m2G)-s只显示每个参数的总数。-xsort -h使最大的目录出现在最后。现在研究最后(几个)目录:
cd the_large_diretory再重复
du -sxh * | sort -h直到找到包含大文件的目录(S)。最后,您可以使用以下方法检查目录的内容:
cd the_large_directory
ls -hlrSls列出目录的内容-h以“人类可读的形式”显示文件大小-l显示文件详细信息-r以恢复排序(最后最大的文件)-S按文件大小进行排序du或sort不支持-h标志,只需使用du -sxk * | sort -n即可。输出也是类似的,只是由于长的数字,很难读懂。ls不支持-h标志,只需跳过它,它就不是必需的,而是提高了可读性。ls不支持-S标志,则将输出输送到sort -nk5发布于 2012-10-29 18:30:26
A1:ls -larS / | head -50
A2:是的,但是在调整/home大小时要小心,一定要强制磁盘检查和备份
e2fsck -f /home然后
resize2fs /home 50Ghttps://unix.stackexchange.com/questions/53230
复制相似问题