Penggunaan perintah “find” di linux console
#1
Postingan ini ane buat khusus buat kekasih tercinta ane fusae nomiya chan Tongue
echo “semoga cinta kami abadi” > /etc/hosts

1. Fungsi find untuk mencari file dengan nama atau exten tertentu

Code:
zee@eichel:~# find -name "index.html"
./Downloads/HoneyWeb-0.4/html/index.html
./1587/index.html
./Trac-0.12.2/trac/templates/index.html

2. Fungsi find untuk mencari file dengan nama atau exten tertentu namun tidak memperdulikan adanya perbedaan dalam penggunaan huruf besar/kecil [upercase/lowercase]

Code:
zee@eichel:~# find -iname "index.html"
./Downloads/HoneyWeb-0.4/html/index.html
./1587/index.html
./Trac-0.12.2/trac/templates/index.html
./game/dota/support/Layout/Index.html

3. Fungsi find untuk mencari file dengan nama atau exten tertentu pada directory yang ditentukan

Code:
zee@eichel:~# find / -name passwd
/var/lib/rkhunter/tmp/passwd
/etc/pam.d/passwd
/etc/passwd
/usr/local/etc/3proxy/passwd
/usr/local/etc/raddb/modules/passwd
/usr/bin/passwd
/usr/share/doc/passwd
/usr/share/lintian/overrides/passwd
/pentest/libs/freeradius-wpe/raddb/modules/passwd
/boot/tmp/etc/passwd

hasil di atas adalah fungsi yang mencari file bernama “passwd” dalam directory root [/]

Fungsi find di bawah ini berfungsi untuk mencari file bernama “passwd” dalam directory [/] dan diukur kedalaman sub-direktori yang ditentukan untuk mencari.

Code:
zee@eichel:/# find -maxdepth 2 -name passwd
./etc/passwd
zee@eichel:/# find -maxdepth 3 -name passwd
./etc/pam.d/passwd
./etc/passwd
./usr/bin/passwd
zee@eichel:/# find -maxdepth 4 -name passwd
./etc/pam.d/passwd
./etc/passwd
./usr/bin/passwd
./usr/share/doc/passwd
./boot/tmp/etc/passwd

kalau kita mau nyari pada kedalaman sub directory antara 2-4

Code:
zee@eichel:/# find -mindepth 3 -maxdepth 5 -name passwd
./var/lib/rkhunter/tmp/passwd
./etc/pam.d/passwd
./usr/local/etc/3proxy/passwd
./usr/bin/passwd
./usr/share/doc/passwd
./usr/share/lintian/overrides/passwd
./boot/tmp/etc/passwd
4. mencari file dengan nama tertentu dengan exten tertentu sekalgus mengkalkulasi md5 nya…

Code:
zee@eichel:/# find -iname "passwd" -exec md5sum {} \;
0df84000b51757b222639810e67b87e3 ./var/lib/rkhunter/tmp/passwd
eaf2ad85b5ccd06cceb19a3e75f40c63 ./etc/pam.d/passwd
b6af8b4176c7aaa70e286803f142a667 ./etc/passwd
d41d8cd98f00b204e9800998ecf8427e ./usr/local/etc/3proxy/passwd
139300be04dee3bcb71cacb21feed9f9 ./usr/local/etc/raddb/modules/passwd
68f004bbd83e746ae25c5a982e19e7ed ./usr/bin/passwd
md5sum: ./usr/share/doc/passwd: Is a directory
98ab0212803f58e44a0c7526b910397f ./usr/share/lintian/overrides/passwd
139300be04dee3bcb71cacb21feed9f9 ./pentest/libs/freeradius-wpe/raddb/modules/passwd
3bc6768686053f49bf134a44191480e5 ./boot/tmp/etc/passwd

5. Mencari file namun bukan atau selain file dengan nama yang ditentukan

Code:
zee@eichel:/etc# find -maxdepth 1 -not -iname "wvdial.conf"
.
./init
./snmp
./console-setup
./gimp
./lsb-base-logging.sh
./rsyslog.conf
./compizconfig
./kernel-img.conf
./login.defs
./alternatives
./texmf
./insserv.conf
./motd
./mailcap.order
./updatedb.conf
./ffserver.conf
./ld.so.conf.d
./resolv.conf
./netbeans.conf
./cups
./sysctl.d
./services
./sensors.d
./ca-certificates.conf
./ConsoleKit
./crontab
./rc0.d
./squid3
./network
./rpc
./calendar
./iproute2
./perl
./ircd
./xdg
./cvs-cron.conf
./bash_completion.d
./cron.weekly
./sensors3.conf
./gssapi_mech.conf
./sgml
./insserv
./cmrfid.ini
./libreoffice
./ldap
./OpenCL
./hosts.allow
./gai.conf
./hdparm.conf
./rsyslog.d
./vpnc
./pango
./kde3
./rkhunter.conf
./.pwd.lock
./pyxrc
./p0f
./pm
./python
./ld.so.cache
./insserv.conf.d
./ltrace.conf
./netscsid.conf
./pnm2ppa.conf
./blkid.conf
./kbd
./discover.conf.d
./gtk-2.0
./mke2fs.conf
./rc4.d
./apt
./ld.so.conf
./reader.conf.old
perhatikan kalau fungsi ini mencari file selain wvdial.conf

6. Fungsi berikut untuk mencari file dengan bentuk hampir sama namun memiliki keunikan dalam incode number

agar memudahkan kita langsung praktek , kita buat file yang dengan nama sama

Code:
zee@eichel:~# touch "zeeganteng"
zee@eichel:~# touch "zeeganteng "
perhatikan pada file ke dua zeeganteng saya kasi tanda spasi .. jika kita liat dalam fungsi dir

Code:
zee@eichel:~# ls -1 zee*
zeeganteng
zeeganteng
Nah untuk melihat perbedaan incode number [ inum ]

Code:
zee@eichel:~# ls -i1 zee*
14680191 zeeganteng
14686260 zeeganteng

kita dapat menggunakan fungsi ini untuk membedakan 2 file tersebut berdasarkan incode number [ inum ] dan langsung rename ke nama yang berbeda [ mv ]
Code:
zee@eichel:~# find -inum 14686260 -exec mv {} zeeganteng1 \;

hasilnya adalah

Code:
zee@eichel:~# ls -1 zee*
zeeganteng
zeeganteng1

nah perhatikan hasilnya, saya berhasil merubah file yang memiliki keunikan tadi dengan menambahkan angka 1 di belakangnya .

7. Fungsi find untuk meremove file yang hampir sejenis atau namanya hampir sama

ok kita coba langsung praktek ..

sebagai contoh dan agar mudah di mengerti coba kita buat 3 file

Code:
zee@eichel:~# touch index.html
zee@eichel:~# touch index1.html
zee@eichel:~# touch index2.html

kita cek incode numbernya …

Code:
zee@eichel:~# ls -i1 index*
14680191 index1.html
14686388 index2.html
14683085 index.html
coba kita remove sesuai dengan incode number yang diinginkan

Code:
zee@eichel:~# find -inum 14680191 -exec rm {} \;
zee@eichel:~# ls -i1 index*
14686388 index2.html
14683085 index.html
zee@eichel:~# ls -1 index*
index2.html
index.html

8. Mencari file dengan patokan permission tertentu

Untuk memperjelas kembali lagi kita bikin file tertentu

Code:
zee@eichel:~# mkdir permission
zee@eichel:~# cd permission
zee@eichel:~/permission# touch permission1
zee@eichel:~/permission# touch permission2
zee@eichel:~/permission# touch permission3
zee@eichel:~/permission# ls
permission1 permission2 permission3
zee@eichel:~/permission# chmod 755 permission1
zee@eichel:~/permission# chmod 644 permission3
zee@eichel:~/permission# chmod 755 permission2

