我想使用Unix
命令列出所有用户以及文件大小,包括指定文件夹的子目录,即如果指定的文件夹是/test/kaustav
我想知道用户和相应的文件大小,包括/test/kaustav
我试过以下
ls -l option
(这不会给我子目录信息)
ls -lR
(当我将输出定向到文件时,输出非常混乱)
任何帮助都将受到高度赞赏。
答案 0 :(得分:0)
如果您的文件/目录名称中没有特殊字符(如空格),则可以使用
ls -l `find . -type f`
.
是您希望从中开始的目录(在给定示例中为当前目录)
答案 1 :(得分:0)
我了解您希望文件大小及其所有者: 你可以这样做:
find . -print0 | xargs -0 stat -c " %U %s %n"
将从当前目录递归显示:owner filesize文件。 您还可以对文件大小进行排序,并仍显示所有者和文件:
find . -print0 | xargs -0 stat -c " %U %s %n" | sort -n -k 2,2
编辑:
所以你想获得目录大小,但是你不想递归打印?
find . -maxdepth 1 -print0 | xargs -I {} -0 sh -c "stat -c %U \"{}\"; du -s \"{}\"" | awk 'NR%2{printf $0" ";next;}1' | sort -n -k 2,2
如果你想以递归方式获得所有者和大小,那么只需删除-maxdepth 1.目前还不清楚你何时告诉"包括子目录"如果您只想要文件大小或列表。