Saya ingin mencari file yang lebih besar dari 1 GB dan lebih dari 6 bulan di seluruh server. Bagaimana cara menulis perintah untuk ini?
shell-script
command-line
files
find
Shinek
sumber
sumber
find
implementasi di manaG
sufiks itu didukung, itu berarti GiB (1073741824 bytes), bukan GB (1000000000).find /path -mtime +180 -size +1073741824c
find: a.txt :Permission denied
Saya sarankan menambahkan ini2>/dev/null
terinspirasi dari komentar ini: unix.stackexchange.com/questions/42841/…xargs ls -lhS
mengurutkannya berdasarkan ukuran:find /path -mtime +180 -size +1G | xargs ls -lhS
find / -size +1G -mtime +180 -print0 2>/dev/null | xargs -0 ls -lhS
. Catatan pemula: Pengalihan2>/dev/null
saja menghilangkanpermission denied
kesalahan yang pasti akan muncul saat mencari dari root. Untuk mengurutkan berdasarkan terakhir diubah menggunakan tanggalls -lht
bukan dan menambahkanr
kels
perintah, misalnyals -lhSr
, akan membalikkan hasil (terkecil hingga terbesar / terlama ke terbaru).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.
sumber