2009-12-13

mencari file di linux

locate

di linux ada beberapa metode untuk mencari file. gw dulu memakai metode locate, tetapi locate ini mempunyai kelemahan..yaitu harus menjalankan command updatedb dulu supaya mengupdate database file yang ada di sistem, jangan dikira command updatedb lgsg jadi, makan waktu juga dan pula updatedb ini musti pake sudo jadi ga bisa user biasa .. jadi step-nya :
detanto@detantoCQ45:~$ sudo updatedb
[sudo] password for detanto
kemudian kita masukkan file yang kita cari, seumpama kita mencari file berekstensi conn(file koneksi aquafold datastudio)
detanto@detantoCQ45:~$ locate *.conn
/home/detanto/.datastudio/connections/detantot61.conn
/home/detanto/.datastudio/connections/edp01.conn
/home/detanto/.datastudio/connections/kimsystem.conn
/home/detanto/.datastudio/connections/mysql - lokalhos.conn
find
selain locate ada juga find, hmmm ini yg sekarang sering banget gw pake .. karena lgsg jebret ga perlu update2an segala. cuman memang lebih lelet karena lgsg nyari file di sistem
perintah sering gw pake :
find /(lokasi pencarian) -iname file_yg_dicari
perintah diatas bisa dibaca, cari file_yg_dicari mulai dari root(/) dan ga pedulikan uppercase ato lowercase atau case insensitive (option iname), kalo case sensitive gunakan option -name
perintah find ini bener2 bisa diulik macem2, berikut share dari pengalaman gw tentang beberapa kombinasi command find :
  1. mencari direktori bernama kemas
    detanto@detantoCQ45:~$ find /home/detanto -type d -name kemas
    /home/detanto/.gconf/apps/control-center/network/kemas
    /home/detanto/Documents/NetBeansProjects/unused/kemas-persistence-old/src/id/co/kemas
    /home/detanto/Documents/NetBeansProjects/unused/kemas-persistence-old/build/classes/id/co/kemas
    /home/detanto/Documents/NetBeansProjects/unused/kemas-persistence-old/build/test/classes/id/co/kemas
    /home/detanto/Documents/NetBeansProjects/unused/kemas-persistence-old/test/id/co/kemas
    Type d merupakan direktori, ada banyak pilihan type (dari perintah man find), kalo gw sih seringnya cman pake d sama f doang :D
    b      block (buffered) special
    c character (unbuffered) special
    d directory
    p named pipe (FIFO)
    f regular file
    l symbolic link; this is never true if the -L option or the -follow option is in effect,
    unless the symbolic link is broken. If you want to search for symbolic links when -L is in effect, use -xtype.
    s socket
    D door (Solaris)
  2. mencari file/direktori hidden, tinggal ketik
    find . -type f -name ".*"find . -type d -name ".*"
    titik disini adalah direktori user berada. jadi seumpama kita berada di /home/detanto, perintah ini akan mencari di direktori2 yang ada didalam /home/detanto

  3. mencari file yang yang mengandung "detanto" berukuran diatas 5MB
    detanto@detantoCQ45:~$ find -iname detanto* -size +5M
    /opt/mysql_database/misc/detantonux.err
  4. Mencari file dengan permission tertentu.
    misalnya kita mau mencari file dengan permission 777 dan menampilkannya dengan command ls -l
    detanto@detantoCQ45:~/test$ find . -perm 777 -type f -iname *.txt -exec ls -l {} \;
    -rwxrwxrwx 1 detanto detanto 0 2009-12-13 21:02 ./test1.txt
    misalnya kita mau langsung menghapusnya
    detanto@detantoCQ45:~/test$ find . -perm 777 -type f -iname *.txt -exec rm {} \;
  5. Mencari yang bukan ato find invert

    misal di direktori /home/detanto/test, ada 5 file :
    detanto@detantoCQ45:~/test$ ls -l
    total 0
    -rw-r--r-- 1 detanto detanto 0 2009-12-13 21:41 test1.txt
    -rw-r--r-- 1 detanto detanto 0 2009-12-13 21:02 test2.txt
    -rw-r--r-- 1 detanto detanto 0 2009-12-13 21:02 test3.txt
    -rw-r--r-- 1 detanto detanto 0 2009-12-13 21:02 test4.txt
    -rw-r--r-- 1 detanto detanto 0 2009-12-13 21:02 test5.txt
    Kita mau mencari yang bukan bernama test2.txt
    detanto@detantoCQ45:~/test$ find . -not -iname test2.txt
    .
    ./test4.txt
    ./test1.txt
    ./test5.txt
    ./test3.txt
hmm apalagi ya, sepertinya yg sering aku pake dan hasil browsing2 di internet cman ini, nanti kalo ada lagi aku tambahin di sini :D

Tidak ada komentar: