Operasi File dan Struktur Direktori Sistem Operasi Linux


 Pokok Bahasan: 
        - Operasi File pada Sistem Operasi Linux
        - Struktur Direktori pada Sistem Operasi Linux
Tujuan Belajar:
        - Memahami Organisasi file dan direktori pada sistem operasi Linux
        - Menciptakan dan memanipulasi directory
        - Memahami konsep Link dan Simbolic Link
Dasar Teori:
1.    Organisasi File
Sistem  berkas  Linux  dan  Unix  diorganisir  dalam  struktur  hierarki. Level tertinggi dari system berkas adalah direktori root. Kita dapat  menciptakan file dan directori mulai dari root ke bawah. Direktori adalah file khusus yang berisi nama file  dan  inode (pointer yang  menunjuk  ke  data/isi  file  tersebut).  Secara  logika directori adapat berisi file dan directori lagi (subdirectory).

2.    Direktori Standard
Setelah proses instalasi, Linux menciptakan system file yang baku, terdiri atas directori sebagai berikut :
  • /bin = directori  yang  berisi  file -file  binery  standar  yang  dapat digunakan oleh seluruh user baik user bias maupun super user.
  •  /boot = directori yang berisi file-file untuk booting Linux.
  • /dev = direktori  yang  berisi  file  system  khusus  yang  merupakan refleksi device hardware  yang  dikenali dan digunakan system seperti harddisk, Floppy disk, Flash disk dll.
  •  /etc = directori  yang  berisi  file -file  kinfigurasi  system  dan  hanya boleh diubah oleh super user.
  • /home = direktori yang berisi yang merupakan directori home untuk semua user.
  • /lib = direktori  yang  berisi  file -file  library  yang  diginakan  untuk mendukung kerja kernel Linux.
  • /mnt = merupakan   direktori khusus yang disediakan untuk mounting (mengaitkan) device disk storage ke system dalam bentuk direktori.
  • /proc = berisi file system khusu yang menunjukan data -data kernel setiap saat.
  • /root = direktori home untuk user root (user khusus engan priviledges hampir tak terbatas).
  • /sbin = direktori  yang sama  seperti  direktori/bin,tetapai hanya super user  yang se- baiknya  menggunakan  binary-binary  tersebut  mengikat fungsi-fungsi  binary  yang terdapat di  rektori ini  untuk maintanace system.
  • /tmp = berisi   file-file sementara yang di butuhkan sebuah aplikasi dan file lainnya hasil intalasi user.
  • /var = direktori  yang berisi file penyimpanan log, mailbox dan data-data aplikasi.

 

3.    Tipe File

Pada linux terdapat beberapa buah file yaitu :
  • Ordinary file
  • Direktori
  • Block Devisi (peralatan I/O):
    Merupakan  representasi  dari  peralatan  herdware  yang menggunakan transmisi data per block ( misalnya 1 KB block), seperti disk, floppy, tape.
  • Character Device (peralatan I/O):
    Merupakan representasi  dari  peralatan  hardware  yang menggunakan transmosi data karakter per karakter.
  • Named Pipe (FIFO):
    File   yang   di   gunakan   secara   intern   oleh   system   operasi   untuk komunikas diantara proses.
     

4.    Properti File 

File mempunyai beberapa atribut, antara lain :
  • Tipe file : menentukan tipe dari file
  • Ijin akses : menentukan hak user terhadap file ini
  • Jumlah link : jumlah link untuk file ini
  • Pemilik (owner) :menentukan siapa pemilik file ini.
  • Kelompok (group) : menentukan group yang memiliki file ini
  • Jumlah karakter : menentukan ukuran file dalam byte.
  • Waktu pembuatan : menentukan kapan file terakhir dimodifikasi h.  Nama file : menentukan nama file yang di maksud.

 

5.    Nama File    

Nama file maksimal terdiri dari 255 karakter berupa alfanimerik dan beberapa karakter special  garis  bawah,  titik,  koma,  dan  lainnya  Kecuali  spasi  dan  karakter  linux membedakan huruf kecil dengan huruf besar.

6.    Simbbolic Link
Link adalah  sebuah teknik untuk  memeberikan lebih  dari  satu  file  dengan data yang sama. Bila file asli di hapus, maka data yang baru juga terhapus. Format dari link:
In fileAsli fileDuplikat
fileDuplikat disebut hard link dimana kedua file akan muncul identik (link count = 2) Bila file asli atau  fileDuplikat diubah perubahan akan terjadi pada file lainnya. Symbolic Link diperlukan bila file tersebut di link dengan direktori/file yang berada pada partisi yang berbeda. Tipe file menjadi 1 (link) dan file tersebut menunjuk ke tempat asal.

 

