Laporan Praktikum 3 Operasi File dan Struktur Direktori

LAPORAN PRAKTIKUM 3

OPERASI FILE DAN STRUKTUR DIREKTORI



Aulia Wahyuni     (1903421035)

BM-5B

 

BROADBAND MULTIMEDIA

TEKNIK ELEKTRO

POLITEKNIK NEGERI JAKARTA

TAHUN AJARAN 2021/2022

 


POKOK BAHASAN

  • Operasi File pada Sistem Operasi Linux
  • Struktur Direktori pada Sistem Operasi Linux

TUJUAN BELAJAR

Tujuan mempelajari materi ini, diharapkan mahasiswa mampu:

  • Memahami organisasi file dan direktori pada sistem operasi Linux
  • Menciptakan dan manipulasi direktori
  • Memahami konsep link dan symbolic link

DASAR TEORI

1.     ORGANISASI FILE

Sistem file pada Linux menyerupai pepohonan (tree), yatu dimulai dari root, kemudian direktori dan sub direktori. Sistem file pada Linux diatur secara hirarkhikal, yaitu dimulai dari root dengan symbol “/” seperti Gambar dibawah.

Kita dapat menciptakan Dile dan Direktori mulai dari root ke bawah. Direktori dalah file khusus, yang berisi nama file dan INODE (pointer yang menunjukkan ke data / isi file tersebut). Secara logika, Direktori dapat berisi File dan Direktori lagi (disebut juuga Subdirektori).


2.     DIREKTOR STANDARD

Setelah proses instalasi, Linux menciptakan system file yang baku, terdiri atas ditektori sebagai berikut :

Direktori

Deskripsi

/etc

Berisi file administrasi (konfiguasi dll) dan file executable atau script yang berguna untuk administrasi system

/dev

Berisi file khusus yang merepresentasikan peralatan hardware seperti memori, disk, printer, tape, floppy, jaringan dll

/bin

Berisi utilitas sistem level rendah (binary)

/sbin

Berisi utilitas sistem untuk superuser (untuk membuat administrasi sistem)

/usr/sbin

Berisi utilitas sistem dan program aplikasi level tinggi

/usr/sbin

/usr/bin

Berisi utilitas sistem dan program aplikasi level tinggi

/usr/lib

Berisi program library yang diperlukan untuk kompilasi program (misalnya C). Berisi intruksi (command) misalnya untuk Print Spooler (lpadmin) dll.

/tmp

Berisi file sementara, yang pada saat Bootstrap akan dihapus (dapat digunakan oleh sembarang user).

/boot

Berisi file yang sangat penting untuk proses bootstrap. Kernel vmlinuz disimpan di direktori ini.

/proc

Berisi informasi tentang kernel Linux, proses dan virtual system file.

/var

Direktori variable, artinya tempat penyimpanan LOG (catatan hasil output program), file ini dapat membengkak dan perlu dimonitor perkembangannya.

/home

 

/mnt

Berisi direktori untuk pemakai Linux (pada SCO diletakkan pada /usr).

Direktori untuk mounting system file

/root

Home direktori untuk superuser (root)

/usr/bin/XII

Symbolic link ke /usr/XIIR6/bin, program untuk X-Window

/usr/src

Source code untuk Linux

/opt

Option, direktori ini biasanya berisi aplikasi tambahan (‘add-on”) seperti Netscape Navigator, kde, gnome, applix dll.

 

Direktori /etc

Berisi file yang berhubungan dengan administrasi system, maintenance script, konfigurasi, security, dll. Hanya superuser yang boleh memodifikasi file yang berada di direktori ini. Subdirektori yang sering diakses pada direktori /etc anatar lain :

·       httpd, apache web server

·       ppp, point to point protocol untuk koneksi jaringan

·       rc.d atau init.d, inisialisasi (starup) dan terminasi (shutdown) prosis di Linux dengan konsep runlevel

·       cron.d, rincian proses yang dieksekusi dengan menggunakan jadwal (time dependent process).

·       FILES, file security dan konfigurasi meliputi : passwd, shadow, ftpaccess, inetd.conf, lilo.conf, motd, printcap, profile, resolv.conf, sendmail.cf, syslog.conf, dhcp.conf, smb.conf, fstab.

Direktori /dev

Konsep Unix dan Linus adalah memperlakukan peralatan hardware sama seperti penanganan file. Setiap alat mempunyai nama file yang disimpan pada ditektori /dev.

