Perintah Mencari File di Terminal Linux

 Sewaktu belajar perintah linux mungkin kamu ada kesulitan untuk mencari file dalam mode teks, apa sih perintah mencari file di terminal linux? Disini saya akan bahas cara mencari file di linux menggunakan terminal.

Apa yang di bahas? Kamu bisa mencari file di linux menggunakan perintah:

Mari pelajari bagaimana cara menggunakan perintah locate dan find untuk mencari lokasi file menggunakan terminal di linux satu per satu dan kamu bebas menggunakannya sesuai selera dan kebutuhan.

Mencari File di Terminal Pakai locate

Untuk mencari file di Linux berdasarkan nama file kamu bisa gunakan perintah locate ini adalah cara yang termudah dan proses pencarinya cukup cepat karena di lakukan di backgound.

Sebelum Mencari File Update Database Pencarian

Perintah locate mencari file berdasarkan database maka sebaiknya sebelum kamu menggunakan perintah locate kamu perlu melakukan update database menggunakan perintah berikut:

Terminal
sudo updatedb

Proses pembaruan database akan berlangsung di background jadi kamu cukup tunggu saja sampai selesai, cepat atau lama bergantung dari kecepatan komputer dan jumlah file.

Cara Mencari File di Terminal

Cara untuk mencari file menggunakan perintah locate di terminal linux cukup mudah kamu hanya perlu gunakan format berikut:

locate [option] namafile

Contohnya kamu akan mencari file php.ini maka kamu cukup gunakan perintah ini:

Terminal
locate php.ini

Output dari perintah di atas seperi ini:

hasil pencarian file dengan perintah locate linux

Mencari File Berdasarkan Huruf Besar/Kecil

Perintah locate akan mencari file berdasarkan case sensitive, artinya nama file php.ini dan php.INI di anggap dua nama file yang berbeda.

Jadi kalau kamu mau mencaril file tidak soal itu huruf besar atau kecil maka kamu perlu menambahkan opsi -i di perintah pencarianya seperti berikut:

Terminal
locate -i php.INI

Hasil output di atas seperti ini:

hasil pencarian locate dengan ignore case

Hitung Total Pencarian File di Linux

Mungkin kamu mau menampilkan berapa total jumlah file yang kamu sedang cari di terminal maka kamu bisa gunakan opsi -c dari perintah locate untuk melakukanya.

Terminal
locate -c -i php.ini

Hasil dari perintah di atas adalah

Ya ada 28 file dengan nama php.ini di komputer kamu.

Mencari File di Terminal menggunakan Perintah find

Perintah untuk mencari file di linux menggunakan terminal yang lainnya adalah find .

Perintah find sangat canggih mendukung pencarian berdasarkan file, folder, nama, tanggal pembuatan, tanggal modifikasi, pemilik dan izin file. Lalu kamu bisa melakukan operasi selanjutnya pada hasil pencariannya tersebut

Maksudnya seperti ini, misalnya kamu mau hapus file *.log dengan ukuran di atas 500MB, maka kamu bisa gunakan perintah find untuk mencari file dengan nama .log yang ukuranya di atas 500MB. Setelah file tersebut sudah didapatkan kamu menjalankan operasi selanjutnya yaitu hapus.

Cara Menggunakan Perintah find

Kamu bisa gunakan perintah find dengan format seperti ini

find [path pencarian] [-opsi] [pencarian]

Path pencarian maksudnya lokasi pencarian, kamu bisa gunakan untuk mencari di folder aktif atau kamu bisa gunakan untuk mencari di seluruh komputer.

Opsi menyediakan banyak hal yang bisa kamu cari, tapi saya akan bahas berdsarkan contoh biar kamu lebih mudah mempelajari cara mencari file di terminal linux.

Mencari File Berdsarkan Nama

Kamu bisa mencari file berdasarkan nama file dengan menggunakan opsi -name untuk case sensitive atau gunakan -iname untuk ignore case sensitive.

Contoh perintah mencari file berdsarkan nama file, saya akan mencafil file png di folder home :

Terminal
find / -name php.ini

Output dari perintah di atas adalah

mencari nama file dengan perintah find

Mencari Direktori di Terminal Linux

Kamu bisa mencari direktori menggunakan perintah find hanya dengan menambahkan opsi -type d artinya kamu hanya mencari type folder saja.

Contoh perintah pencarian direktori

Terminal
find / -type d -iname "var"

