Unix/Linux文本处理与系统管理工具实用指南
1. 目录大小统计脚本(dirsize.sh)
在Unix/Linux系统中,我们常常需要了解目录中文件和子目录的大小情况,以便合理管理磁盘空间。下面的dirsize.sh脚本可以帮助我们实现这一功能:
#!/bin/bash cd "${1:-.}" if [ "$?" -ne "0" ]; then echo "Error: Failed to change to directory $1" exit 2 fi echo "The largest files/directories in $1 are:" du -sh * | sort -hr | head | cat -n -脚本解释:
cd "${1:-.}":尝试切换到用户提供的目录,如果未提供则使用当前目录。if [ "$?" -ne "0" ]; then ...:检查目录切换是否成功,如果失败则输出错误信息并退出脚本。du -sh *:统计当前目录下所有文件和子目录的大小。sort -hr:将统计结果按大小降序排序。head:取排序后的前10条记录(如果有至少10条记录)。cat -n -: