Bagaimana saya bisa menggunakan lsdi linux untuk mendapatkan daftar tanggal dan ukuran nama file saja? Saya tidak perlu melihat info lain seperti pemilik, izin.
Bagaimana saya bisa menggunakan lsdi linux untuk mendapatkan daftar tanggal dan ukuran nama file saja? Saya tidak perlu melihat info lain seperti pemilik, izin.
Jawaban:
ls -l | awk '{print $5, $6, $7, $9}'
Ini akan mencetak ukuran file dalam byte, bulan, tanggal, dan nama file.
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
Secara teknis, ini tidak mungkin dilakukan ls, tetapi finddapat melakukan pekerjaan yang sama dengan -printfsakelarnya:
find -maxdepth 1 -printf '%t %s %p\n'
find usr/lib/ -not -type d -printf '%M %p\n output: -rw-r--r-- usr/lib/x86_64-linux-gnu/apr-util-1/apr_crypto_openssl-1.so... Ajari seorang pria untuk memancing dan semua itu ...
Anda selalu dapat melakukan:
$ 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 untuk:
$ 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 -lmenggunakan spasi spasi. Jika kolom Anda tidak panjangnya seragam (kolom 5, ukuran file sering kali tidak), potong tidak akan memilih kolom dengan benar. Runtuh spasi berturut-turut akan membantu (perhatikan spasi dalam nama file). ls -l | tr -s ' ' | cut -f 8-13 -d ' '
Non- lscara lain:
> 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 |
Penjelasan: %y= tanggal modifikasi yang bisa dibaca manusia;
%s= ukuran dalam byte (rata %12skanan, panjang 12);
%n= nama file (rata %-16nkiri, panjang 16); \t= tab, \n= linefeed. |= char pipa literal, hanya untuk menunjukkan akhir nama file.
Seperti ls, stattidak memiliki opsi untuk memilih file mana yang akan ditampilkan. (Itu bisa dilakukan dengan shell globbing seperti ditunjukkan di atas atau beberapa find ... -print0 | xargs -r0 stat ..., misalnya.)
stat -f '%N %Sm %z' filename
Sedikit variasi pada tolitius
ls -lh | cut -f 6- -d ' '