Peralatan

Direktori

Floppy

/dev/fd0

Harddisk

IDE : /dev/had, /dev/hdb, /dev/hdc, /dev/hdd

SCSI : /dev/sda, /dev/sdb, /dev/sdc

CDROM

SCSI : /dev/scd0, /dev/scdl

IDE : /dev/gscd, /dev/sonycd

Universal : /dev/cdrom (link dari actual ide atau scsi)

Mouse

PS2 : /dev/lp0

Universal : /dev/mouse

Parallel Port

LPT1 : /dev/lp0

LPT2 : /dev/lp1

Serial Port

COM1 : /dev/ttyS0

COM2 : /dev/ttyS1

Universal : /dev/modem (link dari S0 atau S1)

 

Direktori /proc

Direktori /proc adalah direktori dibuat atas RAM (Random Access Memory) dengan system file yang diatur oleh kernel. /proc berisi nomor proses dari system dan nama driver yang aktif di system. Semua direktori berukuran 0 (kosong) kecuali file kcore dan self. Setiap nomor yang ada pada seirektori tersebut merepresentasikan PID (Process ID)

3.     TIPE FILE

Pada Linux terdapat 6 buah tipe file yaitu,

·       Ordinary file

·       Direktori

·       Block Device (Peralatan I/O)

Merupakan representasi dari peralatan hardware yang menggunakan transmisi data per blok (misalnya 1 KB block), seperti disk, floppy, tape.

·       Character Device (Peralatan I/O)

Merupakan representasi dari peralatan hardware yang menggunakan transmisi data karakter per karakter, seperti terminal, modem, plotter, dll.

·       Named Pipe (FIFO)

File yang digunakan secara intern oleh system operasi untuk komunikasi antar proses.

·       Link File

4.     PROPERTI FILE

File mempunyai beberapa atribut, antara lain :

·       Tipe file                      : menentukan tipe dari file, yaitu :

·       Ijin akses                     : menentukan hak user terhadap file ini

·       Jumlah link                 : jumlah link untuk file ini

·       Pemilik (Owner)         : menentukan siapa pemilik file ini

·       Group                          : mementukan group yang memiliki fil ini

·       Jumlah karakter          : menentukan ukuran file dalam byte

·       Waktuu karakte           : menentukan ukuran file dalam byte

·       Waktu pembuatan       : Menentukan kapan file terakhir dimodifikasi

·       Nama file                    : menentukan nama file yang dimaksud

Contoh :

5.     NAMA FILE

Nama file maksimal terdiri dari 255 karakter berupa alfanumerik dan beberapa karakter spesial yaitu garis bawah, titik, koma dan lainnya kecuali spasi dan karakter

6.     SIMBOLIC LINK

Link merupakan sebuah teknik untuk memberikan lebih dari satu nama file dengan data yang sama. Format dari link adalah :

 

ln file Asli fileDuplikat

 

fileDuplikat disebut hard link dimana kedua file akan muncul identik bila fileAsli atau fileDuplikat diubah perubahan akan terjadi pada file lainnya. Symbloic Link diperlukan jika file tersebut di "link" dengan direktori /file yang berada pada partisi yang berbeda. Format

 

ln -s /FULLPATH/fileAsli /FULLPATH/fileDuplikat

 

Pilihan -s (shortcut) merupakan soft link dimana jumlah link count pada file asal tidak akan berubah.

7.     MELIHAT ISI FILE

Format yang digunakan adalah :

 

file filename(s)

8.     MENCARI FILE

Untuk melihat pohon direktori dapat menggunakan perintah :

- find akan melihat file yang bernama target file

- which untuk mengetahui letak system utility

- locate untuk mencari file pada semua directory dengan lebih cepat dan menampilkan path dengan penuh

9.     MENCARI TEXT PADA FILE

Perintah grep dapat digunakan untuk mencari text pada file dengan format :

 

grep option pattern files

 

Grep akan mencari file yang bernama sesuai pattern yang diberikan dan akan menampilkan baris yang sesuai.

TUGAS PENDAHULUAN

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

  •  $ pwd : Perintah yang digunakan untuk menampilkan direktori yang sedang digunakan/ aktif.

  •  $ cd : perintah yang digunakan untuk pindah direktori atau mengubah lokasi direktori.

  •  $ mkdir : perintah yang digunakan untuk membuat direktori baru. 

  •  $ rmdir : perintah yang digunakan untuk menghapus direktori.

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

  •  $ cp : digunakan untuk menyalin seluruh direktori atau file. Contoh menyalin atau mengcopy file contoh1 menjadi contoh2.

