Fungsi dan cara penggunaan perintah “Find” pada Linux

Perintah “Find” adalah salah satu perintah yang paling penting dan banyak digunakan di sytems Linux. Perintah “Find” digunakan untuk mencari dan menemukan daftar file dan direktori berdasarkan kondisi yang ditentukan oleh user/pengguna. “Find” dapat digunakkan didalam berbagai kondisi seperti mencari file dengan hak akses (permission), pengguna (users), kelompok (groups), tipe data (file types), ukuran (size) dan kriteria lain yang memungkinkan.

Melalui artikel ini saya akan berbagi pengalaman sehar-hari dalam menggunakan perintah “find” dan bentuk-bentuk contoh penggunaanya. Saya telah membagi menjadi 5 pokok bahasan dari dasar ke tingkat lanjut dalam penggunaan perintah “find”.

  1. Part I: Perintah dasar “Find” untuk menemukan File berdasarkan Nama
  2. Part II: Pencarian file berdasarkan Hak akses (Permissions)
  3. Part III: Pencarian file berdasarkan Pemilik/Owners dan Kelompok/Groups
  4. Part IV: Pencarian file dan direktori berdasarkan waktu dan tanggal
  5. Part V: Pencarian file dan direktori berdasarkan ukuran (Size)

Part I: Perintah dasar “Find” untuk menemukan File berdasarkan Nama

1. Mencari file menggunakan nama pada direktori saat ini

Cari semua file yang mengandung nama catatan.txt didalam direktori saat ini.

# find . -name catatan.txt
./catatan.txt

2. Mencari file dibawah direktori Home

Mencari semua file dibawah direktori /home dengan nama catatan.txt.

# find /home -name catatan.txt
/home/catatan.txt

3. Mencari file berdasarkan nama tanpa memperdulikan huruf Besar dan Kecil

Mencari semua file berdasarkan nama catatan.txt dan mengandung huruf Besar dan Kecil di direktori /home.

# find /home -iname catatan.txt
./catatan.txt
./Catatan.txt
./cAtAtAn.txt

4. Mencari Direktori berdasarkan nama

Mencari semua direktori berdasarkan nama Catatan di direktori “/”.

# find / -type d -name Catatan
/Catatan

5. Mencari file PHP berdasarkan Nama

Mencari semua file php yang namanya catatan.php di direktori saat ini.

# find . -type f -name catatan.php
./catatan.php

6. Mencari semua file PHP didalam direktori

mencari semua file php didalam direktori.

# find . -type f -name "*.php"
./catatan.php
./login.php
./index.php

Part II: Pencarian file berdasarkan Hak akses/Perizinan (Permissions)

7. Mencari file dengan Hak Akses/Permission 777

Cari semua file yang perizinannya adalah 777.

# find . -type f -perm 0777 -print

8. Mencari file yang perizinannya/permission bukan 777

Mencari semua file yang perizinannya/permission bukan 777.

# find / -type f ! -perm 777

9. Mencari file SGID dengan perizinan/permission 644

Mencari semua file bit SGID dengan perizinan/permission yang telah di set 644.

# find / -perm 2644

SGID (Set Group ID up on execution) adalah tipe spesial dari perizinan file yang diberikan untuk sebuah file atau folder.

10. Mencari file Sticky Bit dengan perizinan/permission 551

Mencari semua file Sticky Bit yang telah di set perizinananya/permission menjadi 551.

# find / -perm 1551

11. Mencari file SUID

Mencari semua set file SUID.

# find / -perm /u=s

12. Mencari file SGID

Mencari semua set file SGID.

# find / -perm /g=s

13. Mencari file “Read Only”

Mencari semua file “Read Only”.

# find / -perm /u=r

14. Mencari file yang bisa di Execute

Mencari semua file yang bisa di  Execute.

# find / -perm /a=x

15. Mencari file dengan perizinan/permission 777 dan diganti ke 644 menggunakan command “chmod”

Mencari semua file dengan perizinan/permission 777 dan menggunakan perintah chmod untuk diganti perizinan/permission nya ke 644.

# find / -type f -perm 0777 -print -exec chmod 644 {} \;

16. Mencari direktori dengan perizinan/permission 777 dan diganti ke 755 menggunakan command “chmod”

