Total Pageviews

Wednesday 25 January 2012

linux下,用来查询磁盘的使用情况的命令:df和du

df命令
df命令用来查询磁盘的使用情况:
    # df -h /
    Filesystem            Size  Used Avail Use% Mounted on
    -                      10G  1.8G  8.3G  18% /
-h参数表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。df -ih /表示目前根目录下inode的使用情况。

du命令
df一般用来查询磁盘级别的整体使用量,du则可以用来查询目录使用磁盘容量的大小。
-h 于df一样,表示用「Human-readable」的输出
-m 使用Mb为单位报告目录使用情况
-s 省略子目录的报告,直接显示目录的磁盘使用情况
例如
    #du -sh /usr/share/nginx/
    626M    /usr/share/nginx/

我想查找/usr/share/nginx/目录下最占用磁盘空间的目录是那个:
    #du -m| sort -nr |more

因为我想要统一安装Mb为单位显示所有目录的占用磁盘空间情况,所以省略了-h参数,否则du仍然会安装kb或者mb等它认为合适的方式来报告目录。
有时候会遇到 du 的值与df 的值相差太远,这是因为当一个应用程序正在写入一个大的文件时,linux 操作系统允许rm 和mv ,应用程序会占有句柄,并根据句柄所指磁盘位置直接写磁盘,而不会检查该文件是否被删除。

No comments:

Post a Comment