format : $ cp contoh1 contoh 2

  •  $ mv : digunakan untuk memindahkan file dari satu loksi ke lokasi yang lain.

format : $ mv contoh1 contoh 2

  •  $ rm: berfungsi untuk menghapus file. 

format : $ rm contoh1

3.      Jelaskan perbedan Symbolic link menggunakan hard link (direct) dan soft link (indirect)!

  • Hard link (direct) tidak dapat dilakukan symbolic link  pada file yang tidak ada. Hard link memiliki link terbatas pada partisi link yang sama.

  • Soft link (indirect), symbolic link dapat dibentuk melalui media disk atau partisi yang berbeda dan dapat dilakukan pada file yang tidak ada.

4.      Tuliskan maksud perintah-perintah : file, find, which, locate, dan grep!

  •  file : untuk melihat isi dari suatu file.

  •  find : untuk mencari file dalam pohon direktori. 
  •  which : menampilkan alamat atau letak lengkap suatu perintah.

  •  locate : mencari path file atau direktori. 

  •  grep : mencari baris-baris yang mengandung teks dengan kriteria yang telah ditentukan pada file yang diberikan.

 

PERCOBAAN DAN HASIL SERTA ANALISA

Percobaan

Percobaan 1 : Direktori

1.      Melihat direktori HOME

$ pwd

$ echo $HOME

Untuk melihat direktori HOME, mengunakan perintah pwd yang berfungsi untuk melihat direktori yang digunakan/aktif. Bisa juga dengan perintah $ echo (nama direktori) untuk langsung menuju direktori yang ingin dilihat.

2.      Melihat direktori aktual dan parent direktori

$ pwd

$ cd .

$ pwd

$ cd ..

$ pwd

$ cd


Untuk melihat direktori secara aktual dan parent direktori dengan menggunakan perintah $ pwd yang berfungsi untuk melihat direktori yang aktif. Sedangkan perintah $ cd untuk berpindah direktori.

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

$ pwd

$ mkdir A B C A/D A/E B/F A/D/A

$ ls -l

$ ls -l A

$ ls -l A/D

Untuk membuat sebuah direktori baru gunakan perintah $ mkdir (nama). Untuk membuat sebuah direktori dengan sub direktori gunakan $ mkdir (nama) (nama)/(apa). Dapat dilihat pada gambar telah terbuat direktoria A berisi subdirektori D dan E. Untuk memastikan apakah sudah terbuat direktori, bisa menggunakan perintah ls - l (direktori) untuk melihat list direktori yang berada di direktori tersebut.

Pohon dari struktur file dan direktori:

$ tree

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

$ rmdir B

$ ls -l B

$ rmdir B/F B

$ ls -l B

Perintah yang digunakan untuk menghapus direktori adalah $ rmdir. Jika dilihat pada gambar diatas, terjadi kesalahan/error saat menjalankan $ rmdir B, hal itu terjadi disebabkan direktori tersebut berisi satu direktori. Sehingga untuk menghapus direktori B, perlu dilakukan penghapusan direktori sekaligus dengan isinya dengan menggunakan $ rmdir B/F B. Ketika dijalankan perintah $ ls - B, maka terjadi error karena direktori tersebut tidak dapat dilihat karena direktori B sudah terhapus berserta isinya.

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

$ pwd

$ ls -l

$ cd A

$ pwd

$ cd ..

$ cd /home/<user>/C

$ pwd

$ cd /<user>/C


Perintah $ cd digunakan untuk melakukan perpindahan dari direktori ke direktori lainnya. Jika dilihat terdapat sebuah error ketika ingin berpindah ke direktori /aulia/C, dikarenakan posisi user sudah berada di /aulia/C dan didirektori tersebut tidak ada direktori C.

Percobaan 2: Manipulasi File

1.  Perintah cp untuk mengkopi file atau seluruh direktori

$ cat > contoh

Membuat sebuah file

[ctrl -d]

$ cp contoh contoh1

$ ls -l

$ cp contoh A

$ ls -l A

$ cp contoh contoh1 A/D

$ ls -l A/D