mari kita lihat permission dari masing2 file

Code:
zee@eichel:~/permission# ls -l
total 0
-rwxrwxrwx 1 root root 0 2011-11-08 00:11 permission1
-rwxr-xr-x 1 root root 0 2011-11-08 00:11 permission2
-rw-r--r-- 1 root root 0 2011-11-08 00:11 permission3

nah sudah berbeda-beda tuh Tongue

nah kita coba mencari file yang dapat di baca oleh all [ world ] terlepas dari permission file lainnya

Code:
zee@eichel:~/permission# find . -perm -g=r -type f -exec ls -l {} \;
-rwxr-xr-x 1 root root 0 2011-11-08 00:11 ./permission2
----r----- 1 root root 0 2011-11-08 00:15 ./permission4
-rw-r--r-- 1 root root 0 2011-11-08 00:11 ./permission3
-rwxrwxrwx 1 root root 0 2011-11-08 00:11 ./permission1

nah kita coba bikin file dengan permission hanya untuk group
Code:
zee@eichel:~/permission# touch permission4
zee@eichel:~/permission# chmod 040 permission4
nah gunakan perintah find untuk mencari file dengan permission diatas

Code:
zee@eichel:~/permission# find . -perm g=r -type f -exec ls -l {} \;
----r----- 1 root root 0 2011-11-08 00:15 ./permission4

Untuk pencarian dengan octal contohnya begini

Code:
zee@eichel:~/permission# find . -perm 040 -type f -exec ls -l {} \;
----r----- 1 root root 0 2011-11-08 00:15 ./permission4
zee@eichel:~/permission# find . -perm 777 -type f -exec ls -l {} \;
-rwxrwxrwx 1 root root 0 2011-11-08 00:11 ./permission1
zee@eichel:~/permission# find . -perm 755 -type f -exec ls -l {} \;
-rwxr-xr-x 1 root root 0 2011-11-08 00:11 ./permission2

9. Mencari file dengan bytes kosong [empty file]

Code:
zee@eichel:/# find ~ -empty
/root/.filezilla/lockfile
/root/.gconf/desktop/gnome/session/%gconf.xml
/root/.gconf/desktop/gnome/%gconf.xml
/root/.gconf/desktop/gnome/peripherals/keyboard/host-zee-eichel/%gconf.xml
/root/.gconf/desktop/gnome/peripherals/keyboard/host-bt/%gconf.xml
/root/.gconf/desktop/gnome/peripherals/keyboard/%gconf.xml
/root/.gconf/desktop/gnome/peripherals/keyboard/host-server-2-ibteam/%gconf.xml
/root/.gconf/desktop/gnome/peripherals/keyboard/host-eichel/%gconf.xml
/root/.gconf/desktop/gnome/peripherals/keyboard/host-actual-non-expired-domain-name@46@com/%gconf.xml

banyak banget pasti dapetnya hahaha ane potong …soalnya gk di batesin sekarang coba kita batesin dengan maxdepth agar hanya pada di mana directory anda memulai command

Code:
zee@eichel:/# find . -maxdepth 1 -empty
./lost+found
./mnt
./selinux
./cdrom

kalau kita batasi pencarian kita hanya kepada file kosong yang tidak terhidden

Code:
zee@eichel:~# find . -maxdepth 1 -empty -not -name ".*"
./music
./fimap.log
./Templates
./Public

maka hasil search akan mencari file2 kosong yang tidak di hiden
bedakan dengan perintah yang sudah di bahas sebelum point ini

Code:
zee@eichel:~# find . -maxdepth 1 -empty
./music
./fimap.log
./.wicd
./Templates
./.gnome2_private
./.gvfs
./.scapy_history
./Public
./.nautilus
./.debtags
./.qt

10. Mencari file 10 terbesar dalam directory

Code:
zee@eichel:~# find . -type f -exec ls -s {} \; | sort -n -r | head -10
pada head bisa kita ganti dengan angka berapa saja untuk mengganti batasan ranking