7.    Melihat Isi File

Untuk melihat jenis file menggunakan format :
File filename (s)
Isi file di laporkan dengan deskripsi level tinggi seperti contoh berikut :
File myprog.c letter.txt webpage . html
Keterangan
  • Myprog.c: C program text
  • Letter . txt: ASCII text
  • Webpage:  HTML document text.

8.    Mencari File
Perintah yang dapat digunakan untuk mencari file:
  • find
  • which
  • locate

Tugas Pendahuluan:

1.      Apa yang dimaksud perintah-perintah direktori: pwd, cd, mkdir, rmdir.

-          pwd           : untuk melihat direktori yang sedang aktif.

-          cd              : untuk berpindah dari satu direktori ke direktori yang lain.

-          mkdir         : untuk membuat satu dan sub direktori.

            -          rmdir         : untuk menghapus direktori apabila direktori tersebut kosong.

2.      Apa yang dimaksud perintah-perintah manipulasi file: cp, mv, dan rm(sertakan format yang digunakan.)

-          cp  : untuk mengkopi file atau seluruh direktori.

                   Format : $ cp fileku fileku1, $ ls –l

-          mv : untuk  memindahkan file.

                   Format : $ mv fileku fileku2, $ ls –l

-          rm  : untuk menghapus file.

                   Format : $ rm fileku2, $ ls -l


3.      Jelaskan perbedaan simbolic link menggunakan hard link(direct) dan soft link(indirect)

-          Pada soft link (indirect), symbolic link dapat dilakukan pada file yang tidak ada, symbolic link dapat dibentuk melalui media disk/partisi yang berbeda.

            -          Pada hard link (direct), symbolic link tidak dimungkinkan, symbolic link terbatas                           pada partisi disk yang sama.


4.      Jelaskan maksud dari perintah-perintah: file, find, which, locate, dan grep

-          file             :  untuk melihat dan mencari data pada directory.

-          find           :  untuk mencari suatu file di dalam pohon directory.

-          which        :  untuk mengetahui letak system utility.

-          locate         : untuk mencari file pada semua directory dengan lebih cepat dan ditampilkan dengan path yang penuh.

-          grep           : untuk mencari file yang bernama sesuai pattern yang diberikan dan akan menampilkan baris yang sesuai.

Percobaan: Direktori

Percobaan 1

1.      Melihat direktori HOME



Pada perintah pwd dan echo $HOME berfungsi untuk melihat dimana posisi kita sekarang menggunakan perintah pwd, lalu melihat direktori HOME menggunakan perintah echo $HOME.


2.      Melihat direktori aktual dan parent direktori

Pada percobaan ini kita dapat melihat direktori actual dan parent direktori. Perintah cd . digunakan untuk melihat parent direktori. Jadi, saat kita ketikkan perintah pwd maka akan muncul parent direktori


3.      Membuat satu direktori, lebih dari satu direktori atau subdirektori

Pada percobaan ini kita diperintahkan untuk membuat direktori dan subdirektori menggunakan perintah mkdir, yaitu direktori A yang didalamnya ada direktori D dan didalam D ada subdirektori lagi bernama A. Lalu direktori B yang didalamnya ada subdirektori bernama E. Kemudian kita juga membuat direktori C tanpa subdirektori.


4.      Menghapus satu atau lebih direktori hanya dapat dilakukan pada direktori kosong dan hanya dapat dilakukan oleh pemiliknya kecuali diberikan izin aksesnya.

Pada percobaan tersebut ketika kita ingin menghapus direktori B terdapat pesan error karena direktori B masih berisikan subdirektori F. Sehingga pada perintah selanjutnya kita menghapus subdirektori tersebut terlebih dahulu baru kita bisa menghapus subdirektori B.


5.      Navigasi direktori dengan instruksi cd untuk pindah dari satu direktori ke direktori lain.

 

Pada percobaan ini kita ingin untuk masuk ke direktori bernama C. Namun pada perintah selanjutnya terjadi error, itu disebabkan karena pada perintah yang dimasukkan tidak menyertakan parent direktorinya.

 

Percobaan 2: Manipulasi File

1.      Perintah cp untuk mengkopi file atau seluruh direktori.

 

