如何将ls的输出限制为仅显示文件名,日期和大小?


25

如何ls在Linux中使用以仅获取文件名日期和大小的列表?我不需要查看其他信息,例如所有者,权限。


我们在谈论哪个Linux?
tolitius

apache服务器..

Answers:


26

ls -l | awk '{print $5, $6, $7, $9}'

这将以字节,月,日期和文件名打印文件大小。

jin@encrypt /tmp/foo % ls -l
total 0
drwxr-xr-x  2 jin  wheel  68 Oct  4 12:43 bar
drwxr-xr-x  2 jin  wheel  68 Oct  4 12:43 baz
drwxr-xr-x  2 jin  wheel  68 Oct  4 12:43 quux

jin@encrypt /tmp/foo % ls -l | awk '{print $5, $6, $7, $9}'
68 Oct 4 bar
68 Oct 4 baz
68 Oct 4 quux

@Sosukudo是的,我也不确定。但是人们似乎同意,如果不好的问题没有问题,可以否决坏的问题,而不是给出答案。meta.stackexchange.com/questions/98197/...

@Sosukodo:现在可以
随时投票

6
不支持具有多个空格的文件名
meso_2600 '16

12

从技术上讲,这是不可能的ls,但find可以通过其-printf开关执行相同的工作:

find -maxdepth 1 -printf '%t %s %p\n'

1
您的建议是我的赢家,我建议如果人们对printf的更多领域感兴趣,请使用RTFM。例如,向我展示不是目录的所有文件的权限: find usr/lib/ -not -type d -printf '%M %p\n 输出: -rw-r--r-- usr/lib/x86_64-linux-gnu/apr-util-1/apr_crypto_openssl-1.so...教男人钓鱼以及所有这些……
Craig

问题是关于linux的,所以不是一个不合理的答案,但是对于记录,这需要GNU查找。
Dan Pritts

5

您可以随时这样做:

$ ls -l
total 0
-rw-r--r--  1 user  staff  0 Oct  6 23:29 file1
-rw-r--r--  1 user  staff  0 Oct  6 23:29 file2
-rw-r--r--  1 user  staff  0 Oct  6 23:30 file3
-rw-r--r--  1 user  staff  0 Oct  6 23:30 file4
-rw-r--r--  1 user  staff  0 Oct  6 23:30 file5
-rw-r--r--  1 user  staff  0 Oct  6 23:30 file6
-rw-r--r--  1 user  staff  0 Oct  6 23:30 file7

cut 它到:

$ ls -l | cut -f 8-13 -d ' '

0 Oct  6 23:29 file1
0 Oct  6 23:29 file2
0 Oct  6 23:30 file3
0 Oct  6 23:30 file4
0 Oct  6 23:30 file5
0 Oct  6 23:30 file6
0 Oct  6 23:30 file7

$ 

4
不适

Cut不会折叠连续的定界符,其中ls -l使用空格填充。如果您的列长度不一致(第5列,文件大小通常不一样),则cut不会正确选择列。折叠连续的空格会有所帮助(请注意文件名中的空格)。ls -l | tr -s ' ' | cut -f 8-13 -d ' '
戴夫

4

另一种ls方式:

> stat --printf='%y\t%12s\t%-16n|\n' tmp.*
2017-06-15 10:42:07.252853000 +0200         10485760    tmp.1           |
2017-06-15 10:41:25.659570000 +0200              666    tmp.TKPzm3BfRw  |

说明:%y=可读的修改日期; %s=以字节为单位的大小(%12s右对齐,长度为12); %n=文件名(%-16n左对齐,长度16);\t=标签,\n=换行符。|=文字管道字符,仅显示文件名的末尾。

像一样lsstat没有选择要显示哪些文件的选项。(例如,可以通过上面所示或某些find ... -print0 | xargs -r0 stat ...示例的外壳globbing来完成。)


问题是关于linux的,所以您的回答很好,但是对于任何关心的人,这里都是FreeBSD stat的等效项。 stat -f '%N %Sm %z' filename
Dan Pritts

2

tolitius的轻微变化

ls -lh | cut -f 6- -d ' '

1
关心解释变化增加了什么?
Ivo Flipse'7

只是消除了需要通过在6-X代替使用6-指定结束字段的数目
zzapper
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.