11. Mencari file 10 terkecil dalam directory

Code:
zee@eichel:~# find . -type f -exec ls -s {} \; | sort -n | head -10
biasanya pada perintah di atas akan di tampilkan file2 kosong [empty]. semisal anda memiliki 10 file kosong .. biasanya di list jadi file terkecil. kalau mau menampilkan file yang kemungkinan lebih kecil dari file2 kosong dan tidak termasuk file kosong variasi perintahnya

Code:
zee@eichel:~# find . -not -empty -type f -exec ls -s {} \; | sort -n | head -5

12. Mencari file berdasarkan type

Mencari hanya file socket saja …

Code:
zee@eichel:/# find . -type s
./dev/log
find: `./proc/27229/task/27229/fd/5': No such file or directory
find: `./proc/27229/task/27229/fdinfo/5': No such file or directory
find: `./proc/27229/fd/5': No such file or directory
find: `./proc/27229/fdinfo/5': No such file or directory
./var/run/dbus/system_bus_socket
./tmp/ssh-XGmCAD1541/agent.1541
./tmp/orbit-root/linc-f84-0-31da1145c02a7
./tmp/orbit-root/linc-6cc-0-6a960e653ec45
./tmp/orbit-root/linc-6b5-0-2f30ea0595ff3
./tmp/orbit-root/linc-65a-0-470bac24c4053
./tmp/orbit-root/linc-644-0-252ff2ebad90

Mencari seluruh directory

Code:
zee@eichel:/# find . -type d

batasi pada dir tertentu saja

Code:
zee@eichel:/# find . -maxdepth 1 -type d
./dev
./proc
./var
./etc
./tmp
./tesroot
./usr
./opt
./home

Mencari hanya normal file

Code:
zee@eichel:~# find . -maxdepth 1 -type f
./.Xauthority
./.recently-used.xbel
./.viminfo
./.profile
./.bash_history
./fimap.log
./snapshot8.jpeg
./.armitage.prop
Mencari tipe hidden file saja

Code:
zee@eichel:~# find . -maxdepth 1 -type f -name ".*"
./.Xauthority
./.recently-used.xbel
./.viminfo
./.profile
./.bash_history
./.armitage.prop

Mencari tipe directory hidden saja

Code:
zee@eichel:~# find -maxdepth 1 -type d -name ".*"
.
./.xine
./.filezilla
./.gconf
./.w3af
./.compiz
./.kismet
./.msf4
13. Cari file dengan membandingkan dengan waktu modifikasi file lain.

mari kita cek terlebih dahulu dengan perintah ls di tambah penampilan tanggal modifikasi terakhir

