port installed会显示本地计算机上安装的所有包,但是有没有办法列出每个包的大小呢?谢谢!
发布于 2013-04-15 12:37:42
我不相信Macports有一个内置的命令来列出安装的大小,但你可以这样做:
在终端中尝试此命令:
du -sh /opt/local/var/macports/software/*这将为您提供/opt/local/var/macports/software/*中每个包的大小,我认为这是默认安装位置。
显然,如果您将您的端口安装在其他地方,您可以使用
du -sh [directory]如果没有内置的Macports命令,这可能是你能做的最好的了。
我想到的另一种方法是创建一个脚本,该脚本将接受
port installed并回显每个安装的大小。
编辑:
我弄错了。/opt/local/var/macports/software/*包含从其中提取安装的tarbells,因此大小会更小。
如果你做了du -sh /opt/local,它应该列出所有东西的大小,但列表中可能有一些非macports包。
命令port contents installed将显示已安装的所有macports的目录。
发布于 2016-04-23 11:17:06
port space --units MB installed又好又简单,从2011年的version 2.0开始就可以使用了!
发布于 2014-03-03 03:39:47
下面是一个小bash函数,它将接受任何有效的macports查询
function port_size {
size=0
pkg_size=0
for pkg in $(port $@ | tail -n +2 | awk '{ print $1 }')
do
pkg_size=$(port contents $pkg \
| sed -r 's/^[[:space:]]*(.*)[[:space:]]*$/\1/g;s/ /\\ /g' \
| tail -n +2 | xargs du | cut -f1 | paste -sd '+' | bc)
size=$(( $size + $pkg_size ))
printf "%10d %s\n" $pkg_size $pkg
done
printf "%10d %s\n" $size "Total Size (KB)"
}我只使用sed和awk的GNU版本对其进行了测试,但无论如何它都应该可以工作。
port_size installed # will print out all installed packages and their size
port_size installed gcc* # will print out all packages matching gcc* wildcard同样,任何有效的macports查询都将有效(包括installed inactive或outdated )。
https://stackoverflow.com/questions/16007574
复制相似问题