Pada percobaan ini kita membuat file bernama contoh lalu di copy dengan nama contoh1, setelah itu file contoh di copy kedalam direktori A, dan file contoh dengan contoh 1 di copy kedalam direktori A lalu masuk ke subdirektori D.


2.      Perintah mv untuk memindah file.

Pada percobaan tersebut mv pertama membuat file contoh berpindah menjadi bernama contoh2 dimana file contoh akan hilang, dengan kata lain me-rename file tersebut, setelah itu memindahkan file contoh1 dan contoh2 kedalam direktori A dan masuk ke subdirektori D.


3.      Perintah rm untuk menghapus file.

Pada percobaan ini perintah rm berfungsi untuk menghapus file contoh2 lalu rm –i berfungsi untuk menghapus file dengan konfirmasi user. Dan ketika menggunakan menggunakan perintah rm –rf A C menghapus direktori A dan C beserta isinya.


Percobaan 3: Simbolic Link

1.      Membuat shortcut(File link)

 

 

Symbolic link dapat digunakan untuk memudahkan dalam pembuatan shortcut,  perintah yang digunakan untuk membuat shortcut adalah ln, seperti pada perintah $ ln halo.txt z  perintah ini dimaksudkan untuk membuat duplikasi pada file halo.txt, jadi kita dapat membuka file halo.txt dalam file z dan tidak perlu membuka file  asli yang telah kita buat. Link yang dibuat adalah hard link(ln) dan soft link(ln -s)


Percobaan 4: Melihat isi file

1.      Melihat isi file

Pada percobaan ini kita melihat komposisi pada sebuah file. Pertama file halo.txt yang berisikan text dengan kode ASCII, dan yang kedua file bye.txt yang menyambung dengan link menuju file z.


Percobaan 5: Mencari File

1.      Perintah find

Pada percobaan ini menggunakan perintah find untuk mencari file yang berekstensi .txt pada direktori home, namun outputnya dibelokkan ke file myerror.txt. Lalu perintah $find . –name “*.txt” –exec wc -l ‘{}’ ‘;’, untuk melihat semua file yang berformat “*.txt” secara detail dengan hitungan jumlah baris, kata, dan karakter file.


2.      Perintah which


Pada percobaan tersebut which ls digunakan untuk mengetahui dimana direktori ls


3.      Perintah locate

Pada percobaan ini perintah locate “*.txt” berfungsi mencari lokasi file disemua direktori yang memiliki ekstensi .txt

 

Percobaan 6: Mencari text pada file

1.      Mencari text pada file

Perintah grep digunakan untuk melihat dimana saja kata halo terdapat pada file text. 


Latihan

1.    




-          Perintah $pwd untuk melihat direktori yang sedang aktif

-          Perintah $cd untuk berpindah atau berganti ke direktori lain

-          Perintah $cd .. untuk berpindah atau kembali ke direktori sebelumnya dan kembali ke direktori home

-          Perintah $cd/etc untuk masuk ke direkori etc

-          Perintah $ls –al | more untuk melihat satu layar penuh

-          Perintah $cd – untuk kembali ke direktori home secara langsung

 

2.      Lanjutkan penelusuran pohon pada sistem file menggunakan cd, ls , pwd dan cat. Telusuri direktory /bin, /usr/bin, /sbin, /tmp dan /boot.

-          /bin



 

-          /usr/bin


-          /sbin



-          /tmp



-          /boot


Ø  Perintah $cd untuk masuk ke dalam direktori

Ø  Perintah $ls untuk menampilkan isi dari direktori

Ø  Perintah $pwd untuk melihat direktori aktif

Ø  Perintah $cat untuk menampilkan tipe (contoh : tipenya direktori)

 

3.      Telusuri direktory /dev. Identifikasi perangkat yang tersedia. Identifikasi tty (termninal) Anda (ketik who am i); siapa pemilih tty Anda (gunakan ls –l).

Dari latihan diatas setelah menelusuri direktori /dev dengan perintah cd, di dalam /dev ada daftar perangkat yang tersedia. Kemudian mengidentifikasi terminal yang digunakan menggunakan perintah whoami yang memunculkan user iqbalteja.  Selanjutnya menggunakan perintah ls –l untuk melihat isi dari direktori tersebut.


4.      Telusuri derectory /proc. Tampilkan isi file interrupts, devices, cpuinfo, meminfo dan uptime menggunakan perintah cat . Dapatkah Anda melihat mengapa directory / proc disebut pseudo -filesystem yang memungkinkan akses ke struktur data kernel ?

-          cat interrupts


-          cat devices