Code:
zee@eichel:~# ls -lrt
total 2600
drwxr-xr-x 10 root root 4096 2011-02-01 05:06 Trac-0.12.2
drwxr-xr-x 2 root root 4096 2011-08-18 14:46 crack
drwxr-xr-x 2 root root 4096 2011-08-21 15:10 azz
drwxr-xr-x 4 root root 4096 2011-08-23 01:25 1587
drwxr-xr-x 2 root root 4096 2011-09-01 02:58 buku
-rw-r--r-- 1 root root 0 2011-09-16 00:32 fimap.log
drwxr-xr-x 7 root root 4096 2011-10-05 17:52 virtual
drwxr-xr-x 8 root root 4096 2011-10-13 17:27 cs3
drwxr-xr-x 3 root root 4096 2011-10-13 17:27 materi
drwxr-xr-x 3 root root 4096 2011-10-14 23:37 squid
-rw-r--r-- 1 root root 27936 2011-10-18 14:33 pasamba1_wrdp2.sql
drwxr-xr-x 2 root root 4096 2011-10-18 19:25 Templates
drwxr-xr-x 2 root root 4096 2011-10-18 19:25 Public
drwxr-xr-x 2 root root 4096 2011-10-19 13:48 music
drwxr-xr-x 4 root root 4096 2011-10-19 13:56 game
-rw-r--r-- 1 root root 2208361 2011-10-23 17:31 Trac-0.12.2.tar.gz
drwxr-xr-x 6 root root 4096 2011-10-25 14:29 artillery
drwxr-xr-x 6 root root 4096 2011-10-27 15:05 VirtualBox VMs
-rw-r--r-- 1 root root 219364 2011-10-29 07:39 snapshot7.jpeg
-rw-r--r-- 1 root root 397 2011-11-03 19:10 honeyd.conf
-rw-r--r-- 1 root root 177 2011-11-03 19:16 192.168.1.13
drwxr-xr-x 2 root root 4096 2011-11-05 02:39 Pictures
drwxr-xr-x 3 root root 4096 2011-11-05 02:40 Videos
drwxr-xr-x 7 root root 4096 2011-11-05 02:40 Music
drwxr-xr-x 7 root root 4096 2011-11-05 02:41 Documents
drwxr-xr-x 5 root root 4096 2011-11-05 02:42 Downloads
-rw-r--r-- 1 root root 95995 2011-11-05 02:52 snapshot8.jpeg
drwx--x--x 5 531 527 4096 2011-11-05 10:23 Desktop
-rwxr-xr-x 1 root root 1528 2011-11-06 06:09 findshell.py
drwxr-xr-x 2 root root 4096 2011-11-08 00:15 permission
nah sebagai contoh
Perintah find berikut menampilkan semua file yang dibuat / diubah setelah honeyd.conf

Code:
zee@eichel:~# find -newer honeyd.conf

karna hasilnya banyak sekali gk ane paste di sini .. di coba sendiri saja ya…
Code:
zee@eichel:~# find -anewer honeyd.conf

kebalikan perintah barusan , perintah di atas berfungsi untuk mencari file yang telah di akses setelah honeyd.conf di modifikasi atau di buat

Code:
zee@eichel:~# find -cnewer honeyd.conf

mencari file-file yang telah di rubah sesudah honeyd.conf di modifikasi atau di buat

14. Mencari file berdasarkan ukuran file [ size ]

jika kita ingin mencari file yang memiliki size lebih besar dari size yang ditentukan [ contoh lebih besar dari 100 mb ]

Code:
zee@eichel:~# find ~ -size +100M
/root/Downloads/win7.iso
/root/Downloads/BT5R1-GNOME-32.iso
/root/cs3/Adobe CS3/payloads/AdobePhotoshop10en_US/AdobePhotoshop10en_US1.cab
/root/cs3/Adobe CS3/payloads/AdobeSoundboothAll/AdobeSoundboothAll1.cab
/root/cs3/Adobe CS3/payloads/AdobeEncore3All/AdobeEncore3All1.cab
/root/cs3/Adobe CS3/payloads/AdobeIllustrator13en_US/AdobeIllustrator13en_US1.cab
Silahkan di variasikan dengan perintah2 lainnya

Code:
zee@eichel:~# find -type f -size +10M
./Downloads/win7.iso
./Downloads/Continuum(1).zip
./Downloads/Continuum.zip
./Downloads/Doc Word Metasploit.mp4
./Downloads/BT5R1-GNOME-32.iso
./Downloads/idbacktr_board.sql
./Documents/backup/tes.zip
perintah di atas mencari file bertipe normal file yang memiliki ukuran di atas 10M. Kalau mencari file yang memiliki file di bawah ukuran yang ditentukan
Code:
zee@eichel:~# find ~ -size -100M

karena hasilnya sangat banyak tidak saya muat disini … hehehe

kalau kita variasikan

Code:
zee@eichel:~# find -maxdepth 1 -size -100M
.
./.xine
./.filezilla
./.gconf
./.Xauthority
./.recently-used.xbel
./Pictures
./.viminfo
./.profile
./.w3af
./music
./.compiz
Untuk mencari file dengan ukuran yang ditentukan .. gunakan perintah di bawah ini

