现在的位置: 首页 > 综合 > 正文

用linux的du命令显示文件或目录大小

2013年10月23日 ⁄ 综合 ⁄ 共 1270字 ⁄ 字号 评论关闭

平时经常用linux的free命令查看内存信息,今天因为mysql系统突然死掉了,而且无法启动。具体现象是一直显示正在启动的进度状态,但始终无法启动,平时启动几秒就完成了的。所以肯定有问题。于是准备查看下是不是日志信息多了,占满了硬盘空间。突然发现一个问题,怎么查看一个文件和目录的空间占用情况呢,以前都用ls -al 命令,可以显示文件或目录的大小,但是总感觉不太直观,网络搜了下,发现du命令是行使这个职能的专业工具:显示目录或文件的大小。呵呵,很方便,只需要du -sh fileName or directoryName 就可以显示指定的目录或文件的大小。而且这里的文件名或通配符,如果du -sh * 则显示当前目录所有的目录和文件的大小。至于大小的单位,可以使用-h参数自动调整,超过1Kb的显示单位为K,超过1mb的显示单位为m,依此类推,很直观。

du(disk usage)命令的具体用法以及参数如下:

 

功能说明:显示目录或文件的大小。

语  法:du [-abcDhHklmsSx][-L <符号连接>][-X <文件>][--block-size][--exclude=<目录或文件>][--max-depth=<目录层数>][--help][--version][目录或文件]

补充说明:du会显示指定的目录或文件所占用的磁盘空间。

参  数:
  -a或-all   显示目录中个别文件的大小。
  -b或-bytes   显示目录或文件大小时,以byte为单位。
  -c或--total   除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
  -D或--dereference-args   显示指定符号连接的源文件大小。
  -h或--human-readable   以K,M,G为单位,提高信息的可读性。
  -H或--si   与-h参数相同,但是K,M,G是以1000为换算单位。
  -k或--kilobytes   以1024 bytes为单位。
  -l或--count-links   重复计算硬件连接的文件。
  -L<符号连接>或--dereference<符号连接>   显示选项中所指定符号连接的源文件大小。
  -m或--megabytes   以1MB为单位。
  -s或--summarize   仅显示总计。
  -X<文件>或--exclude-from=<文件>   在<文件>指定目录或文件。
  --exclude=<目录或文件>   略过指定的目录或文件。
  --max-depth=<目录层数>   超过指定层数的目录后,予以忽略。
  --help   显示帮助。
  --version   显示版本信息。

于是用du命令检查了下MYSQL的日志保存目录的文件大小,发现有个文件竟然有40G左右,再看看硬盘整体资源占用情况,发现居然全部用完了。仔细查看这个40G的文件,原来是开通了查询日志。这个日志会记录下所有查询的SQL,时间长了,自然硬盘空间不够了。确认没有用后,删除之,MYSQL一下就启动了。

抱歉!评论已关闭.