Wednesday, 27 November 2013

Manajemen File & Direktori

Melihat daftar direktori
$ pwd
/home/user/praktikum
$ ls
text1 text2 text3 text4 text5
$ ls /home/user/praktikum
text1 text2 text3 text4 text5

Menampilkan daftar direktori dengan format yang panjang
     Dengan tambahan -l (long) dan -a (all) untuk menampilkan daftar direktori dengan format panjang.
$ ls -al
total 24

drwxrwxr-x. 2 user group 4096 2009-08-11 21:21 .
drwx------. 35 user group 4096 2009-08-12 10:55 ..
-rw-rw-r--. 1 ian ian 24 2009-08-11 14:02 text1
-rw-rw-r--. 1 ian ian 25 2009-08-11 14:27 text2
-rw-rw-r--. 1 ian ian 63 2009-08-11 15:41 text3
-rw-rw-r--. 1 ian ian 26 2009-08-11 15:42 text4
-rw-rw-r--. 1 ian ian 24 2009-08-11 18:47 text5
-rw-rw-r--. 1 ian ian 98 2009-08-11 21:21 text6

     Hasil ls-l diatas berarti:

  1. Kolom pertama, salah satu yang terlihat seperti sekelompok omong kosong, menunjukkan jenis file dan perizinan. 
  2. Kolom kedua menunjukkan jumlah link (entri direktori yang merujuk ke file), 
  3. Kolom ketiga menunjukkan pemilik file,
  4. Kolom keempat menunjukkan kelompok pemilik file. Kolom lain menunjukkan ukuran file dalam byte, tanggal dan waktu modifikasi terakhir, dan nama file.

    Karakter pertama menunjukkan :

  •  d = directory
  • - = regular file
  • l = symbolic link
  • s = Unix domain socket
  • p = named pipe
  • c = character device file
  • b = block device file

    Lalu, 9 karakter berikutnya menyatakan perizinan. Dibagi menjadi 3 grup, tiap grup 3 karakter mewakili: read, write, dan execute. Karakter tersebut mudah untuk diingat, diantaranya :

  •  r = read permission
  • w = write permission
  • x = execute permission
  • - = no permission
Sorting
     Secara default, ls menampilkan dafar file yang diurutkan secara alfabet. Kita dapat menambahkan
pilihan untuk mengurutkannya berdasarkan waktu atau berdasarkan ukuran file. ls -lt akan
mengurutkan daftar file berdasarkan waktu (dari yang terbaru hingga terlama). Sedangkan untuk
mengurutkan berdasarkan ukuran file bisa menggunakan ls -lS (dari yang terbesar hingga yang
terkecil).
     Dengan tambahan -r dapat membalikkan urutan. Misal, dengan ls -lrt berarti
mengurutkan daftar file dari yang terlama hingga yang terbaru.

Copying, moving, and deleting file

  1. cp digunakan untuk menyalin satu atau banyak file atau direktori.
  2. mv digunakan untuk memindahkan atau memberi nama baru pada satu atau banyak file atau direktori.
  3. rm digunakan untuk menghapus satu atau banyak file atau direktori.
Ada beberapa pilihan yang berguna untuk perintah cp dan mv:

  1. -f atau --force memungkinkan cp untuk mencoba menghapus file yang sudah ada walaupun file tidak dapat ditulis.
  2. -i atau --interactive akan meminta konfirmasi sebelum mencoba untuk mengganti file yang ada.
  3. -b atau --backup akan membuat cadangan dari file yang akan diganti direktori.

Membuat dan menghapus direktori

  1. Membuat banyak direktori

          $ mkdir dir1 dir2
                 Jika ingin membuat subdirektori bersarang, maka tinggal tambahkan -p setelah perintah mkdir
          $ mkdir -p d1/d2/d3
                 Jika pilihan -p tidak ditambahkan, maka akan terjadi error
                 mkdir: cannot create directory `d1/d2/d3': No such file or directory
     2.  Menghapus direktori
          $ cp text1 d1/d2
          $ rmdir -p d1/d2/d3 dir1 dir2
          -p = parent (sama dengan yang digunakan di mkdir)
          pasti akan muncul error
          rmdir: failed to remove directory `d1/d2': Directory not empty
         
          karena rmdir hanya akan menghapus direktori yang kosong, jadi hapus dulu file text1 di d1/d2
          $ rm d1/d2 text1
          $ rmdir -p d1/d2

     3.  Menghapus file atau direktori secara rekursif
          Jika terdapat banyak file atau direktori yang ingin kita hapus, kita bisa menggunakan perintah rm                   dengan tambahan -r (atau -R atau --recursive)
          $ rm -r d1

     4.  Membuat file kosong
          Kita dapat membuat file kosong dengan perintah touch, bisa dengan tambahan ekstensi atau tidak
          $ touch file1 file2 file3

     5.  Menggunakan perintah find
          Perintah find digunakan untuk mencari file atau direktori, bisa dicari berdasarkan nama, tipe, atau
          waktu.
          $ find . -name “text”
          Perintah diatas digunakan untuk mencari file di current directory dengan nama text. Untuk pencarian
          berdasarkan tipe dan waktu silahkan cari sendiri :D