Code:
zee@eichel:~# find ~ -size -80M

perintah tersebut berfungsi untuk mencari file dengan ukuran 80

15. Menghapus file-file dengan extension tertentu dan dalam ukuran tertentu

contoh :
Code:
zee@eichel:~# find / -type f -name *.zip -size +50M -exec rm -i {} \;"
contoh di atas sebenarnya di gunakan untuk meremove semua file dalam bentuk zip archieve di atas size 50M .. bisa di ganti dengan berbagai file extension lainnya dan dalam ukuran lainnya

16. Mencari file dengan waktu akses,modifikasi/di buat yang lebih spesifik

Untuk itu perhatikan terlebih dahulu patokan syntax dalam menggunakan fungsi file ini. Patokan di bawah ini di gunakan untuk mencari file yang di modifikasi [m=modifikasi] dalam waktu tertentu

Quote:-mmin n [ indikasi file yang di modifikasi dalam beberapa menit [ nilai n ] lalu ]
-mtime n [ indikasi file yang di modifikasi [ nilai n*24jam/1 hari ] lalu ]

Code:
zee@eichel:~# find . -mmin -60
./.xsession-errors
./.mozilla/firefox/nq474mcm.default
./.mozilla/firefox/nq474mcm.default/sessionstore.js
./.mozilla/firefox/nq474mcm.default/places.sqlite
./.mozilla/firefox/nq474mcm.default/cookies.sqlite
./.mozilla/firefox/nq474mcm.default/cookies.sqlite-wal
./.mozilla/firefox/nq474mcm.default/prefs.js
./.mozilla/firefox/nq474mcm.default/places.sqlite-shm

contoh di atas adalah untuk Mencari file yang telah di modifikasi 60 menit ( jam )

Code:
zee@eichel:~# find /root -mtime -1
/root/.config/vlc/vlc-qt-interface.conf
/root/.config/vlc/vlcrc
/root/.config/gtk-2.0
/root/.config/gtk-2.0/gtkfilechooser.ini
/root/.config/cairo-dock
/root/.config/cairo-dock/.cairo-dock-need-save
/root/.config/cairo-dock/.cairo-dock-last-version
/root/game/dota
/root/game/dota/replay
/root/game/dota/replay/LastReplay.w3g
/root/game/dota/bncache.dat

contoh perintah di atas untuk mencari file yang di buat satu hari [1x24h] yang lalu dalam directory root

Penggunaan lainnya, kalau tadi berdasarkan modifikasi sekarang kita coba yang berdasarkan akses pada waktu tertentu [a=akses] dengan patokan di bawah ini.

Quote:-amin n [ indikasi file yang di akses dalam beberapa menit [ nilai n ] lalu ]
-atime n [ indikasi file yang di akses [ nilai n*24jam/1 hari ] lalu ]
Code:
zee@eichel:~# find -amin -60
./.subversion/config
./.subversion/servers
./.mozilla/firefox/nq474mcm.default
./.mozilla/firefox/nq474mcm.default/sessionstore.js
./.mozilla/firefox/nq474mcm.default/places.sqlite
./.mozilla/firefox/nq474mcm.default/cookies.sqlite-wal
./.mozilla/firefox/nq474mcm.default/prefs.js
contoh di atas adalah file yang di akses 60 menit yang lalu

Code:
zee@eichel:~# find / -atime -1

contoh diatas adalah file yang telah di akses satu hari yang lalu , hmmm karena hasilnya kepanjangan sekali lagi gak ane paste di sini, silahkan teman2 coba sendiri deh Tongue

Masih ada penggunaan lainya ,tadi kita sudah mencoba varian akses dan modification , sekarang kita coba file yang di rubah [ c=change ] dengan ketentuan berikut

