请您澄清我对bash shell的疑问。我正在使用命令列出前10个文件
du -ah|sort -rh|head -n 10
但它将输出列为
size filename
3.0 MB test.xml
..... .......
..... .......
so on
我想显示时间戳和权限,所以我正在尝试:
du -ah|sort -rh|head -n 10|xargs ls -lrt '{}'
du -ah|sort -rh|head -n 10|awk '{print $2}'|while read i; do ls -lrt $i;done
但他们两个都没有工作
你能告诉我吗?我只想使用du
命令
答案 0 :(得分:0)
像
ls -lSh | head -10 | awk '{print $5 " " $1 " " $6 " " $7 " " $8 " " $9}'
包括您可以使用的所有子目录:
find . -type f -exec ls -l {} \; | sort -nrk5 | head -10
这样效率不高,你得到的文件大小不是人类可读的形式,但它可以完成工作:
[root@myserver /etc]# find . -type f -exec ls -l {} \; | sort -nrk5 | head -10 2>/dev/null
-r--r--r-- 1 root root 7259752 Jan 30 15:32 ./udev/hwdb.bin
-rw-r--r-- 1 root root 3703827 Jan 30 15:28 ./selinux/targeted/policy/policy.30
-rw-r--r-- 1 root root 3703827 Jan 30 15:28 ./selinux/targeted/active/policy.kern
-rw-r--r-- 1 root root 1394978 Jan 30 15:28 ./selinux/targeted/contexts/files/file_contexts.bin
-rw-r--r-- 1 root root 670293 Jun 7 2013 ./services
-rw-r--r-- 1 root root 384788 Apr 18 2016 ./vmware-tools/locations
-rw-r--r-- 1 root root 378732 Jan 30 15:28 ./selinux/targeted/contexts/files/file_contexts
-rw------- 1 root root 378732 Jan 30 15:28 ./selinux/targeted/active/file_contexts
-rw-r--r-- 1 root root 368001 Apr 15 2016 ./selinux/targeted/contexts/files/file_contexts.pre
-r--r--r-- 1 root root 346654 Jan 30 15:26 ./pki/ca-trust/extracted/openssl/ca-bundle.trust.crt