du 命令是 “disk usage” 的缩写,输出指定文件或目录使用的估计磁盘空间量。它对于查找占用大量磁盘空间的文件和目录非常有用。
如何使用 du 命令
du 命令的一般语法如下:
du [OPTIONS]... FILE...
如果给定的 FILE 是目录linux命令, du 则将汇总该目录中每个文件和子目录的磁盘使用情况。如果未 FILE 指定, du 则将报告当前工作目录的磁盘使用情况。
在没有任何选项 du 的情况下执行时,将以字节为单位显示给定文件或目录及其每个子目录的磁盘使用情况。
du ~/Documents
您还可以将多个文件和目录作为参数传递给 du 命令:
du ~/Documents ~/Pictures ~/.zshrc
如果您运行 du 命令的文件和目录的是您没有权限的文件或目录,则会出现类似 “du: cannot read directory” 的内容。在这种情况下,您需要在命令前加上 sudo 。
du 有很多选项,我们将概述最常用的选项。
-a 选项告诉 du 您报告目录中每个文件的磁盘空间使用情况。
du -a ~/Documents
通常,您希望以人类可读的格式仅显示给定目录占用的空间。为此,请使用该 -h 选项。
例如,要获取 /var/lib 其子目录及其所有子目录的总大小,请运行以下命令:
sudo du -h /var/lib
我们使用了 sudo,因为 /var/lib 目录中的大多数文件和目录都由 root 用户拥有,并且普通用户无法读取。输出看起来像这样:
...
4.0K/var/lib/apt/mirrors/partial
8.0K/var/lib/apt/mirrors
205M/var/lib/apt
2.9G/var/lib/
要仅输出指定目录的总大小,而不输出子目录的总大小,请使用以下 -s 选项:
sudo du -sh /var
2.9G/var
-c 选项告诉 du 报告总计。当您想要获得两个或更多目录的组合大小时,这非常有用。
sudo du -csh /var/log /var/lib
1.2G/var/log
2.9G/var/lib
4.1Gtotal
如果要显示 n 级子目录的磁盘使用情况,请使用该 --max-depth 选项并指定子目录级别。例如,要获取有关您将使用的第一级目录的报告:
sudo du -h --max-depth=1 /var/lib
...
544K/var/lib/usbutils
4.0K/var/lib/acpi-support
205M/var/lib/apt
2.9G/var/lib
mode这个开关可以有6个选项copy(磁盘到磁盘的拷贝)、load (从备份 文件恢复到磁盘)、dump (从磁盘备份到文件)、pcopy(分区到分区的 拷贝)、pload(从备份文件恢复到分区)、pdump(从分区备份到文件)。下载并解压以下数据库和文件(访问官网):local_b2g_db.zip、b2g4pipe_v2.5.zip、gene_info.gz、gene2accession.gz、idmapping.tb.gz、go_201307-assocdb-data.gz2.本地化架构由于blast2go数据库太大,请务必将my.ini文件的datadir设置到一个空间足够的磁盘,例如我的e盘有100g可用空间,设置如下:datadir="e:/mysql/mysql server 5.6/data\"由于mysql5.x是不允许blob/text类型的字段拥有默认值的,且在windows下是默认以‘strict mode’工作的,所以在创建table的时候,可能会有错误提示:“blob/text column 'xxxxxx(表名称)' can't have a default value”,可以通过将my.ini中sql-mode="strict_trans_tables,no_auto_create_user,no_engine_substitution"这一行前面加#注释掉解决。根据region的比较算法,它大致上以region所在磁盘文件的位置排序(而不是以region的大小来排序)linux命令,因而为了提升查找性能,它还包含了一个long类型的contiguous字段,该单词字面意思是“临近的、连续的”,用于表示该当前region临近节点的区域的最大region大小,即该字段表示当前region以及其所有子节点的最大region的大小,从而当在查找时,只有如果要查找的size比当前region的contiguous字段要大的话,就可以不用继续查找其子节点了,并且通过该字段也实现了最坏适应算法。