Quote:-cmin n [ indikasi file yang di rubah dalam beberapa menit [ nilai n ] lalu ]
-ctime n [ indikasi file yang di rubah [ nilai n*24jam/1 hari ] lalu ]
Code:
zee@eichel:~# find . -cmin -45
./.xsession-errors
./.mozilla/firefox/nq474mcm.default
./.mozilla/firefox/nq474mcm.default/sessionstore.js
./.mozilla/firefox/nq474mcm.default/places.sqlite
./.mozilla/firefox/nq474mcm.default/cookies.sqlite
./.mozilla/firefox/nq474mcm.default/cookies.sqlite-wal

contoh di atas adalah untuk mencari file-file yang telah mengalami perubahan [ change ] 45 menit lalu
Code:
zee@eichel:~# find . -ctime -3

contoh di atas adalah untuk mencari file-file yang telah mengalami perubahan 3 hari belakangan ini..

variasi-variasi lainnya

Code:
zee@eichel:~# find /root/ -amin -30
/root/.mozilla/firefox/nq474mcm.default
/root/.mozilla/firefox/nq474mcm.default/sessionstore.js
/root/.mozilla/firefox/nq474mcm.default/cookies.sqlite-wal
/root/.mozilla/firefox/nq474mcm.default/prefs.js
/root/.mozilla/firefox/nq474mcm.default/urlclassifier3.sqlite
/root/.cache/vlc/art/title/Bukan Cinta Biasa/art
/root/.pulse
contoh di atas adalah untuk mencari file yang telah di akses pada dir root dalam 30 menit lalu ..
ane kasi varian lain biar lebih memahami , untuk mencari file-file non-hidden atau tidak menampilkan file yang terhiden [ liat contoh di bawah ]

Code:
zee@eichel:~# find . -mmin -100 \( ! -regex ".*/\..*" \)
.
./permission
./permission/permission2
./permission/permission4
./permission/permission3
./permission/permission1

17. Mengkombinasikan dengan perintah2 console lainnya

syntax dalam perintah find sebenarnya seperti di bawah ini

Quote:find <CONDITION to Find files> -exec <OPERATION> \;

Operator-operator tersebut antara lain bisa berupa rm , mv , ls -l , md5sum, ec , execute, dll

contoh :
Code:
zee@eichel:~# find -mmin -20
zee@eichel:~# find -mmin -10 -exec ls -l {} \;

Untuk mencari semua file log di bawah dir “/”

Code:
zee@eichel:~# find / -name "*.log"
/var/log/kern.log
/var/log/mail.log
/var/log/boot.log
/var/log/nvidia-installer.log
/var/log/squid3/store.log
zee@eichel:~# find / -xdev -name "*.log"
/var/log/kern.log
/var/log/mail.log
/var/log/boot.log
/var/log/nvidia-installer.log
/var/log/squid3/store.log

penambahan fungsi -xdev bermaksud membatasi pencarian hanya dalam dir system sehingga tidak mencari pada partisi-partisi yang telah di mounted lainnya.

Contoh kombinasi console lainnya jika kita hendak memakai tanda {} lebih dari satu , maka hal itu dapat di mungkinkan. Ane beri contoh ya ..

Code:
zee@eichel:~# find -name "*.html" cp {} {}.bkup \;

perintah di atas sebenarnya adalah mencari semua file dengan format html kemudian mengcopynya dalam bentuk format .bkup sedankan perintah di bawah ini memungkinkan kita untuk menamai ( rename ) semua file dengan ekstension htm ke html

contoh-contoh syntax kombinasi lainnya

Code:
zee@eichel:~# mv "$1" "`basename "$1" .htm`.html"
find -name "*.txt" -exec mv {} `basename {} .htm`.html \;

perintah di atas membandingkan antara perintah mv seluruh file berformat htm ke html dengan perintah find yang terinclude perintah “mv“

wuiihhh ternyata tak terasa udah jam 2:07 di saat ane menulis tutorial ini. hmmm satu lagi ane tambahin jika kita tidak ingin menampilkan pesan error disaat menggunakan fasilitas find ini kita bisa menambahkan /dev/null