Mencari semua direktori dengan perizinan/permission 777 dan menggunakan perintah chmod untuk diganti perizinan/permission nya ke 644.

# find / -type d -perm 777 -print -exec chmod 755 {} \;

17. Mencari dan menghapus file tunggal

Mencari file tunggal dengan nama catatan.txt dan menghapusnya.

# find . -type f -name "catatan.txt" -exec rm -f {} \;

18. Mencari dan menghapus beberapa file

Mencari dan menghapus beberapa file seperti .mp3 or .txt.

# find . -type f -name "*.txt" -exec rm -f {} \;
OR
# find . -type f -name "*.mp3" -exec rm -f {} \;

19. Mencari semua file kosong

Mencari semua file kosong dengan kondisi tertentu.

# find /tmp -type f -empty

20. Mencari semua direktori kosong

Mencari semua direktori kosong dengan kondisi tertentu.

# find /tmp -type d -empty

21. Mencari semua file yang di sembunyikan

Mencari semua file yang di sembunyikan, gunakan perintah dibawah ini.

# find /tmp -type f -name ".*"

Part III – Search Files Based On Owners and Groups

22. Mencari semua file tunggal berdasarkan Pengguna/User

Untuk mencari semua file tunggal yang bernama catatan.txt dibawah direktori root “/” dengan pengguna sebagai root.

# find / -user root -name catatan.txt

23. Mencari semua file berdasarkan Pengguna/User

Mencari semua file yang di miliki oleh user Catatan dibawah direktori /home.

# find /home -user Catatan

24. Mencari semua file berdasarkan kelompok/Group

Mencari semua file yang di miliki oleh kelompok Developer dibawah direktori /home.

# find /home -group developer

25. Mencari file khusus dari Pengguna/User

Mencari semua file .txt yang dimiliki user Catatan dibawah direktori /home.

# find /home -user Catatan -iname "*.txt"

Part IV – Find Files and Directories Based on Date and Time

26. Mencari file yang telah di modifikasi pada 50 hari terakhir

Mencari semua file yang telah di modifikasi selama 50 hari kebelakang.

# find / -mtime 50

27. Mencari file yang telah di akses pada 50 hari terakhir

Mencari semua file yang diakses pada 50 hari kebelakang.

# find / -atime 50

28. Mencari file yang telah di Modifikasi pada periode 50-100 hari terakhir

Mencari semua file yang telah di modifikasi lebih dari 50 hari kebelakang dan kurang dari 100 hari.

# find / -mtime +50 –mtime -100

29. Mencari file yang telah di Ganti dalam 1 jam terakhir

Mencari semua file yang telah di ganti dalam 1 jam terakhir.

# find / -cmin -60

30. Mencari file yang telah di modifikasi dalam 1 jam terakhir

Mencari semua file yang telah di modifikasi dalam 1 jam terakhir.

# find / -mmin -60

31. Mencari file yang telah di akses dalam 1 jam terkahir

Mencari semua file yang telah di akses dalam 1 jam terakhir.

# find / -amin -60

Part V – Find Files and Directories Based on Size

32. Mencari file yang besarnya 50MB

Mencari semua file yang besarnya 50MB.

# find / -size 50M

33. Mencari file yang ukuranya diantara 50MB – 100MB

Mencari semua file yang lebih besar ukuranya dari  50MB dan lebih kecil dari 100MB.

# find / -size +50M -size -100M

34. Mencari dan mendelete file yang ukurannya 100MB

Mencari semua file yang ukurannya 100MB dan mendelete file tersebut menggunakan satu perintah tunggal (cp).

# find / -size +100M -exec rm -rf {} \;

35. Mencari file spesifik dan mendelete nya

Mencari semua file .mp3 dengan ukuran lebih dari 10MB dan mendelete file tersebut menggunakan satu perintah tunggal (cp).

# find / -type f -name *.mp3 -size +10M -exec rm {} \;

Cukup sekian, Saya mengakhiri postingan saya sampai disini, Pada artikel selanjutnya saya akan mendiskusikan lebih banyak mengenai perintah linux lainnya secara mendalam dengan contoh-contoh praktis. JIka ada pendapat atau saran, mohon komentarnya pada postingan saya kali ini.

Tinggalkan komentar