Perintah find adalah utilitas pencarian yang kuat yang digunakan untuk mencari file di Linux dan sistem operasi seperti Unix. Itu dapat menemukan file dan direktori berdasarkan kriteria yang berbeda seperti nama, ekstensi, jenis, modifikasi dan tanggal pembuatan, izin, ukuran, pemilik.
Find juga dapat melakukan tindakan berdasarkan perintah misalnya mencari file dan mengeksekusi delete, count, dll.
Tutorial ini akan fokus menjelaskan cara menggunakan perintah find dan memandu Anda melalui contoh.
Sintaks:
Sintaks dasar temukan penggunaan perintah adalah sebagai berikut:
find <directory-to-search> [OPTIONS] <find name,file,extension>
-H
dan -L
opsi digunakan untuk mengelola tautan simbolik saat mencari, -P (jangan ikuti tautan simbolik) dan -L (ikuti tautan simbolik).
1. Cari file dengan nama
Untuk menemukan file dengan nama , gunakan perintah find dengan -name
pilihan.
Dengan asumsi bahwa Anda ingin mencari file yang memiliki nama 'nginx.yaml' di direktori Documents, Anda dapat menjalankan perintah berikut:
$ find /Documents -name nginx.yaml
Ini akan menemukan file bernama "nginx.yaml" di Documents/ dan semua sub-direktori:
Selain itu, untuk mencari file "nginx.yaml" di direktori saat ini dan semua subdirektorinya, jalankan:
$ find -name nginx.yaml
Titik (.) setelah perintah find menunjukkan untuk mulai mencari dari direktori saat ini:
$ find . -name nginx.yaml
2. Temukan file dengan ekstensi
Jika Anda ingin mencari semua file dengan ekstensi , Anda dapat menggunakan perintah find dengan -name
opsi berikut dengan *.
Misalnya, Anda dapat mencari semua file yang memiliki ekstensi '.png' di direktori home dengan menjalankan perintah berikut:
$ find $HOME -name *.png
3. Temukan hanya direktori
Jika Anda ingin mencari hanya direktori , Anda dapat menjalankan perintah find dengan -type d
pilihan.
Misalkan Anda ingin mencari semua direktori di folder Documents/, mari kita jalankan:
$ find /Documents -type d
4. Temukan hanya file
Ada banyak jenis file di Linux seperti:direktori, tautan simbolik, soket, file biasa, dll. Jika Anda ingin mencari hanya file biasa , Anda dapat menjalankan perintah find dengan opsi '-type f'.
Misalnya, dengan asumsi bahwa Anda hanya menemukan file di direktori saat ini, mari kita jalankan:
$ find . -type f
5. Temukan dan hapus
Dalam beberapa situasi Anda ingin menemukan dan menghapus file/direktori yang sudah tidak diperlukan lagi, Anda dapat menjalankan perintah find dengan opsi '-delete'.
Misalnya, menemukan semua gambar memiliki ekstensi *.png di folder Documents/ dan menghapusnya:
$ find /Documents -name *.png -delete
6. Temukan file yang memiliki izin khusus
Jika Anda ingin mencari semua file yang memiliki izin khusus , Anda dapat menggunakan perintah find Linux dengan opsi '-perm'.
Misalnya, untuk menemukan file yang memiliki izin '755', jalankan:
$ find . -type f -perm 775 -exec ls -l {} \;
7. Temukan file dan direktori menurut tanggal/waktu
Perintah find Linux memungkinkan Anda untuk mencari file dan direktori berdasarkan cap tanggal/waktu.
Anda dapat menggunakan perintah find dengan opsi '-mtime -N' untuk menemukan file yang terakhir diubah 'N' beberapa hari yang lalu. Misalnya, untuk mencari semua file yang diubah dalam 2 hari terakhir di direktori saat ini, jalankan:
$ find . -type f -mtime -2 -exec ls -l {} \;
Cara lain untuk menggunakan perintah find untuk mencari file/direktori berdasarkan tanggal/waktu adalah menggunakan opsi '-newerXY'. Dimana X dan Y dapat:
a
- waktu akses file referensi
B
- waktu lahir file referensi
c
- waktu perubahan status inode dari file referensi
m
- waktu modifikasi file referensi
t
- refer diartikan secara langsung sebagai waktu
Misalnya, untuk mencari semua file yang dimodifikasi pada 4 Juli 2020 di direktori saat ini, jalankan:
$ find . -type f -newermt 2020-07-04 -ls
8. Temukan file dan direktori berdasarkan ukuran
Perintah find Linux memungkinkan Anda untuk mencari file/direktori berdasarkan ukuran dengan menjalankan perintah dengan opsi '-size'.
Dengan asumsi bahwa Anda ingin mencari file yang lebih besar dari 1GB, Anda dapat menjalankan perintah berikut:
$ find . -type f -size +1G
Beberapa Contoh Praktis
01) Temukan file/direktori kosong
Output ini akan mencantumkan semua file dan folder kosong di direktori dan sub-direktori saat ini:
$ find . -empty -ls
02) Temukan semua file .jpg
$ find . -name *.jpg
03) Temukan semua direktori dengan izin 644
Outputnya menunjukkan kepada Anda semua folder di direktori atau sub-direktori saat ini yang memiliki izin 644:
$ find . -type d -perm 644 -ls
04) Temukan file yang dimiliki oleh pengguna tertentu
Jika Anda ingin memeriksa semua file yang dimiliki oleh pengguna "cas" di bawah direktori saat ini, Anda dapat melakukannya sebagai berikut:
$ find . -user cas -ls
05) Temukan file menurut nomor inode
Untuk mencari file dengan nomor inode, Anda dapat menggunakan find dengan -inum
pilihan. Misalnya:
$ find -inum 534937
06) Hitung jumlah file
$ find -type f -exec basename {} \; | wc -l
07) Hitung jumlah direktori
$ find -type d -exec basename {} \; | wc -l
08) Telusuri file dengan kedalaman tertentu
Dengan asumsi Anda ingin mencari file "Dockerfile" di folder HOME dan subdirektorinya dan bukan di subdirektori level berikutnya, Anda perlu menyetel opsi '-maxdepth' ke 2 sebagai berikut:
$ find $HOME -maxdepth 2 -name Dockerfile
Kesimpulan
Alat canggih lainnya adalah perintah fd yang merupakan alternatif untuk menemukan perintah.
Dalam tutorial ini, kita belajar bagaimana menggunakan perintah find Linux untuk mencari file dan direktori. Terima kasih telah membaca dan silakan tinggalkan saran Anda di bagian komentar di bawah.