Percobaan ini menjalankan perintah $ cp untuk mengcopy/menyalin file yang telah dibuat. Kemudia, untuk memastikan file tersebut telah tersalin di direktori yang diinginkan dapat menggunakan perintah ls -l.

2.   Perintah mv untuk memindah file

$ mv contoh contoh2

$ ls -l

$ mv contoh1 contoh2 A/D

$ ls -l A/D

$ mv contoh contoh1 C

$ ls -l C


Perintah $ mv digunakan untuk melakukan perpindahan file dari direktori ke direktori lainnya. Dapat dilihat perpindahan file contoh menjadi contoh2. Untuk memastikan apakah file tersebut sudah dipindahkan dengan benar, dapat menggunakan perintah ls -l. 

3.      Perintah rm untuk menghapus file

$ rm contoh2

$ ls -l

$ rm -i contoh

$ rm -rf A C

$ ls -l

Percobaan ini menjalankan perintah $ rm untuk menghapus file yang telah dibuat. Dapat dilihat terjadi error  ketika menjalankan rm -i contoh, itu disebabkan file contoh tidak ada di direktori Home. Kemudian, untuk memastikan file tersebut telah terhapus di direktori  dapat menggunakan perintah ls -l.

Percobaan 3 : Symbolic Link

1.      Membuat shortcut (file link)

$ echo “Hallo apa khabar” > halo.txt

$ ls -l

$ ln halo.txt z

$ ls -l

$ cat z

$ mkdir mydir

$ ln z mydir/halo.juga

$ cat mydir/halo.juga

$ ln -s z bye.txt

$ ls -l bye.txt

$ cat bye.txt

Pada percobaan ini yang dilakukan pertama adalah membuat file halo.txt dengan perintah echo dengan di dalam file tersebut berisi kalimat "Halo apa khabar". Kemudian, membuat link dengan hard link file halo.txt ke file z dengan menggunakan perintah $ ln. Kemudian membuat direktor mydir  dan membuat link dari file z ke file halo.juga yang berada di dlaam direktori mydir. Lalu, membuat link dengan softlink dari file ke bye.txt. Untuk menampilkan isi file tersebut menggunakan perintaah $ cat (nama file).

Percobaan 4 : Melihat Isi File

$ ls -l

$ file halo.txt

$ file bye.txt

Percobaan menggunakan perintah $ file dapat melihat dan mengetahui isi dari file dan tipe file tersebut ASCII atau simbolik.

Percobaan 5: Mencari File

1.      Perintah find

$ find /home -name “*.txt” -print > myerror.txt

$ cat myerror.txt

$ find . -name “*.txt” -exec wc -l ‘{}’ ‘;’ 

Untuk mencari letak file sesuai dengan ekstensi inputan menggunakan perintah $ find. Contoh pada gambar diatas adalah mencari file dengan format *.txt.

2.      Perintah which

$ which ls

Menggunakan perintah $ which untuk mengetahui letak sistem utiliti. 

3.      Perintah locate

$ locate “*.txt” 

Untuk mengetahui direktori mana saja yang terdapat ls menggunakan perintah $ locate. Perintah tersebut digunakan untuk mencari file pada semua direktori dengan lebih cepat dan ditampilkan dengan path yang penuh. 

Percobaan 6 : Mencari text pada file

$ grep Hallo *.txt

Untuk mencari sebuah kata secara spesifik menggunakan perintah $ prep. Pada gambar diatas, mencari kata Hallo dengan formar file *.txt. Didapatkan kata Hallo pada file bye.txt dan hallo.txt.

 

Latihan

  1. Cobalah urutan perintah berikut :

$ cd

$ pwd

$ ls -al

$ cd .

$ pwd

$ cd ..

$ pwd

$ ls -al

$ cd ..

$ pwd

$ ls -al

$ cd /etc

$ ls -al | more

$ cat psswd

$ cd –

$ pwd







Perintah di atas berfungsi untuk mencari direktori $ cd. Untuk melihat direktori yang sedang aktif menggunakan $ pwd. Setiap pindah direktori baru dengan perintah $ cd, maka hasil ketika menjalankan perintah $ pwd berubah sesuai dengan direktori saat ini yang digunakan. Untuk melihat isi direktori secara keseluruhan menggunakan perintah ls.

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

 
/bin

/usr/bin
/sbin