-          cat cpuinfo



-          cat meminfo



-          cat uptime



Ø  File interrupts        : Berisi tentang proses apa saja yang terjadi saat ini.

Ø  File devices           : Berisi tentang devices apa saja yang diproses(aktif) pada saat ini.

Ø  File cpuinfo           : Berisi tentang info cpu dan bagaimana prosesnya saat ini.

Ø  File meminfo         : Berisi tentang info memory dan bagaimana prosesnya saat ini.

Ø  File uptime            ; Mengetahui informasi tentang lama system berjalan setelah terakhir reboot atau mati.

Direktori /proc disebut pseudo-filesystem yang memungkinkan akses ke struktur data kernel, disebabkan direktori /proc dibuat diatas RAM dengan sistem file yang diatur oleh kernel itu sendiri, jadi kita bisa melihat info memory, info processor, dsb.


5.      Ubahlah direktori home ke user lain secara langsung menggunakan cd ~username.

Perintah cd ~username digunakan untuk kembali ke home/user direktori secara langsung dari direktori lain.


6.      Ubah kembali ke direktory home Anda.

Pada percobaan tersebut perintah cd .. digunakan untuk kembali ke direktori home.


7.      Buat subdirektori work dan play.

Membuat subdirektori bernama work dan play dengan perintah mkdir


8.      Hapus subdirektory work.

Menghapus subdirektori work dengan perintah rmdir work


9.      Copy file /etc/passwd ke direktory home Anda.

Men-copy file passwd dari direktori etc ke home direktori


10.  Pindahkan ke subdirectory play.

Memindahkan file passwd ke subdirektori play dengan perintah mv


11.  Ubahlah ke subdirektori play dan buat symbolic link dengan nama terminal yang menunjuk ke perangkat tty. Apa yang terjadi jika melakukan hard link ke perangkat tty ?

Perintah ln /dev/tty terminal untuk membuat symbolic link (hard link) dengan nama terminal yang menunjuk perangkat tty. Namun, hal ini tidak bisa dilakukan sehingga terdapat pesan error yang disebabkan karena perbedaan partisipasi antara source file dengan target link. Pada kasus diatas, direktori /dev/tty berada di partisi root, sedangkan file terminal berada di partisi /home/iqbalteja/play. Jadi, penggunaan hard link tidak bisa dilakukan ketika kedua argument beda partisi. Tetapi saat menggunakan soft link file dapat di link ke direktori tersebut dan ketika dibuka membuat kita memasukan input keyboard.


12.  Buatlah file bernama hello.txt yang berisi kata ”hello word ”. Dapatkah Anda gunakan ”cp” menggunakan ”terminal” sebagai file asal untuk menghasilkan efek yang sama ?

Pada percobaan ini menggunakan perintah cat > hello.txt lalu memberikan isi dari file tsb. Lalu men-copy file terminal sebagai file asal, dan meminta untuk memasukan isi file yang disalin ke file hello.txt.


13.  Copy helo.txt ke terminal. Apa yang terjadi ?

Saat mencoba menyalin file hello.txt ke terminal hanya menampilkan output dari file asalnya tersebut.


14.  Masih direktory home, copy keseluruhan direktory play ke direktory bernama work menggunakan symbolic link.

Membuat simbolic link secara hard link antar direktori tidak dapat dilakukan sehingga harus menggunakan soft link.


15.  Hapus direktory work dan isnya dengan satu perintah

Menghapus direktori work beserta isinya dengan perintah rm –rf.



Pohon dari struktur file dan direktori percobaan 1 nomor 3:



Kesimpulan:

Setelah melakukan praktikum ini kesimpulan yang dapat dibuat adalah:

1.      Dapat memahami tentang direktori pada Sistem Operasi linux

2.      Dapat memanipulasi file dan direktori pada Sistem Operasi linux melalui terminal

3.      Dapat memahami cara penggunaan Simbolic Link baik Hard Link maupun Soft Link.

                  4.      Mengetahui perintah yang harus digunakan untuk memanipulasi data maupun Simbolic                          Link pada Sistem Operasi Linux. 


Sumber : 
https://elfanteen.blogspot.com/2016/12/operasi-file-struktur-direktori.html

http://nosacikal97.blogspot.com/2013/10/pratikum-ke-3-operasi-file-dan-struktur.html

Comments

Popular posts from this blog

Praktikum 11 Manajemen User dan Grup

Bekerja dengan Bash Shell 5A dan 5B

Praktikum 7 Unix System Call dan Manajemen Memory