用ls按照文件大小排序,本来很简单的问题,但是百度的结果,被一堆搓人误导,说是:
ls -l | sort -n
这明显部队,只是按照字母顺序排序而已。
只看到有个人,解释的很清楚,其实也很简单:
http://wing.3cow.cn/blog/archives/73
“ HP-UNIX下的ls没有-S参数来按照文件大小排序,如果需要按照文件大小排序,可以使用:
ls -l |sort -n +4”
所以,就去试了试,此处我的ubuntu 9.04下的ls本来就支持-S参数,表示按照大小排序。
再后来,也看到了其他人的正确的解释:
http://www.lslnet.com/linux/f/docs1/i65/big5422892.htm
請教如何使ls -l能夠按照文件的大小排序輸出?
man ls
-S sort by file size
因此:
问:如何通过ls,按照文件大小排序?
答:ls有个-S参数,就是按照大小排序,所以最简单用法就是
ls -Sl
其是按照由大到小排序,如果想要反过来,从小到大,那么用:
ls -Slr
再者,如果想要输入是按照“便于人类阅读的方式”,那么就再加一个-h,表示"–human-readable"
这样单位就是k或者M ,比较容易看清楚结果。
举例:
crifan@ubuntu904:bin$ ls -Slhr
总用量 45M
lrwxrwxrwx 1 crifan crifan 5 2009-10-16 23:30 slogin -> ./ssh
lrwxrwxrwx 1 crifan crifan 5 2009-10-16 23:13 arecord -> aplay
lrwxrwxrwx 1 crifan crifan 8 2009-10-16 23:26 snmpinform -> snmptrap
………
-rwxr-xr-x 1 crifan crifan 415K 2009-10-16 23:10 make
-rwxr-xr-x 1 crifan crifan 434K 2009-10-16 23:23 ncftpls
-rwxr-xr-x 1 crifan crifan 440K 2009-10-16 23:46 strace
-rwxr-xr-x 1 crifan crifan 478K 2009-10-16 23:30 ssh-keyscan
-rwxr-xr-x 1 crifan crifan 557K 2009-10-16 23:23 ncftpget
-rwxr-xr-x 1 crifan crifan 582K 2009-10-16 23:23 ncftpput
………
-rwxr-xr-x 1 crifan crifan 2.4M 2009-10-16 23:45 profiles
-rwxr-xr-x 1 crifan crifan 2.4M 2009-10-16 23:45 eventlogadm
-rwxr-xr-x 1 crifan crifan 2.5M 2009-10-16 23:45 nmblookup
-rwxr-xr-x 1 crifan crifan 2.7M 2009-10-16 23:45 ldbrename
-rwxr-xr-x 1 crifan crifan 11M 2009-10-16 22:02 gdb
-rwxr-xr-x 1 crifan crifan 13M 2009-10-16 23:22 mplayer
转载请注明:在路上 » ls按照文件大小排序