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).
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:
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.
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.
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.
1. Perintah find
Percobaan 6 : Mencari text pada file. Perintah grep dibawah ini ditunjukkan untuk melihat semua file dengan ekstensi .txt dan memiliki teks Hallo.
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
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.
8. Hapus sub direktori work.
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.
14. Masih direktori home, copy keseluruhan direktori play ke direktori bernama work menggunakan symbolic link.
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.




















































Tidak ada komentar:
Posting Komentar