Mencari file di linux melalui Terminal
Pencarian file yang biasanya aku lakukan adalah mencari letak file berdasarkan nama file tersebut dengan perintah :
find
/ -name namafile.txt
Find = merupakan perintah pencarian
/ = direktori tempat pencarian
-name = penentuan nama sebagai parameter kunci
Berdasarkan informasi hasil penjelajahan dengan google aku menemukan bahwa:
- Ada beberapa aplikasi pencarian.
- Mencari file dangan nama tertentu.
- Mencari file dengan tipe tertentu.
- Mencari file dengan ukuran tertentu.
- Mencari file yang dimiliki oleh user.
- Melakukan aksi untuk hasil pencarian.
- Mencari file dengan hak akses tertentu
- Dan banyak yang canggih lainnya..,
Kali ini aku akan mencoba menjelaskannya. Ya meskipun copypaste dari source lain, nanti ada kok sourcenya silahkan di cari satu – satu.
- Beberapa macam aplikasi pencarian di linux.
whereis
whereis khusus digunakan untuk mencari file binary, source dan manual page. penggunaanya cukup dengan perintah whereis namaprogram
locate
perintah locate digunakan untuk mencari file berdasarkan basis data yang dipakai updatedb. penggunaanya lebih luas dan umum dari pada whereis
find
perintah find inilah perintah yang luar biasa untuk digunakan.
- Mencari file dengan nama.
Mungkin ini adalah salah satu yang paling banyak digunakan yaitu mencari file berdasarkan namanya. Pada pencarian ini kita bisa menggunakan character wildcard seperti *. Misalnya kita ingin mencari file yang mengandung huruf e didalam nama filenya:
[root@macbook /]
# find ~ -name "*e*"
/root/wget-log
.3
/root/setup-sangoma
.txt
/root/wget-log
.2
/root/
.asterisk_history
/root/nmap-asterisk
.pl
/root/
.gnupg
/secring
.gpg
[root@voip-demo /]
# find -name "?e"
.
/opt/openfire/jre/lib/locale/de
.
/usr/src/kernels/2
.6.18-238.19.1.el5-i686
/arch/sh/boards/se
.
/usr/src/kernels/2
.6.18-238.19.1.el5-i686
/include/config/de
[root@voip-demo /]
# find ~ -name "C*"
/root/CloudLinux-5
.5-i386-DVD.iso
/root/CentOS-6
.0-i386-bin-DVD.iso
Oke udah mengerti kan kalau kita ingin mencari file pada direktori tertentu maka argumen pertama yaitu direktori yang akan kita cari maka pencarian akan dilakuakan pada direktori tersebut sampai sub dirktori dibawahnya.
- Mencari file dengan tipe tertentu.
Program find juga bisa digunakan untuk mencari file berdasarkan tipe tertentu contohnya kita akan mencari direktori-direktori dibawah /usr/local/ maka perintahnya seperti berikut :
[root@voip-demo /]
# find ~ -type d
/root
/root/download
/root/
.gnupg
/root/
.
ssh
[root@voip-demo /]
# find /usr/local/ -type d | wc -l
181
[root@voip-demo /]
# find /dev/ -type b -name "hda*"
/dev/hda
/dev/hda1
/dev/hda2
Pada contoh diatas kita mengkombinasikan argumen type dan name dan berarti anda sudah mengerti cara menggunakan find dengan dua argumen. Untuk notasi tipe-tipe file yang dikenal oleh linux akan dijelaskan seperti berikut:
- b untuk block special
- c untuk character special
- d untuk direktori
- p untuk fifo
- f untuk regular file
- l untuk symbolik link
- s untuk socket
- Mencari file dengan ukuran tertentu
Pencarian ini juga merupakan salah satu yang sering digunakan apalagi oleh seorang administrator untuk mencari file yang kosong atau yang terlalu besar untuk sistem. Pada contoh berikut kita akan mencari file yang berukuran 0 byte :
[root@voip-demo /]
# find /tmp/ -empty
/tmp/
.webmin
/tmp/dotproject-20110818-135332
[root@voip-demo /]
# find ~ -size +200k
/root/wget-log
.3
/root/CloudLinux-5
.5-i386-DVD.iso
/root/wget-log
.2
/root/1KDStaz0
.9.iso
/root/wget-log
[root@voip-demo /]
# find /bin/ -size -10k -type f
/bin/arch
/bin/mountpoint
/bin/doexec
[root@voip-demo /]
# find /bin/ -size 10k -type f
/bin/mktemp
/bin/tracepath
[root@voip-demo /]
# find /bin/ -size +10k -size -20k
/bin/env
/bin/alsaunmute
/bin/false
/bin/link
Gampang banget ngak sih, ya iya lah masa ya iya dong. Dari tadi kan kita mencari file dengan ukuran Kilobyte gimana mencari file yang satuannya lain, nah ini beberapa contoh argumen yang dapat digunakan :
- b untuk blok 512 byte
- c untuk byte
- w untuk word
- k untuk kilobyte (1024)
- M untuk mega byte (1048576)
- G untuk giga byte ( (1073741824)
- Mencari file yang dimiliki oleh user.
Pencarian file berdasarkan kepimikan user dari file tersebut menggunakan perintah :
[root@voip-demo /]
# find / -user root -name "*.iso"
/root/CloudLinux-5
.5-i386-DVD.iso
/root/1KDStaz0
.9.iso
/root/CentOS-6
.0-i386-bin-DVD.iso
- Melakukan aksi untuk hasil pencarian
Dalam melakukan pencarian file dan melakukan perubahan terhadap file yang di temukan kita bisa menggunakan perintah :
Menghapus file yang berakhiran .iso yang ada dalam folder home, sampai ke subdirectory
1
|
find ~ -name “*.iso” - exec rm -rf {} \; |
Memindahkan file yang berakhiran .iso yang ada dalam folder tes, sampai ke subdirectory ke folder backup
1
|
[root@voip-demo ~] # find . -name "*.iso" -exec mv {} /root/backup/ \; |
- Mencari file dengan hak akses tertentu
File-file world-writable, utamanya file sistem, dapat menjadi lubang keamanan jika seorang cracker memperoleh akses ke sistem anda dan memodifikasinya. Selain itu direktori world-writable berbahaya, karena memungkinkan cracker menambah atau menghapus file sesuai keinginannya. Untuk mencari seluruh file world-writable di sistem anda, gunakan perintah berikut:
1
|
root # find / -perm -2 -print |
dan pastikan anda paham mengapa file tersebut world-writable. Dalam operasi normal, terdapat beberapa file writable, termasuk beberapa dari /dev, dan link simbolik.
tautan sumber http://adi.subekti.web.id/mencari-file-di-linux-melalui-terminal.aspx