Perintah di atas akan mencari folder yang bernama var di komputer kamu

Mencari File Berdasarkan Ukuran

Kalau kamu mau mencari file yang ukurannya besar maka kamu bisa gunakan perintah find dengan opsi -size yang artinya ukuran file.

Contoh kamu mau mencari file dengan ukuran di atas 50MB gunakan perintah berikut:

Terminal
find / -size +50M

Kalau mau mencari file dengan ukuran kurang dari 1GB dengan nama file .log, pakai perintah di bawah ini:

Terminal
find / -size -1G -iname *.log

Satuan ukuran yang bisa di pakai:

  • K untuk kilo byte
  • M untuk mega byte
  • G untuk giga byte

Cara Mencari File Berdasarkan Tanggal

Untuk mencari berdasarkan tanggal maka kamu perlu tau beberapa tanggal yang ada di file

  • tanggal access (simbol at)adalah kapan file terakhir di akses/dibuka oleh user
  • tanggal modifikasi (simbol mt) adalah waktu kapan terakhir isi file di modifikasi

gunakan opsi -newerXY dimana XY adalah kode simbol untuk tanggal, Contoh:

Cara mencari file berdasarkan range tanggal terkahir file di modifikasi

find . -type f -newermt 2020-01-01 -not -newermt 2020-03-31 -ls

Perintah diatas menampilkan semua file yang di modifikasi mulai dari tanggal 2020-01-01 sampai 2020-03-31 -ls di belakang untuk menampilkan hasil pencarian dalam mode list.

kalau mau mencari berdasarkan tanggal kapan file itu diakses cukup ganti kode mt jadi at seperti contoh di bawah ini:

find . -type f -newerat 2020-01-01 -not -newerat 2020-03-31 -ls

Perintah ini artinya mencari semua file berdasarkan tanggal kapan file tersebut di akses atau dibuka oleh seseorang mulai dari tanggal 1 januari 2020 sampai dengan 31 maret 2020

Mencari File Berdasarkan Lamanya waktu

Kalau mau mencari semua file yang diakses 30 hari yang lalu maka gunakan perintah ini:

find /home/hary -type f -atime -30 -type f

Tapi kalau kamu mau mencari file yang dimodifikasi lebih dari 30 hari yang lalu cukup tambah didepan jumlah hari dan ganti atime jadi mtime

find ~ -type f -mtime +30 -type f -ls

Mencari File Berdasarkan Permission

Hebatnya perintah find kamu bisa mencari file berdasarkan permission cukup dengan tambahkan opsi

  • -perm untuk mencari file/direktori berdasarkan permission
  • -user mencari file/direktori berdasarkan kepemilikan file
  • -group mencari file/direktori berdasarkan kepemilikan group

Perhatikan contoh di bawah:

Kamu bisa mencari direktori dengan permission 777 seperti pada contoh di bawah ini:

Terminal
find / -perm 777 -type d

Untuk mencari file atau direktori dengan user linux bernama hary kamu gunakan perintah ini:

Terminal
find / -user hary

Untuk mencari file berdasarkan group di linux yang bernama root gunakan perintah ini:

Terminal
find / -group root

Kamu bisa menggunakan opsi opsi secara gabungan bergantung dari kebutuhan kamu.

Pencarian tingkat lanjut mungkin kamu bisa cek bagaimaan perintah find saya gunakan untuk membuat script bash silakan baca artikelnya di:

Menghilangkan “permission denied” di perintah find

Perintah find memang canggih tapi ada hal yang saya tidak suka kalau kita mencari file dengan perintah find selalu memunculkan pesan permission denied.

Ini adalah tips yang akan saya berikan bagaimana caranya menghilangkan pesan error permission denied pada perintah find.

Cukup tambahkan 2>&1 | grep -v "Permission denied" pada setiap perintah yang kamu ketikan.

Contohnya seperti ini:

Terminal
find / -size +100M -iname "*.log.*" 2>&1 | grep -v "Permission denied"

Perintah di atas akan mencari file yang bernama log tapi yang ukuranya di atas 100MB tanpa memunculkan pesan error Permission denied.

Kesimpulan

Kamu bisa mencari file di terminal linux menggunakan perintah locate dan find. Perintah locate lebih sederhana hanya untuk mencari file sedangkan perintah find lebih canggih karena banyak opsi pencarian yang tersedia.

Post a Comment

Previous Post Next Post