Perintah mana yang akan mencetak ukuran semua file dan direktori dalam direktori tmp (termasuk yang tersembunyi) dan mengurutkannya berdasarkan ukuran dari yang terbesar hingga yang terkecil dalam format yang dapat dibaca manusia (mis. 2 GB)?
Outputnya bisa sebagai berikut:
file.mpg 2GB
file.avi 1.8GB
.backtup 1.7 GB (this is directory)
Saya mencoba menggunakan ls
dan du
perintah tetapi tidak dapat menemukan switch yang tepat.
sumber
sort -nr
jika Anda menginginkan nilai terbesar di atas.Untuk membuat daftar file di mana saja di bawah
/tmp
, diurutkan berdasarkan ukuran:Untuk daftar file dan pohon direktori langsung di bawah
/tmp
, diurutkan berdasarkan ukuran:Untuk daftar semua file dan pohon direktori di mana saja di bawah
/tmp
, diurutkan berdasarkan ukuran:(Contoh untuk mengilustrasikan perbedaan antara tiga perintah: jika ada file
/tmp/dir/file
, daftar perintah pertama/tmp/dir/file
, daftar kedua/tmp/dir
, dan daftar ketiga keduanya.)Semua perintah di atas menunjukkan ukuran dalam kilobyte. Sementara GNU du dapat menampilkan ukuran yang “dapat dibaca manusia” (dengan k, M, G, dll. Pengganda), mengurutkannya adalah masalah lain. Cukup baru GNU coreutils (≥7.4) dapat melakukannya: cukup ganti
du -k
dengandu -h
dansort -k1n -k2
dengansort -k1h -k2
. Jika tidak, inilah skrip awk mentah untuk dikonversi ke ukuran sufiks (pembulatan ke bawah); hanya pipasort
keluaran di atas ke dalamnya.sumber
du
panggilan kedua .Saya menggunakan alias berikut ini untuk itu:
alias ds='du -x --all --max-depth=1 . | sort -n'
Ini mencetak ukuran semua file dan subdirektori level 1 dari dir saat ini.
sumber
Dengan versi saat ini dari gnu sort (dan meminjam pola file @ penguin359)
Dengan semacam versi yang lebih lama
EDIT: menambahkan -S parameter
du
untuk tidak menyertakan subdirektori.sumber
--apparent-size
ke du parameter.PEMBARUAN: Saya telah menghapus skrip sebelumnya. Ini adalah versi baru, menggunakan
du
danawk
(yang sebelumnya digunakantree
dansed
)Ini adalah output dari:
dusort ~/test 1
Ini skripnya
sumber
tree
lakukan itu. jika Anda ingin ruang disk yang digunakan, makadu
apakah itu ... (tree
tidakman du
, bahwa ia juga dapat melaporkan "ukuran file semu" ....The apparent size of a file is the number of bytes reported by
wc -c 'pada file biasa, atau lebih umum,ls -l --block-size=1' or
stat --format =% s '. Misalnya, file yang berisi katazoo' with no newline would, of course, have an apparent size of 3.
menunjukkan file terbesar terlebih dahulu, sehingga Anda dapat melakukannya qsegera setelah Anda cukup melihatnya.
sumber