我无法确定到底是什么文件占用了我的磁盘。
首先我使用df
命令列出我的目录:
devtmpfs 16438304 0 16438304 0% /dev
tmpfs 16449868 0 16449868 0% /dev/shm
tmpfs 16449868 1637676 14812192 10% /run
tmpfs 16449868 0 16449868 0% /sys/fs/cgroup
/dev/mapper/fedora-root 51475068 38443612 10393632 79% /
tmpfs 16449868 384 16449484 1% /tmp
/dev/sda3 487652 66874 391082 15% /boot
/dev/mapper/fedora-home 889839636 44677452 799937840 6% /home
Run Code Online (Sandbox Code Playgroud)
然后我跑了du -h / | grep '[0-9\,]\+G'
。
问题是我得到了包括其他目录在内的所有内容,所以我需要专门找到/dev/mapper/fedora-root
但当我尝试时du -h /dev/mapper/fedora-root | grep '[0-9\,]\+G'
我没有得到任何结果。
我需要知道什么正在吞噬79%
目录/
我该如何解决这个问题?
Htt*_*tqm 10
在这种情况下,我的魔法命令是:
du -m . --max-depth=1 | sort -nr | head -20
Run Code Online (Sandbox Code Playgroud)
要使用这个:
cd
进入包含占用空间的文件的顶级目录。/
如果您不知道,这可能是;-)du -m . --max-depth=1 | sort -nr | head -20
。这将列出当前目录的 20 个最大子目录,按大小递减排序。cd
进入最大的目录并重复该du ...
命令,直到找到大文件Eri*_*nil 10
-x
如果您只想保留在一个文件系统上,而无需遵循符号链接,则可以使用。例如,作为根:
ncdu -x /home
Run Code Online (Sandbox Code Playgroud)
它是DaisyDisk、Baobab或WinDirStat等价的命令行。
扫描大文件夹可能需要很长时间,但一旦完成,找到最大的文件应该会非常快。
如果您对文件的实际大小有所了解,您可以将find
文件大于特定大小。
例如,要查找大于 10 MiB 的文件:
find /mounted/drive -size +10M
Run Code Online (Sandbox Code Playgroud)
或者
find /mounted/drive -size +10M -exec ls -lh {} +
Run Code Online (Sandbox Code Playgroud)
如果问题不是一个大文件而是一大堆小文件,那么 Httqm 的建议也很好。那是du
用来显示目录总数。限制 with--max-depth
对于大型目录树非常有用:
du -m some/directory --max-depth=1 | sort -nr | head -20
du some/directory --max-depth=1 | sort -n | tail -21
Run Code Online (Sandbox Code Playgroud)
将单个目录分解为子目录,其中的第二个也会为您列出您列出的目录的总数。
归档时间: |
|
查看次数: |
533 次 |
最近记录: |