ls
리눅스에서 파일 이름 날짜와 크기 만 목록으로 표시 하려면 어떻게 해야합니까? 소유자, 권한과 같은 다른 정보를 볼 필요가 없습니다.
답변
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
답변
기술적으로는 불가능 ls
하지만 스위치를 사용 find
하여 동일한 작업을 수행 할 수 있습니다 -printf
.
find -maxdepth 1 -printf '%t %s %p\n'
답변
당신은 항상 할 수 있습니다 :
$ 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
$
답변
다른 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
= 줄 바꿈. |
= 파일 이름의 끝을 보여주기 위해 리터럴 파이프 문자.
마찬가지로 ls
, stat
표시 할 파일을 선택 할 옵션이 없습니다. ( find ... -print0 | xargs -r0 stat ...
예를 들어 위와 같이 쉘 globbing 또는 일부로 수행 할 수 있습니다 .)
답변
Tolitius에서 약간의 변형
ls -lh | cut -f 6- -d ' '