码迷,mamicode.com
首页 > 系统相关 > 详细

linux,Mac下lu 一把

时间:2015-01-23 00:36:42      阅读:320      评论:0      收藏:0      [点我收藏+]

标签:

习惯Terminal没有不知道ls命令的(等同于DOS的dir),经常只是需要查看目录的内容大小,但ls -h显示的只是目录的本身大小,而且很多项内容

ls 在这方面的两个诟病出现了:

小诟1. 显示的信息很全,我们只提取Size和Name两列,分别是第5和9列

技术分享

但是发现不对,像Edge的话起码有200G,但是为什么显示的是306B,说明ls只是显示目录的本身大小,不显示内容大小

大诟2. 不显示目录的实际大小,要显示目录(文件夹)的内容大小,需要用到du(disk utility的缩写)来显示

技术分享

这样,可以把这条命令存为alias,方便以后使用,alias ldu=‘ls -1 | xargs du -h -d 0 2>/dev/null‘ 到.bash_profile(Mac下),.bashrc(Debian系下)中,source;问题是这样只能显示当前目录下的情况,要是我想看Edge下按个目录比较大呢,办法就是先cd到那个目录,在ldu,但是每次都要输这么长的命令着实恼火,所以我想,把它变成一个函数

技术分享

把这个函数放到bash配置文件(.bashrc或者.bash_profile)中,source,这样效果和ldu一样了,而且还可以显示非当前目录,但是我想把*通配符也加进来,例如我想显示P开都的目录的大小,同时还可以接受多个目录作为参数

技术分享

同时,使得接受*匹配

技术分享

同时接受文件大小正确显示

技术分享

哈哈,三方面的顾虑都解除了,函数最终确定为

下载为: lus.sh

技术分享

嘻嘻嘻嘻嘻,嘻嘻嘻嘻嘻,嘻嘻嘻嘻嘻,很高兴的

 

linux,Mac下lu 一把

标签:

原文地址:http://www.cnblogs.com/raybiolee/p/4240363.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!