Kompresi file
     Ketika ingin membuat cadangan, arsip atau mengirimkan file yang banyak, biasanya kita menggunakan kompresi. Dalam lingkungan linux, ada dua program yang populer untuk kompresi yaitu gzip dan bzip2. Perintah gzip menggunakan algoritma Lempel-Ziv, sementara bzip2 menggunakan algoritma Burrows-Wheeler.

1. Kompresi dengan gzip
       $ cp /etc/services .
       $ ls -l
       $ gzip services
       $ ls -l
       Lihat perbedaan ukuran file services sebelum dan sesudah di kompres.
       Tambahkan -d untuk dekompresi.
       $ gzip -d services.gz

2.  Kompresi dengan bzip2
     $ bzip2 services
     gunakan perintah bunzip2 untuk dekompresi file bzip2
     $ bunzip2 services.bz2

LINUX FILE PERMISSION

Ada tiga jenis izin akses di Linux: read, write, dan execute.
Read
Pada file biasa, read berarti file dapat dibuka dan dibaca.  Pada sebuah direktori, read berarti Anda dapat melihat daftar isi direktori.

Write
Pada file biasa, ini berarti Anda dapat memodifikasi file, alias menulis data baru ke file.  Pada sebuah direktori, write berarti Anda dapat menambah, menghapus, dan mengubah nama file dalam direktori. Ini berarti bahwa jika file memiliki izin write, Anda diperbolehkan untuk memodifikasi isi file, tetapi Anda diperbolehkan untuk mengubah nama atau menghapus file hanya jika hak akses direktori file yang memungkinkan Anda untuk melakukannya.

Execute
Pada sebuah file biasa, ini berarti Anda dapat menjalankan file sebagai program atau shell script. Pada sebuah direktori, execute (disebut juga "searchbit") memungkinkan Anda untuk mengakses file dalam direktori dan memasukkannya

Melihat Hak Akses File
        Melihat hak akses dengan mengetikkan perintah ls -l dan muncul daftar direktori:


               Arti dari gambar diatas :

  • Kolom pertama, salah satu yang terlihat seperti sekelompok omong kosong, menunjukkan jenis file dan perizinan.
  • Kolom kedua menunjukkan jumlah link (entri direktori yang merujuk ke file).
  • Kolom ketiga menunjukkan pemilik file, dan yang keempat menunjukkan kelompok pemilik file.
  • Kolom lain menunjukkan ukuran file dalam byte, tanggal dan waktu modifikasi terakhir, dan nama file.


             Karakter pertama menunjukkan :

            d = directory
            -  = regular file
            l = symbolic link
            s = Unix domain socket
            p = named pipe
            c = character device file
            b = block device file

               Lalu, 9 karakter berikutnya menyatakan perizinan. Dibagi menjadi 3 grup, tiap grup 3 karakter mewakili: read, write, dan execute. Karakter tersebut mudah untuk diingat,

diantaranya :

    r = read permission

    w = write permission

    x = execute permission

    - = no permission

Mengatur Hak Akses

      Perintah untuk mengatur hak akses file dengan menggunakan "chmod"

      Mode simbolik

            Pertama, Anda memutuskan apakah Anda mengatur hak akses bagi:

            pengguna (u),
            kelompok (g),
            lainnya (o), atau
            ketiganya (a).

            Kemudian, Anda menambahkan:

            izin (+),
            hapus (-), atau
            menghapus izin sebelumnya dan menambahkan yang baru (=).

            Selanjutnya, Anda memutuskan apakah Anda mengatur izin:

            read (r),
            write (w),
            atau execute (x).

            Terakhir, Anda akan memberitahu chmod, hak akses file mana yang ingin Anda ubah.

            Contoh:
                                        $ chmod a=r contohfile
           

            Setelah perintah, izin file itu akan menjadi -r--r--r--
                                   

                                        $ chmod g+x contohfile


           Setelah perintah, izin file itu akan menjadi -r--r-xr--



     2.  Mode Numerik

          Dalam mode numerik, hak akses file tidak diwakili oleh karakter. Sebaliknya, mereka diwakili oleh tiga digit nomor oktal.

        4 = read (r)
        2 = write (w)
        1 = execute (x)
        0 = tidak ada izin (-)


         Contoh mode numerik karakter hak akses:

        izin rwx adalah 4 +2 +1 = 7,
        rx adalah 4+1 = 5, dan
        rw adalah 4 +2 = 6.


        Contoh Mode numerik hak akses:

                                               $ chmod 755 contohfile

               Perintah diatas akan mengubah hak akses contohfile menjadi -rwxr-xr-x. Pemilik

       akan memiliki hak akses penuh, read, write, dan execute (7 = 4 +2 +1), grup dan yang

       lain akan memiliki hak akses read dan execute (5 = 4 +1).