26 Contoh perintah find yang berguna di linux

Halo Pembaca, dalam posting ini kita akan membahas 26 contoh berguna dari perintah find di linux.
Apa gunanya perintah find?perintah
find di sistem Linux & UNIX digunakan untuk menemukan file dan direktori dan dapat melakukan tindakan selanjutnya pada mereka.

Dengan bantuan Dari perintah find, admin sistem dapat mencari file-file yang dibutuhkan berdasarkan beberapa kriteria pencarian. kita dapat menggunakan satu atau menggabungkan sejumlah kriteria dan kemudian kita dapat melakukan tindakan pada hasil yang diperoleh. Kriteria pencarian dapat didasarkan pada   nama file, nama direktori, tanggal pembuatan, tanggal modifikasi, pemilik dan izin.

Sintaks perintah find,
$ find {file-or-directory-name}

Tindakan pada hasil perintah find dapat be
– delete :  Delete file atau direktori-exec perintah {}; : Jalankan perintah pada hasil yang diperoleh dari find command-ok command : Ini akan menjalankan perintah yang sama dengan -exec tetapi akan meminta sebelum eksekusi yang sebenarnya.
Tanpa penundaan lebih lanjut mari kita lompat ke contoh perintah find,

1) Temukan semua file dan direktori dari direktori kerja saat ini

Untuk menemukan hanya direktori dari direktori kerja Anda saat ini, run
$ find . -type d

Untuk mencari semua file saja & bukan direktori, run
$ find . -type f

2) Daftar semua file dari direktori tertentu

Untuk menemukan semua file dari direktori tertentu, misalkan kita ingin membuat daftar semua file dan direktori folder /home/linuxtechi/Downloads, run
$ find /home/linuxtechi/Downloads

Untuk menemukan file saja , run
$ find /home/linuxtechi/Downloads -type f

Run perintah berikut untuk menemukan direktori saja,
$ find /home/linuxtechi/Downloads -type d

output dari perintah di atas,

3) Temukan file dengan nama dari sebuah direktori

Untuk mencari file dengan namanya di direktori tertentu, run
$ sudo find /home -type f -name cleanup.sh

Perintah di atas akan mencari file cleanup.sh di folder /home. Kita juga dapat mencari semua file dengan ekstensi .log di folder /var/log, run
$ sudo find /var/log -type f -name *.log

4) Temukan file di beberapa direktori

Mari kita asumsikan kita ingin mencari file ekstensi .sh di folder /home dan /root, run
$ sudo find /home /root -type f -name ‘*.sh’

5) Temukan file dengan nama mengabaikan case

Untuk mencari file dengan namanya terlepas dari huruf besar atau kecilnya. atau huruf kecil, kita dapat menggunakan opsi ‘-iname’ di perintah find.
$ sudo find /home -type f -iname CleanUP.SH /home/linuxtechi/automation/cleanup.sh $

Hasil dari perintah akan menemukan file dengan nama cleanup.sh, apakah itu dalam huruf kecil atau huruf besar atau dalam kasus campuran.

6) Temukan semua jenis file selain yang disebutkan type

Misalkan kita ingin menemukan semua file yang bukan jenis yang disebutkan, untuk mencapai ini kita bisa gunakan opsi -not dalam perintah find. Contoh di bawah ini,
$ sudo find /home -type f -not -name ‘*.mp3’

7) Temukan file dengan beberapa kondisi

Kita juga dapat menggabungkan lebih dari satu kondisi untuk mencari file menggunakan ekspresi reguler , Misalkan kita ingin cari file berekstensi ‘.sh’ dan ‘.mp3’ di direktori home kami, run
$ find $HOME -regex “.*.(sh|mp3)$”

8) Temukan file dengan menggunakan OR condition

Kami juga dapat gabungkan beberapa kriteria pencarian & kemudian cari file berdasarkan pemenuhan salah satu kondisi menggunakan operator OR,
$ find $HOME -name “*.sh” -o -name “jumpscripts” /home/linuxtechi/automation/ cleanup.sh /home/linuxtechi/dumpdata.sh $

9) Temukan file berdasarkan izinnya

Untuk mencari file berdasarkan izin, gunakan opsi -perm di perintah find. Temukan semua file di folder /home dengan izin ‘0777’, run
$ sudo find /home -type f -perm 0777

Temukan semua skrip yang dapat dieksekusi di direktori home pengguna
$ find $HOME -type f -perm /a+x

10) Temukan semua file tersembunyi

Untuk mencari semua file tersembunyi di direktori home pengguna, jalankan command
$ find $HOME -type f -name “.*”

11) Temukan semua file dengan SGID

Untuk mencari semua file dengan bit SGID, kita dapat menggunakan
$ sudo find / -perm /g=s

12) Temukan semua file dengan SUID

Untuk menemukan semua file dengan bit SUID, jalankan
$ sudo find / -perm /u=s

13) Temukan semua file yang dapat dibaca tetapi tidak memiliki izin eksekusi

Untuk hanya melihat untuk file yang dapat dibaca oleh semua orang tetapi tidak dapat dieksekusi oleh siapa pun, run
$ find $HOME -perm -a+r ! -perm /a+x

14) Cari Beberapa Jenis File

Dalam perintah find tunggal, kita dapat mencari beberapa jenis file,
$ find $HOME -type f,d,l

15) Temukan semua file yang dimiliki oleh pengguna

Untuk menemukan semua file yang dimiliki oleh pengguna tertentu di direktori /home, jalankan perintah berikut,
$ sudo find $HOME -user linuxtechi

16) Temukan semua file yang dimiliki oleh grup

Untuk menemukan semua file yang dimiliki oleh grup tertentu, perintah di bawah ini akan mencari semua file yang dimiliki oleh apache group.
$ sudo find / -group apache

17) Temukan file berdasarkan size

Gunakan opsi ‘-size’ di perintah find untuk mencari file berdasarkan ukurannya. Jalankan perintah berikut untuk menemukan semua file yang ukurannya persis 50MB.
$ find $HOME -size 50M /home/linuxtechi/dbstuff $

Temukan file yang ukurannya lebih besar dari 50MB,
$ find $HOME -size +50M

Search files yang ukurannya kurang dari 50MB
$ find $HOME -size -50M

Temukan semua file yang ukurannya berkisar antara 40MB hingga 500MB
$ find $HOME -size +40M -size -500M

18) Jangan turun direktori pada sistem file lain

Opsi -xdev di perintah find to list mount poin atau partisi di sistem file lain, tetapi tidak turun ke dalamnya.

Perintah di bawah akan mencari semua file yang ukurannya lebih dari 100MB di / sistem file dan mengecualikan sistem file terpasang lainnya selain itu akan mengarahkan pesan kesalahan ke / dev / null
$ find / -xdev -size +100M 2>/dev/null

19) Temukan file yang dimodifikasi N hari yang lalu

Misalnya, kami ingin mencari semua file yang telah dimodifikasi 10 hari yang lalu. Kita dapat melakukannya dengan menggunakan opsi ‘-mtime’ di find command
$ sudo find / -mtime 10 2>/dev/null

20) Temukan file yang telah diakses N hari yang lalu

Sama seperti contoh di atas, kita juga dapat menemukan file yang telah diakses 30 hari yang lalu menggunakan ‘-atime’,
$ sudo find / -atime 30 2>/dev/null

21) Temukan semua file dan direktori kosong

Untuk mencari semua file kosong di direktori home pengguna, run
$ find $HOME -type f -empty atau $ find $HOME -type f -size 0

Demikian pula, untuk mencari semua direktori yang kosong
$ find $HOME -type d -empty

22) Cari dan hapus files

Menggunakan perintah find, kita mencari dan menghapus file dalam satu perintah. Opsi ‘-delete’ pada perintah find dapat menghapus file.

Dalam contoh berikut, kita mencari dan menghapus file mp3 dari direktori home pengguna
$ find $HOME -type f -name “*.mp3” -delete

hati-hati saat menjalankannya.

23) Temukan file terbesar dan terkecil

Untuk menemukan file terbesar dan terkecil, kami akan menggabungkan perintah sort dengan perintah find & jika kami ingin membuat daftar tiga besar dari file terbesar, kami akan menggabungkan perintah kepala.

Untuk daftar tiga teratas file di direktori home pengguna, run
$ find $HOME -type f -exec ls -s {} ; | urutkan -n -r | head -3 51200 /home/linuxtechi/dbstuff 8276 /home/linuxtechi/.cache/gnome-software/appstream/components.xmlb 2764 /home/linuxtechi/.local/share/gnome-photos/tracker3/private/meta.db -wal $

Kita juga dapat menemukan file terkecil di direktori home pengguna,
$ find $HOME -type f -exec ls -s {} ; | urutkan -n | head -3

24) Temukan semua file log dan arahkan ke file

Untuk menjalankan perintah pada hasil perintah find gunakan opsi -exec, sintaksnya diberikan di bawah ini,

$ find -exec {} ;

Perintah berikut akan mencari semua file dan mengarahkan ulang namanya ke file /tmp/logsfiles.txt
$ sudo find /var -type f -name ‘*.log’ -exec ls -lah {} ; > /tmp/logfiles.txt

25) Cari File dan ubah izinnya

Misalkan kita ingin mencari semua file yang izinnya 777 dan mengubah izinnya menjadi 644
$ find $HOME -type f -perm 777 -exec chmod 644 {} ;

26 ) Cari Teks dari files

Mari kita asumsikan kita ingin mencari kata kesalahan di semua file log, jalankan command
$ berikut sudo find /var -type f -name ‘*.log’ -exec grep -i ‘error’ {} ;

In perintah di atas kami telah menggabungkan perintah find dan grep untuk menyelesaikan tugas.

Itu saja dari posting ini, Ini adalah beberapa contoh sederhana yang menunjukkan fungsi perintah find & dapat digunakan untuk melakukan tugas pencarian/pencarian berulang yang membosankan dengan lebih mudah.

Baca Juga: 16 Contoh Perintah ‘cp’ yang Berguna untuk Pemula Linux