Code:
zee@eichel:~# find -name "*.exe" 2>>/dev/null
zee@eichel:~# find / -name "*.conf" 2>>/dev/null
/sbin/generate-modprobe.conf
/boot/grub/grub.conf
[Note: All the "Permission denied" messages are not displayed]

variasi lainnya yang bisa kita pelajari untuk memudahkan kita dalam managemen file di linux adalah di bwah ini
Code:
zee@eichel:~# find . -type f -iname “*.wmv″ -exec rename “s/ /_/g” {} \;

fungsi di atas sebenarnya bermaksud merename semua file yang memiliki spasi , kita tahu bersama kalau spasi itu agak ribet untuk di akses .. nah perintah di atas menambahkan underscore “_” pada semua file yang berspasi.

18. Mengesekusi perintah find pada saat yang bersamaan

sebagai contohnya jika kita hendak mencari file dengan permission 644 kemudian di simpan hasilnya di hasil1.txt dan kemudian mencari file dengan size diatas 25 mb kemudian di simpan hasil pencariannya di file hasil2.txt.

Code:
zee@eichel:~# find / \( -perm -644 -fprintf /root/hasil1.txt '%#m %u %p\n' \) , \ \( -size +25M -fprintf /root/hasil2.txt '%-10s %p\n' \)

19. Menggunakan alias

pukul menunjukan 2:23 AM
ini terakhir deh .. capek juga ane nulis .. cewek ane udah ane anggurin heheh sekarang kita belajar menggunakan alias untuk menjadi perintah pengganti sintax2 find.. ya lumayan buat bikin short command dari pada capek ngetik Tongue

langsung pada contoh ja ya… jika kita ingin meremove [ rm ] semua film bokep yang telah kita download dengan ekstensi wmv ( berhubung pengen tobat wkwkwk )

Code:
zee@eichel:~# alias bersihkandiri="find . -iname porn.wmv -exec rm {} \;"

nah setelah itu kita tinggal memasukan perintah

Code:
zee@eichel:~# bersihkandiri

untuk meremove semua file tadi.. penggunaan perintah find sebenarnya sangat penting untuk kegiatan sysadmin dan security web. dengan mencari file dengan berdasarkan spesifikasi waktu, permission, akses , dll yang sudah kita bahas sama2 tadi kita bisa mendeteksi kegiatan ilegal di server atau kompi kita.

Quote:Ternyata hanya command find saja sudah seribet ini, Dapatkah anda dengan enteng berkata "SAYA SUDAH MENGUASAI LINUX" ????
=))=))

Disadur dari
blog gw
FOLLOW @DutaLinux
for more question and sharing about security and Opensource only

#2
Gileh, banyak banget fungsi find..
saya cuma tahunya perintah "locate" doang =))
Yang putih, yang seharusnya ber-aksi dan berbakat!
Linuxtivist blog

#3
wahaha banyak banget om zee yang ane tau cuman locate sama whereis ahaha Big Grin
let's visit Technomorphosa Heart

#4
mantap nih basic linux abis
senggol dulu jempol'a

#5
good zee.. ini penting untuk di ketahui ...

#6
Mantap omSmile
:tkp:

#7
wah berharga banget buat pengguna baru seperti saya nh om...Ijin simpen juga nh om....

#8
Ini baru 1 command yak om =))
Tapi tetep intinya kreatifitas dalam penggunaan option2 nya ya om :-bd

#9
ini om zee sama perintah find macam dekat banget., keliatan kalo lupa naruh terus hehehe

#10
(03-01-2014, 10:34 PM)Lone Wolf Wrote: Ini baru 1 command yak om =))
Tapi tetep intinya kreatifitas dalam penggunaan option2 nya ya om :-bd

(03-02-2014, 08:01 PM)opticket Wrote: ini om zee sama perintah find macam dekat banget., keliatan kalo lupa naruh terus hehehe

tepat sekali Smile
FOLLOW @DutaLinux
for more question and sharing about security and Opensource only






Users browsing this thread: 1 Guest(s)