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:
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:
locate php.ini
Output dari perintah di atas seperi ini:
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:
locate -i php.INI
Hasil output di atas seperti ini:
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.
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 :
find / -name php.ini
Output dari perintah di atas adalah
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
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:
find / -size +50M
Kalau mau mencari file dengan ukuran kurang dari 1GB dengan nama file .log
, pakai perintah di bawah ini:
find / -size -1G -iname *.log
Satuan ukuran yang bisa di pakai:
K
untuk kilo byteM
untuk mega byteG
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:
find / -perm 777 -type d
Untuk mencari file atau direktori dengan user linux bernama hary kamu gunakan perintah ini:
find / -user hary
Untuk mencari file berdasarkan group di linux yang bernama root gunakan perintah ini:
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:
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.