/tmp

 /boot
    Untuk melakukan perpindahan dari satu direktori ke direktori yang digunakandengan menggunakan perintah $ cd. Perintah $ pwd untuk melihat direktori yang digunakan user saat ini secara aktual. Perintah $ cat untuk menampilkan suatu tipe misalkan tipe direktori.

    3.    Telusuri direktori /dev. Identifikasi perangkat yang tersedia. Identifikasi tty                       (terminal) And (ketik who am i); siapa pemilih tty Anda (gunakan ls -l).


Ketika menjalankan tty dapat dilihat diatas menunjukan terminal yang aktif digunakan adalah 1, namun jika menjalakan jendela terminal sebanyak 2 buah maka pada terminal kedua akan menampilkan angka 1. Kemudian, perintah whoami untuk melihat user yang aktif. Lalu, untuk mengidentifikasi tty menggunakan ls -l.

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

    Untuk melihat isi file menggunakan perintah $ cat. Jika dilihat isi file :

  • interrupts adalah proses yang sedang dilakukan saat ini. 

  •  devices adalah perangkat yang sedang aktif. 

  •  cpuinfo berisi info cpu dan proses yang sedang berlangsung. 

  •  meminfo berisi info memori dan proses yang sedang berlangsung. 

  •  uptime berisi durasi sistem berjalan saat terakhir kali direboot atau dimatikan.

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


Pada percobaan seperti digambar, untuk berpindah ke direktori username menggunakan $ cd. Dapat dilihat perubahan direktori yang awalnya berada di /proc menjadi berada di /aulia.

6.      Ubah kembali direktory home anda.


Untuk mengubah direktori dari /aulia menjadi /home menggunakan format perintah $ cd .. . titik dua tersebut sebagai direktori utama yang berada di atas /aulia. 

7.      Buat subdirektory work dan play.


Untuk membuat subdirektori berada di home menggunakan $ mkdir work play. Maka, akan muncul direktori baru work dan play.

8.      Hapus subdirektory work.


Untuk menghapus direktori work dengan menggunakan perintah $ rmdir work.

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


Untuk menyalin file dapat menggunakan perintah $ cp <nama file yang dicopy> <direktori tujuan>.

10.   Pindahkan ke subdirektory play.


Untuk memindahkan file dapat menggunakan perintah $ mv. Kemudian kita menjalankan perintah $ ls untuk memastikan bahswa file passwd sudah pindah ke subdirektori play.

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


Jika melakukan hard link maka akan terjadi error karena tty merupakan file system. Sehingga dilakukan softlink dan perintah berhasil.

12.   Buatlah file bernama hello.txt yang berisi kata “hello world”. Dapatkah anda menggunakan “cp” menggunakan “terminal” sebagai file asal untuk menghasilkan efek yang sama?


Untuk Membuat file hello.txt yang berisikan "hello world" menggunakan perintah echo. Kemudian menggunakan perintah $ cp, saat menggunakan perintah $ cp hasilnya sama seperti melakukan perintah $ cat pada file hello.txt.

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


Failed access terjadi dikarenakan terlalu banyak untuk melakukan link ke direktori yang ada.

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


Untuk menyalin seluruh direktori ke direktori tujuan menggunakan symbolic link.

15.   Hapus direktory work dan isinya dengan satu perintah.

 

Untuk menghapus direktori dapat menggunakan perintah $ rm -rf <direktori yang ingin dihapus >.

KESIMPULAN

Pada praktikum kali ini, untuk menggunakan perintah-perintah untuk memanipulasi file atau membuat shortcut, menyali, memindahkan, dan menampilkan isi file menggunakan format perintah yang berbeda-beda tergantung kondisi penggunannya. Untuk menghindari terjadinya error, dapat dilakukan lebih pemahaman bagaimana cara kerja format perintah yang akan digunakan. Direktori pada sistem operasi linux dapat diakses dan diperbarui secara keseluruhan ketika berada di root tanpa ada akses yang diblokir. 

REFERENSI

https://www.pintarkomputer.com/memahami-fungsi-dan-struktur-20-direktori-di-sistem-operasi-linux/
https://mulung-ilmu.blogspot.com/2015/02/mengenal-struktur-direktori-linux.html
https://docplayer.info/29883756-Operasi-file-dan-struktur-direktory.html

Comments

Popular posts from this blog

LAPORAN PRAKTIKUM 6 : Pemograman Shell

LAPORAN PRAKTIKUM 5 : BEKERJA DENGAN BASH SHELL