File lebih besar dari 1 GB dan lebih dari 6 bulan


20

Saya ingin mencari file yang lebih besar dari 1 GB dan lebih dari 6 bulan di seluruh server. Bagaimana cara menulis perintah untuk ini?

Jawaban:


37

Gunakan find:

find /path -mtime +180 -size +1G

-mtimeberarti mencari waktu modifikasi yang lebih besar dari 180 hari (+180). Dan -sizeparameter mencari file yang lebih besar dari 1GB.


2
Perhatikan bahwa dalam findimplementasi di mana Gsufiks itu didukung, itu berarti GiB (1073741824 bytes), bukan GB (1000000000). find /path -mtime +180 -size +1073741824c
Mudah-mudahan

1
jika Anda ingin menghindari melihat kesalahan di antara daftar file seperti ini: find: a.txt :Permission deniedSaya sarankan menambahkan ini 2>/dev/nullterinspirasi dari komentar ini: unix.stackexchange.com/questions/42841/…
gmansour

Anda juga dapat menyalurkan hasilnya ke dalam xargs ls -lhSmengurutkannya berdasarkan ukuran: find /path -mtime +180 -size +1G | xargs ls -lhS
user553965

@ user553965 Perintah Anda tidak akan berfungsi. Apa yang sebenarnya dibutuhkan untuk mengurutkan berdasarkan ukuran: find / -size +1G -mtime +180 -print0 2>/dev/null | xargs -0 ls -lhS. Catatan pemula: Pengalihan 2>/dev/nullsaja menghilangkan permission deniedkesalahan yang pasti akan muncul saat mencari dari root. Untuk mengurutkan berdasarkan terakhir diubah menggunakan tanggal ls -lhtbukan dan menambahkan rke lsperintah, misalnya ls -lhSr, akan membalikkan hasil (terkecil hingga terbesar / terlama ke terbaru).
mattst

6

find / -size +1G -mtime +180 -type f -print

Berikut penjelasan opsi perintah berdasarkan opsi: Mulai dari direktori root, ia menemukan semua file lebih besar dari 1 Gb, dimodifikasi lebih dari 180 hari yang lalu, yang bertipe "file", dan mencetak path mereka.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.