Jawaban:
Mungkin -hcukup 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 commandnameuntuk membaca manual / bantuan perintah tertentu, misalnya di sini man ls.
ls --block-size=Mmencetak 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 -lhjuga 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 -htidak 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 awkuntuk 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 lsmeletakkannya. Anda dapat mengubah megake "1000000" jika itu pilihan Anda.
Ini akan mencetak lebih banyak tempat desimal daripada yang mungkin Anda inginkan. Anda bisa menerapkan fungsi pembulatan.
ls -lhatau ls --block-size=M, tetapi AWK sangat berguna!
mencoba ls -shRuntuk format yang dapat dibaca manusia rekursif.
-hpada 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
-sadalah untuk ukuran dan huntuk 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 -ladilakukan ketika dipanggil tanpa argumen nama file.
Semoga ini membantu.
-hopsi tersebut tidak ada lspada sistem itu.
ls -l --block-size=MB
Untuk --block-sizeparameter:
MBuntuk 10 ^ 6Muntuk 2 ^ 201MB . Karena alasan inilah saya merasa ls -l --block-size=kBlebih berguna.
Jika Anda hanya tertarik pada ukuran file, dan Anda tidak harus menggunakan lsperintah, 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.