Bermain dengan find

Perintah find di *nix mungkin bukan perintah yang asing, saya sering menggunakan command tersebut tetapi ternyata sering sekali lupa option apa yang harus saya pakai untuk mencari file tertentu.

Menampilkan seluruh file didalam satu folder (rekursif)

find . -print

Mencari nama file foo di seluruh harddisk (system)

Apabila command berikut tidak dilakukan oleh root maka anda akan mendapatkan beberapa error message.

find / -name foo

Mencari nama file tertentu didalam folder tertentu

find ./ -name “namafile”

Mencari nama file dengan wild card contoh hanya mencari file dengan extensi .php

find ./ -name “*.php”

Mencari file didalam beberapa folder didalam suatu folder tertentu.

Contoh mencari file di dalam folder public_html untuk seluruh user yang ada di /home

find /home/*/public_html -name “*.php”

Contoh mencari file dengan akhiran tertentu

find / -name “*foo”

Contoh mencari file dengan awalan tertentu

find / -name “foo*”

Contoh mencari file yang mengandung kata tertentu

find / -name “*foo*”

Mencari file didalam banyak folder yang berbeda-beda

find /home /var /usr -name “foo”

Mencari file dengan batasan rekursif sampai berapa dalam

find /home/*/public_html -depth 3 -name “*.php”

Mencari file yang tidak memiliki kata tertentu

find ./ -not -name “*.php”

Mencari file yang dimodifikasi dalam jangka waktu tertentu

Contoh tidak lebih dari 24 jam yang lalu

find ./ -mtime 0

Contoh antara 24 – 48 jam yang lalu

find ./ -mtime 1

Contoh antara 5 menit – 10 menit yang lalu

find ./ -mmin +5 -mmin -10

Mencari direktori saja (file diabaikan)

find ./ -type d -name “foo*”

Mencari file dengan permit tertentu

find ./ -perm 755

Mencari file

Menggabungkan find dengan xargs

Mencari kata didalam sebuah file text tertentu

Contoh mencari kata “shell” didalam seluruh file ber ekstensi “*.php”

find ./ -name “*.php” | xargs grep “shell”

Menghapus seluruh file dengan nama tertentu

find ./ -name “foo” | xargs grep rm

Menghapus hanya direktori dengan nama tertentu beserta seluruh isi nya

find ./ -type d -name “foo” | xargs grep rm -rf

Hmm entah kenapa artikel ini tidak pernah selesai.. berhubung sudah terlalu lama nongkrong di draft saya anggap selesai saja dilanjut kalau ada ide lagi 😀


About this entry