Rabu, 05 Oktober 2022

Praktikum 3 Operasi File dan Struktur Direktori

 Judul Laporan

"Praktikum 3 Operasi File dan Struktur Direktori

Pokok Bahasan

- Operasi File pada Sistem Operasi Linux
- Struktur Direktori pada Sistem Operasi Linux

Tujuan Belajar

Setelah mempelajari materi dalam bab ini, mahasiswa diharapkan mampu:
- Memahami organisasi file dan direktori pada sistem operasi Linux
- Menciptakan dan manipulasi direktori
- Memahami konsep link dan symbolic link

Abstrak

Dalam era perkembangan teknologi seperti saat ini, dunia memerlukan teknologi informasi yang dapat memudahkan kehidupan masyarakat. Untuk mencapai tujuan tersebut, Linus Torvalds mengembangkan sistem operasi yang secara umum merupakan sistem operasi sumber terbuka (open source). Sistem operasi yang dikembangkan itu ialah Linux. Linux merupakan sistem operasi yang bersifat open source, maksudnya ialah setiap pengguna Linux dapat menggunakannya tanpa menggunakan lisensi apapun dan juga dapat mengembangkannya menjadi distro (distribusi) Linux baru. Oleh karena itu, pada praktikum ini dilakukan percobaan menggunakan perintah-perintah untuk operasi file dan struktur direktori pada sistem operasi Linux. Praktikum dilakukan dengan menggunakan software virtualbox dari Oracle yang dijalankan di atas sistem operasi Windows 10. Dari percobaan mengeksekusi perintah-perintah untuk operasi file dan struktur direktori, diperoleh hasil percobaan yang hampir sesuai dengan panduan praktikum yang telah disediakan.

Kata Kunci: Sistem operasi, Linux, operasi file, struktur direktori, symbolic link

Teori Singkat

1. Organisasi File

    Sistem file pada Linux menyerupai pepohonan (tree), yaitu dimulai dari root, kemudian direktori dan sub direktori. Sistem file pada Linux diatur secara hirarkhikal yaitu dimulai dari root dengan simbol "/". Kita dapat menciptakan file dan direktori 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, direktori dapat berisi file dan direktori lagi (disebut juga subdirektori).


2. Direktori standar
   
    Setelah proses instalasi, Linux menciptakan sistem file yang baku, terdiri atas direktori sebagai berikut:
