Windows dir
目录列表命令的末尾有一行,显示列出的文件占用的空间总量。例如,dir *.exe
显示.exe
当前目录中的所有文件,文件大小以及文件大小的总和。我希望dir
在bash中使用别名具有类似的功能,但是我不确定该怎么做。
目前,我有alias dir='ls -FaGl'
我的.bash_profile
,显示
drwxr-x---+ 24 mattdmo 4096 Mar 14 16:35 ./
drwxr-x--x. 256 root 12288 Apr 8 21:29 ../
-rw------- 1 mattdmo 13795 Apr 4 17:52 .bash_history
-rw-r--r-- 1 mattdmo 18 May 10 2012 .bash_logout
-rw-r--r-- 1 mattdmo 395 Dec 9 17:33 .bash_profile
-rw-r--r-- 1 mattdmo 176 May 10 2012 .bash_profile~
-rw-r--r-- 1 mattdmo 411 Dec 9 17:33 .bashrc
-rw-r--r-- 1 mattdmo 124 May 10 2012 .bashrc~
drwx------ 2 mattdmo 4096 Mar 24 20:03 bin/
drwxrwxr-x 2 mattdmo 4096 Mar 11 16:29 download/
例如。从这个问题的答案:
dir | awk '{ total += $4 }; END { print total }'
这给了我总数,但不打印列出目录的目录。有没有一种方法可以将其更改为单行脚本或shell脚本,以便我可以传递ls
我想要的任何参数,dir
并获得完整的清单以及总和?例如,我想运行dir -R *.jpg *.tif
以获取所有子目录中这些文件类型的列表和总大小。理想情况下,如果我可以获取每个子目录的大小,那就太好了,但这不是必需的。
ls -lh
打印的“总计” 是什么,但是它并不总是与awk
下面的脚本的计算内容或我手工添加的内容有关。有时它接近目录中KB文件的数量,但是似乎并没有使子目录的分配大小生效。如果您能向我解释这个数字的确切含义,我将不胜感激
ls -lh
不会显示计算目录内容的目录总大小
ls -lh
帮助您?它在顶部打印总和。您还可以运行du -sh *.exe
以易于阅读的形式获取磁盘空间使用信息。