Jawaban:
Mungkin -h
cukup untuk Anda:
-h
Ketika digunakan dengan opsi -l, gunakan sufiks unit: Byte, Kilobyte, Megabyte, Gigabyte, Terabyte dan Petabyte untuk mengurangi jumlah digit menjadi tiga atau kurang menggunakan basis 2 untuk ukuran.
ls -lah
Saran umum: Gunakan man commandname
untuk membaca manual / bantuan perintah tertentu, misalnya di sini man ls
.
ls --block-size=M
mencetak ukuran dalam Megabytes tetapi menunjukkan 1MB juga untuk apa pun di bawah 1 MB. Saya tidak yakin apakah opsi ini dapat diterima di versi UNIX Anda ls.
Sebenarnya ls -lh
juga mencetak ukuran dalam Gigabytes jika file tersebut cukup besar (Yah anyways: di Linux 64bit ini berfungsi:>)
Di simpul samping: du -sh *
mencetak juga ukuran direktori di direktori saat ini.
ls -h
tidak ada artinya setelah file tumbuh lebih dari 1GB, jadi saya menggunakan perintah ini dalam loop 1 detik:while true ; do ls -al --block-size=M ; sleep 1 ; done
Anda harus menggunakan awk
untuk melakukan perhitungan matematika untuk Anda:
ls -l | awk 'BEGIN{mega=1048576} $5 >= mega {$5 = $5/mega "MB"} {print}'
Ini tidak akan mempengaruhi output untuk file yang lebih kecil dari mega
.
Anda mungkin perlu menyesuaikan nomor kolom agar sesuai dengan cara Anda ls
meletakkannya. Anda dapat mengubah mega
ke "1000000" jika itu pilihan Anda.
Ini akan mencetak lebih banyak tempat desimal daripada yang mungkin Anda inginkan. Anda bisa menerapkan fungsi pembulatan.
ls -lh
atau ls --block-size=M
, tetapi AWK sangat berguna!
mencoba ls -shR
untuk format yang dapat dibaca manusia rekursif.
-h
pada Tru64 , dan melakukannya lebih dari dua tahun sebelum jawaban ini diposting.
Jika Anda hanya ingin ukuran file tertentu saja, maka perintahnya, ekstrapolasi sepele dari jawaban sebelumnya, adalah:
ls -sh nama file
-s
adalah untuk ukuran dan h
untuk Human Readable (seperti yang disebutkan di atas beberapa kali).
Outputnya akan terlihat seperti ini:
753M myfilename
Jika Anda meninggalkan nama file, itu akan daftar direktori, menempatkan ukuran setiap file di sebelah namanya - tidak seperti apa yang ls -la
dilakukan ketika dipanggil tanpa argumen nama file.
Semoga ini membantu.
-h
opsi tersebut tidak ada ls
pada sistem itu.
ls -l --block-size=MB
Untuk --block-size
parameter:
MB
untuk 10 ^ 6M
untuk 2 ^ 201MB
. Karena alasan inilah saya merasa ls -l --block-size=kB
lebih berguna.
Jika Anda hanya tertarik pada ukuran file, dan Anda tidak harus menggunakan ls
perintah, coba yang berikut ini:
# echo "Hello World" > file.txt
# ls -l file.txt
-rw-r--r-- 1 user user 12 Mar 10 11:32 file.txt
# stat --printf='%s\n' file.txt
12
Ini akan mencetak ukuran file tanpa perlu menguraikan apa pun.