Linux常用命令分类详解|磁盘空间
在Linux系统我们有时候需要了解磁盘空间的占用情况,及时的删除一些不必要的文件,从而避免将磁盘压爆。下面本文就集中介绍一下Linux面查询磁盘空间的使用情况的若干命令。
磁盘挂载及使用情况(df)
Linux df命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计。该函数包含很多选项,以实现不同的功能。
选项列表
-a或--all:包含全部的文件系统; --block-size=<区块大小>:以指定的区块大小来显示区块数目; -h或--human-readable:以可读性较高的方式来显示信息; -H或--si:与-h参数相同,但在计算时是以1000 Bytes为换算单位而非1024 Bytes; -i或--inodes:显示inode的信息; -k或--kilobytes:指定区块大小为1024字节; -l或--local:仅显示本地端的文件系统; -m或--megabytes:指定区块大小为1048576字节; --no-sync:在取得磁盘使用信息前,不要执行sync指令,此为预设值; -P或--portability:使用POSIX的输出格式; --sync:在取得磁盘使用信息前,先执行sync指令; -t<文件系统类型>或--type=<文件系统类型>:仅显示指定文件系统类型的磁盘信息; -T或--print-type:显示文件系统的类型; -x<文件系统类型>或--exclude-type=<文件系统类型>:不要显示指定文件系统类型的磁盘信息; --help:显示帮助; --version:显示版本信息。
使用示例
显示已经挂载的分区列表,容量单位为KB,这种方式显示的可读性要差一些。
df
显示已挂载的分区列表,可以通过-h选项提高可读性。
df -h
还有很多参数,这里不一一介绍了。
文件大小(ls)
Linux ls命令用于显示指定工作目录下内容内容(列出目前工作目录所含之文件及子目录)。包含的信息量很大,可以通过下面的选项组合来完成。
选项列表
-a:显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为影藏,不会列出); -A:显示除影藏文件“.”和“..”以外的所有文件列表; -C:多列显示输出结果。这是默认选项; -l:与“-C”选项功能相反,所有输出信息用单列格式输出,不输出为多列; -F:在每个输出项后追加文件的类型标识符,具体含义:“*”表示具有可执行权限的普通文件,“/”表示目录,“@”表示符号链接,“|”表示命令管道FIFO,“=”表示sockets套接字。当文件为普通文件时,不输出任何标识符; -b:将文件中的不可输出的字符以反斜线“”加字符编码的方式输出; -c:与“-lt”选项连用时,按照文件状态时间排序输出目录内容,排序的依据是文件的索引节点中的ctime字段。与“-l”选项连用时,则排序的一句是文件的状态改变时间; -d:仅显示目录名,而不显示目录下的内容列表。显示符号链接文件本身,而不显示其所指向的目录列表; -f:此参数的效果和同时指定“aU”参数相同,并关闭“lst”参数的效果; -i:显示文件索引节点号(inode)。一个索引节点代表一个文件; --file-type:与“-F”选项的功能相同,但是不显示“*”; -k:以KB(千字节)为单位显示文件大小; -l:以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等; -m:用“,”号区隔每个文件和目录的名称; -n:以用户识别码和群组识别码替代其名称; -r:以文件名反序排列并输出目录内容列表; -s:显示文件和目录的大小,以区块为单位; -t:用文件和目录的更改时间排序; -L:如果遇到性质为符号链接的文件或目录,直接列出该链接所指向的原始文件或目录; -R:递归处理,将指定目录下的所有文件及子目录一并处理; --full-time:列出完整的日期与时间; --color[=WHEN]:使用不同的颜色高亮显示不同类型的。
使用示例
下面命令组合以占用空间大小排列文件和目录
ls -lSr |more
目录占用空间(du)
Linux du命令用于显示目录或文件的大小。du会显示指定的目录或文件所占用的磁盘空间总和。
选项列表
-a或-all 显示目录中个别文件的大小。 -b或-bytes 显示目录或文件大小时,以byte为单位。 -c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。 -k或--kilobytes 以KB(1024bytes)为单位输出。 -m或--megabytes 以MB为单位输出。 -s或--summarize 仅显示总计,只列出最后加总的值。 -h或--human-readable 以K,M,G为单位,提高信息的可读性。 -x或--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。 -L<符号链接>或--dereference<符号链接> 显示选项中所指定符号链接的源文件大小。 -S或--separate-dirs 显示个别目录的大小时,并不含其子目录的大小。 -X<文件>或--exclude-from=<文件> 在<文件>指定目录或文件。 --exclude=<目录或文件> 略过指定的目录或文件。 -D或--dereference-args 显示指定符号链接的源文件大小。 -H或--si 与-h参数相同,但是K,M,G是以1000为换算单位。 -l或--count-links 重复计算硬件链接的文件。
使用示例
估算目录 'dir_name' 已经使用的磁盘空间'
du -sh dir_name
以容量大小为依据依次显示文件和目录
du -sk * | sort -rn
RPM包占用空间
RPM(全称是RedHat Package Manager,RedHat软件包管理工具)是在Fedora、RedHat和CentOS等发行版Linux下的的软件包管理工具。这个软件类似Windows里面的“添加/删除程序”。我们可以用这个工具进行软件的安装和卸载等操作,同时我们可以用这个命令方便的知道每个软件包占用的空间。
下面命令显示已安装的rpm包所使用的空间,并且以大小为依据排序
rpm -q -a --qf '%10{SIZE} %{NAME} ' | sort -k1,1n
DEB包占用空间
DEB安装包管理工具是Linux下软件管理的另外一个阵营。它可以Debian和Ubuntu等发行版的软件管理。
下面命令显示已安装的deb包所使用的空间,并且以大小为依据排序
dpkg-query -W -f='${Installed-Size;10} ${Package} ' | sort -k1,1n
至此完成了本文的介绍,肯定还有一些没有介绍到的,请大家多提意见。本文后续进行补充,以方便大家学习。