Direktori Deskripsi
/etc Berisi file administratif (konfigurasi, dll) dan file executable
atau skrip yang berguna untuk administrasi sistem.
/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 membentuk
administrasi sistem).
/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 sistem
file.
/var Direktori variabel, artinya tempat penyimpanan LOG (catatan
hasil output program), file ini dapat membengkak dan perlu
dimonitor perkembangannya.
/home Berisi direktori untuk pemakai Linux (pada SCO diletakkan
pada /usr)
/mnt Direktori untuk mounting sistem file.
/root Home direktori untuk superuser (root)
/usr/bin/X11 Symbolic link ke /usr/X11R6/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 sistem, maintenance script, konfigurasi, security, dll. Hanya superuser yang boleh memodifikasi file yang berada di direktori ini. Subdirektori yang sering diakses pada direktori /etc antara lain:
- httpd, apache web server.
- ppp, point-to-point protocol untuk koneksi ke internet
- rc.d atau init.d, inisialisasi (startup) dan terminasi (shutdown) proses di Linux dengan konsep runlevel.
- cron.d, rincian proses yang dieksekusi dengan menggunakan jadwal (time dependent process).
- FILES, file security dan konfigurasi meliputi : passwd, hosts, 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 Linux adalah memperlakukan peralatan hardware sama seperti penanganan file. Setiap alat mempunyai nama file yang disimpan pada direktori /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/scd1
IDE: /dev/gscd, /dev/sonycd
Universal: /dev/cdrom (link dari actual cdrom 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 yang dibuat di atas RAM (Random Access Memory) dengan sistem file yang diatur oleh kernel. /proc berisi nomor proses dari sistem dan nama driver yang aktif di sistem. Semua direktori berukuran 0 (kosong) kecuali file kcore dan self. Setiap nomor yang ada pada direktori 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 block (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 sistem operasi untuk komunikasi antar proses
- Link File


4. Properti File

    File mempunyai beberapa atribut, antara lain:
- Tipe File, menentukan tipe dari file, yaitu:
Karakter Arti
- File biasa
d Direktori
l Symbolic link
b Block special file
c Character special file
s Socket link
p FIFO

- Ijin akses, menentukan hak user terhadap file ini
- Jumlah link, jumlah link untuk file ini
- Pemilik (Owner), menentukan siapa pemilik file ini
- Group, menentukan group yang memiliki file ini
- Jumlah karakter, 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 "&", ";", "|", "?", "'", """, "[", "]", "(", ")", "$", "<", ">", "{", "}", "^", "#", "\", "/". Linux membedakan huruf kecil dengan huruf besar (case sensitive).


6. Symbolic Link

    Link adalah sebuah teknik untuk memberikan lebih dari satu nama file dengan data yang sama. Bila file asli dihapus, maka data yang baru juga terhapus. Format dari link: ln fileAsli fileDuplikat

    fileDuplikat disebut hard link dimana kedua file akan muncul identik (link count=2). Bila fileAsli 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 l (link) dan file tersebut menunjuk ke tempat asal. Format: ln -s /FULLPATH/fileAsli /FULLPATH/fileDuplikat

    Option -s (shortcut) merupakan bentuk soft link dimana jumlah link count pada file asal tidak akan berubah. Pada bentuk soft link, symbolic link dapat dilakukan pada file yang tidak ada, sedangkan pada hard link tidak dimungkinkan. Perbedaan lain, symbolic link dapat dibentuk melalui media disk atau partisi yang berbeda dengan soft link, tetapi pada hard link terbatas pada partisi disk yang sama.


7. Melihat Isi File

    Untuk melihat jenis file menggunakan format: file filename(s)

Isi file akan dilaporkan dengan deskripsi level tinggi seperti contoh berikut
Perintah ini dapat digunakan secara luas untuk file yang kadang membingungkan, misalnya antara kode C++ dan Java.


8. Mencari File

    Jika ingin melihat bagaimana pohon direktori dapat digunakan perintah
- find, format: find directory -name targetfile -print, akan meihat file yang bernama targetfile (bisa berupa karakter wildcard)
- which, format: which command, untuk mengetahui letak system utility
- locate, format: locate string, akan mencari file pada semua direktori dengan lebih cepat dan ditampilkan dengan path yang penuh.


9. Mencari Text pada File

    Untuk mencari text pada file digunakan perintah grep (General Regular Expression Print) dengan format perintah grep option pattern files. Grep akan mencari file yang bernama sesuai pattern yang diberikan dan akan menampilkan baris yang sesuai.


Jawaban Pertanyaan Pendahuluan

1. Apa yang dimaksud perintah-perintah direktori: pwd, cd, mkdir, rmdir
- pwd: Print Working Directory, untuk menampilkan informasi mengenai direktori aktif yang sedang diakses.
- cd: Change Directory, untuk mengubah atau berpindah ke direktori tertentu.
- mkdir: Make Directory, untuk membuat folder atau direktori baru.
- rmdir: Remove Directory, untuk direktori kosong.

2. Apa yang dimaksud perintah-perintah manipulasi file: cp, mv, dan rm (sertakan format yang digunakan)
- cp: Copy, untuk menyalin file dari direktori aktif ke direktori lain. Format: cp [...file/directory-sources] [destination]
- mv: Move, untuk memindahkan file ke direktori lain dan bisa juga untuk mengubah nama file. Format: mv [OPTIONS] SOURCE DESTINATION
- rm: Remove, untuk menghapus file dan direktori yang memiliki file didalamnya. Format: rm [OPTIONS]... FILE...

3. Jelaskan perbedaan Symbolic link menggunakan hard link (direct) dan soft link (indirect)
Hard link:
- File hasil hard link memiliki inode number yang sama
- Hard link tidak bisa digunakan pada direktori, hanya superuser yang bisa melakukannya
- Tidak bisa digunakan pada file sistem yang berbeda
- Mengarah ke data dari file, jadi data pada file asli tetap ada di hard link
- Jika file asli dihapus, maka link tidak rusak
- Hard link relatif lebih cepat

Soft link:
- File hasil soft link memiliki inode number yang berbeda
- Bisa digunakan pada direktori
- Bisa digunakan pada file sistem yang berbeda
- Hanya mengarah ke nama file, bukan ke data dari file
- Jika file asli dihapus, maka link akan rusak
- Soft link relatif lebih lambat

4. Tuliskan maksud perintah-perintah: file, find, which, locate, dan grep
- file: untuk menampilkan tipe / jenis file
- find: untuk mencari suatu file atau direktori dalam hirarki direktori, berdasarkan pada ekspresi yang diberikan user dan menerapkan tindakan yang ditentukan user pada setiap file yang cocok.
- which: untuk mengidentifikasi lokasi file executable yang diberikan ketika mengetik perintah executable di terminal prompt.
- locate: untuk mencari file dan direktori dengan parameter nama.
- grep: untuk mencari teks atau pattern di dalam suatu file.

Percobaan dan Hasil serta Analisanya

Percobaan 1 : Direktori

1. Melihat direktori HOME, dapat dilakukan dengan perintah pwd (print working directory) atau dengan perintah echo untuk menampilkan teks ke terminal dengan argumen $HOME.

2. Melihat direktori aktual dan parent direktori. Untuk melihat direktori aktif, dapat dilakukan dengan perintah pwd (print working directory). Untuk pindah ke direktori satu tingkat di atas direktori aktif, bisa menggunakan perintah cd .. . Dan untuk kembali ke home directory, bisa dilakukan dengan perintah cd tanpa argumen.

3. Membuat satu direktori, lebih dari satu direktori atau sub direktori. Ini dapat dilakukan dengan perintah mkdir dengan banyak argumen berupa nama direktori.

4. Menghapus satu atau lebih direktori hanya dapat dilakukan pada direktori kosong dan hanya dapat dihapus oleh pemiliknya kecuali bila diberikan ijin aksesnya. Perintah pertama menghasilkan pesan error karena direktori dengan nama B tidak dalam keadaan kosong, karena perintah rmdir digunakan untuk menghapus direktori kosong. Sedangkan perintah keempat menampilkan pesan error karena direktori B tidak ditemukan, karena sudah dihapus pada perintah diatasnya.

5. Navigasi direktori dengan instruksi cd untuk pindah dari satu direktori ke direktori lain. Perintah keenam menghasilkan pesan error karena direktori C tidak ditemukan. Ini terjadi karena perintah cd diikuti argumen dengan path yang tidak sesuai. Pada direktori /home/daniel/C tidak ada direktori /daniel/C. Jika ingin mengakses direktori tersebut, seharusnya menggunakan perintah /home/daniel/C karena direktori /home merupakan direktori dibawah root jadi bisa langsung diakses darimana saja dengan path /home.

Percobaan 2 : Manipulasi file

1. Perintah cp untuk mengkopi file atau seluruh direktori.

2. Perintah mv untuk memindah file.

3. Perintah rm untuk menghapus file. Pada gambar pertama, file contoh dan contoh1 tidak bisa dipindah ke direktori C karena kedua file tersebut sudah tidak ada di direktori home. Kedua file tersebut berada di direktori /home/daniel/A/D/ seperti yang ditunjukkan pada gambar kedua, yang juga menunjukkan cara menghapus file menggunakan perintah rm. Option -i untuk menampilkan konfirmasi apakah file akan dihapus atau tidak. Dan option -rf untuk menghapus file secara rekursif dan secara paksa (force) untuk menghapus direktori dan seluruh kontennya.


Percobaan 3 : Symbolic Link

1. Membuat shortcut (file link). Pada gambar pertama ditunjukkan cara untuk membuat hard link dengan perintah ln. Gambar kedua ditunjukkan cara untuk membuat soft link dengan perintah ln dan option -s


Percobaan 4 : Melihat Isi File. Percobaan ini lebih kepada melihat tipe file daripada konten atau data dari file tersebut. Untuk melihat data atau konten suatu file, dapat dilakukan dengan perintah cat. Sedangkan pada gambar dibawah ini, dilakukan percobaan untuk menampilkan tipe dari suatu file. 

Percobaan 5 : Mencari File

1. Perintah find

2. Perintah which

3. Perintah locate

Percobaan 6 : Mencari text pada file. Perintah grep dibawah ini ditunjukkan untuk melihat semua file dengan ekstensi .txt dan memiliki teks Hallo.



LATIHAN:

1. Cobalah urutan perintah berikut:








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










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


4. Telusuri direktori /proc. Tampilkan isi file interrupts, devices, cpuinfo, meminfo, dan uptime menggunakan perintah cat. Dapatkah anda melihat mengapa direktori /proc disebut pseudo-filesystem yang memungkinkan akses ke struktur data kernel? Direktori /proc pada GNU/Linux menyediakan sistem file seperti interface ke kernel. Hal ini memungkinkan aplikasi dan user untuk mengambil informasi darinya dan menyetting nilai pada kernel menggunakan file sistem operasi I/O normal.





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

6. Ubah kembali ke direktori home anda.

7. Buat subdirektori work dan play.

8. Hapus sub direktori work.

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

10. Pindahkan ke sub direktori play.

11. Ubahlah ke sub direktori play dan buat symbolic link dengan nama terminal yang menunjuk ke perangkat tty. Apa yang terjadi jika melakukan hard link ke perangkat tty? Pada percobaan ini, muncul pesan error yang mengindikasikan bahwa link yang cross-device tidak bisa dilakukan. Namun, ini bisa diatasi dengan penggunaan soft-link seperti yang ditunjukkan pada gambar kedua di bawah.


12. Buatlah file bernama hello.txt yang berisi kata "hello world". Dapatkah anda gunakan cp menggunakan terminal sebagai file asal untuk menghasilkan efek yang sama? Pada percobaan di bawah ini, tidak menghasilkan efek yang sama.

13. Copy hello.txt ke terminal. Apa yang terjadi? Terminal tetap menjadi symlink yang mengarah ke file /dev/tty. Pada percobaan ini, file terminal yang dibuka tidak memunculkan apa-apa.

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


15. Hapus direktori work dan isinya dengan satu perintah.

Kesimpulan

Sistem operasi Linux merupakan sistem operasi open source yang dapat digunakan dan dikembangkan secara bebas tanpa lisensi. Bagi sebagian orang, Linux terasa lebih sulit daripada Windows karena kurang familiar di kalangan masyarakat umum. Meski begitu, sistem operasi Linux tetap banyak digemari khususnya oleh para pegiat teknologi, misalnya system administrator, developer, devops engineer, network engineering, dan cyber security. Pada praktikum 3 ini telah dilakukan percobaan menggunakan perintah-perintah untuk operasi file pada Linux, serta mengetahui struktur direktori pada OS Linux. Pada Linux, sistem file menyerupai pepohonan (tree) yaitu dimulai dari root, kemudian direktori dan sub direktori yang diatur secara hirarkhikal dimulai dari root "/". Dengan dilaksanakannya praktikum ini diharapkan dapat menambah pemahaman organisasi file dan direktori, menciptakan dan manipulasi direktori, dan memahami konsep link dan symbolic link.

Daftar Pustaka/Referensi









Tidak ada komentar:

Posting Komentar