Telusuri

Praktikum 3 Operasi File dan Struktur Direktori

 

LAPORAN PRAKTIKUM 3
OPERASI FILE DAN STRUKTUR DIREKTORI


SISTEM OPERASI

DOSEN PENGAMPU: MOHAMMAD FATHURAHMAN S.T., M.T.

Disusun Oleh:

Purbo Dwi Junianto (2203421016)

BM 5B

PROGRAM STUDI BROADBAND MULTIMEDIA

JURUSAN TEKNIK ELEKTRO

POLITEKNIK NEGERI JAKARTA 

DEPOK, 2024



A.  POKOK BAHASAN

  • Operasi file pada sistem operasi Linux.
  • Struktur direktori pada sistem operasi Linux.

B.  TUJUAN BELAJAR

  • Memahami organisasi file dan direktori pada sistem operasi Linux.
  • Menciptakan dan memanipulasi direktori.
  • Memahami konsep hard link dan symbolic link.

C.  ABSTRAK

Sistem operasi Linux menyediakan serangkaian perintah dan fungsi yang sangat kuat untuk mengelola file dan struktur direktori. Pemahaman mengenai operasi file dan struktur direktori menjadi fundamental dalam administrasi sistem, pemrograman, dan pemrosesan data di lingkungan Linux. Operasi file mencakup tindakan seperti membuat, membaca, menulis, memodifikasi, dan menghapus file, sementara struktur direktori merujuk pada hierarki yang digunakan untuk mengorganisasi file dalam sistem. Penelitian ini bertujuan untuk mengkaji secara mendalam berbagai perintah Linux yang digunakan untuk menangani file dan direktori, seperti cpmvrmls, dan mkdir. Selain itu, akan dibahas juga mekanisme pengelolaan izin file dan direktori yang berperan penting dalam menjaga keamanan dan integritas data. Melalui analisis ini, diharapkan pembaca dapat memahami konsep-konsep dasar serta menerapkannya secara efektif dalam kegiatan sehari-hari yang melibatkan pengelolaan file dan direktori pada Linux.

Kata Kunci: Linux, operasi file, struktur direktori, perintah Linux, izin file, administrasi sistem.


D.  TEORI SINGKAT

1. Organisasi File pada Linux

Sistem file pada Linux diatur dalam struktur pohon yang dimulai dari root (/). Sistem file ini bersifat hierarkis, artinya semua file dan direktori memiliki hubungan yang terstruktur, dimulai dari root yang bertindak sebagai akar dari seluruh sistem. Direktori pada Linux tidak hanya berisi file, tetapi juga dapat berisi direktori lain (subdirektori). Setiap file yang ada di dalam direktori akan memiliki INODE, yang merupakan pointer untuk menunjuk ke data file tersebut. File ini bisa berupa file biasa, direktori, atau perangkat I/O.

2. Direktori Standar pada Linux

Setelah instalasi, Linux menciptakan sejumlah direktori standar, yang memiliki fungsi khusus untuk mendukung sistem operasi dan aplikasi yang berjalan. Beberapa direktori standar tersebut antara lain:

  • /etc: Berisi file konfigurasi administratif dan script untuk pengelolaan sistem.
  • /dev: Berisi file yang merepresentasikan perangkat keras seperti disk, printer, jaringan, dll.
  • /bin: Berisi utilitas dasar sistem yang dapat digunakan oleh semua pengguna.
  • /sbin: Berisi utilitas untuk administrasi sistem yang hanya bisa diakses oleh superuser.
  • /tmp: Direktori untuk menyimpan file sementara yang akan dihapus saat sistem melakukan boot ulang.
  • /boot: Berisi file penting untuk proses bootstrap, termasuk kernel Linux.
  • /proc: Berisi informasi tentang kernel dan proses yang berjalan pada sistem, serta file virtual yang menyediakan informasi tentang sistem.

3. Tipe File pada Linux

Sistem operasi Linux mengenali beberapa tipe file, yang masing-masing memiliki peran dan atribut berbeda:

  • Ordinary File: File biasa yang berisi data, program, atau dokumen.
  • Direktori: File khusus yang menyimpan daftar file dan subdirektori.
  • Block Device File: File yang merepresentasikan perangkat keras yang menggunakan transmisi data berbasis blok, seperti disk.
  • Character Device File: File yang merepresentasikan perangkat keras yang menggunakan transmisi data berbasis karakter, seperti terminal dan modem.
  • Named Pipe (FIFO): File yang digunakan untuk komunikasi antar proses.
  • Symbolic Link: File yang berisi rujukan ke file atau direktori lain di sistem.

4. Properti File

Setiap file di Linux memiliki beberapa atribut, antara lain:

  • Tipe File: Mengidentifikasi jenis file, seperti file biasa, direktori, link, atau perangkat.
  • Izin Akses: Menentukan hak akses pengguna terhadap file tersebut, yang bisa berupa baca, tulis, atau eksekusi.
  • Pemilik dan Grup: Menunjukkan siapa pemilik file dan grup mana yang memiliki akses ke file tersebut.
  • Ukuran File: Menunjukkan jumlah byte dalam file.
  • Waktu Modifikasi: Menunjukkan kapan file terakhir diubah.
  • Jumlah Link: Menunjukkan berapa banyak referensi (link) ke file tersebut.

5. Nama File

Linux mendukung penamaan file hingga 255 karakter, dengan berbagai simbol diperbolehkan, seperti garis bawah (_), titik (.), dan koma (,), tetapi beberapa karakter seperti spasi dan simbol khusus (&, ;, |, dll) tidak diperbolehkan. Linux bersifat case sensitive, sehingga huruf besar dan kecil dianggap berbeda. Contohnya, file bernama File.txt berbeda dengan file.txt.

6. Symbolic Link dan Hard Link

  • Hard Link adalah sebuah referensi langsung ke inode file, sehingga file yang berbeda akan memiliki inode yang sama jika di-link. Jika file asli dihapus, data file akan tetap ada selama hard link masih ada.
  • Symbolic Link adalah shortcut atau referensi ke path file lain. Symbolic link tetap bekerja meskipun file asli dihapus, tetapi akan menunjukkan file kosong jika file asli tidak lagi ada. Symbolic link dapat digunakan di partisi yang berbeda, sedangkan hard link hanya bisa dibuat di dalam partisi yang sama.

7. Melihat Isi File

Perintah file pada Linux dapat digunakan untuk melihat jenis file yang ada di sistem. Ini berguna untuk mengidentifikasi tipe file seperti file teks, program C, atau dokumen HTML. Contoh penggunaan perintah file:

$ file myprog.c letter.txt webpage.html

Output yang dihasilkan akan mengindikasikan tipe file, seperti:

  • myprog.c: C program text
  • letter.txt: ASCII text
  • webpage.html: HTML document text

8. Mencari File

Linux menyediakan beberapa perintah untuk mencari file dalam sistem, seperti:

  • find: Mencari file berdasarkan nama atau pola tertentu di dalam direktori yang spesifik.
  • which: Menampilkan lokasi dari executable file tertentu.
  • locate: Mencari file dengan cepat menggunakan database yang diperbarui secara rutin.

9. Mencari Teks di Dalam File

Perintah grep digunakan untuk mencari teks di dalam file berdasarkan pola yang ditentukan. Misalnya, untuk mencari kata "Hello" di dalam semua file .txt, kita dapat menggunakan perintah:

$ grep "Hello" *.txt

Grep akan menampilkan baris yang mengandung kata "Hello" di file yang sesuai.


Jawaban Pertanyaan Pendahuluan

  1. pwd: Menampilkan direktori kerja saat ini. cd: Mengubah direktori kerja. mkdir: Membuat direktori baru. rmdir: Menghapus direktori kosong.

  2. cp: Mengkopi file atau direktori. mv: Memindahkan atau mengganti nama file atau direktori. rm: Menghapus file atau direktori.

  3. Perbedaan Symbolic link dan hard link:

    • Hard link menunjuk langsung ke inode dari file, sehingga file tersebut bisa memiliki beberapa nama di sistem file yang sama.
    • Symbolic link (soft link) adalah referensi ke path file lain, dan bisa lintas partisi.
  4. file: Menampilkan tipe file. find: Mencari file berdasarkan nama atau kriteria lain. which: Menunjukkan lokasi eksekusi dari sebuah perintah. locate: Mencari file dengan cepat menggunakan database. grep: Mencari teks dalam file.


E.  PERCOBAAN DAN HASIL SERTA ANALISA

Percobaan 1 : Direktori

1. Melihat Direktori HOME

Analisa:

  • pwd menunjukkan direktori aktif saat ini.
  • echo $HOME menampilkan direktori HOME yang biasanya adalah tempat direktori pribadi pengguna.
2. Melihat Direktori Aktual dan Parent Direktori

Analisa:

  • cd . tidak mengubah posisi direktori.
  • cd .. memindahkan satu level ke atas dari direktori saat ini.
  • cd membawa pengguna ke direktori HOME, yang merupakan default jika tidak ada path yang diberikan.
3. Membuat Satu Direktori, Lebih dari Satu Direktori, atau Sub Direktori
     

Analisa:

  • mkdir dapat membuat satu atau beberapa direktori sekaligus dan juga subdirektori jika diperlukan.
  • ls -l setelah pembuatan direktori menunjukkan struktur direktori yang baru dibuat dan memastikan direktori telah terbuat dengan benar.

4. Menghapus Satu atau Lebih Direktori

Analisa:

  • rmdir hanya bisa menghapus direktori kosong. Jika direktori tidak kosong, maka akan ada pesan kesalahan.
  • Menghapus subdirektori terlebih dahulu memungkinkan kita untuk menghapus direktori utama.

5. Navigasi Direktori Menggunakan Perintah cd

Analisa:

  • cd memungkinkan navigasi antar direktori dengan menentukan path yang tepat.
  • Kesalahan dalam path seperti /user/C (seharusnya /home/<user>/C) akan menghasilkan pesan error.

Percobaan 2 : Manipulasi File

1. Perintah cp untuk Mengkopi File atau Seluruh Direktori

Analisa:

  • cp membuat salinan file di lokasi yang ditentukan.
  • Menyalin file ke dalam direktori berbeda memastikan file berada di lokasi yang diinginkan.
2. Perintah mv untuk Memindah File

Analisa:

  • mv baik untuk mengganti nama file atau memindahkannya ke lokasi lain.
  • Secara keseluruhan, kesalahan disebabkan oleh tidak adanya direktori yang dituju. Sebelum memindahkan file ke direktori tertentu, pastikan direktori tersebut sudah ada.
  • Jika file dipindahkan ke dalam direktori yang berbeda, pastikan path yang diberikan benar.
3. Perintah rm untuk Menghapus File

Analisa:

  • rm menghapus file tanpa mengonfirmasi, kecuali menggunakan opsi -i.
  • rm -rf sangat berbahaya karena dapat menghapus seluruh direktori dan isinya tanpa konfirmasi.

Percobaan 3 : Symbolic Link

1. Membuat Shortcut (File Link)

Analisa:

  • Hard link (ln) mengarah langsung ke data file, sedangkan symbolic link (ln -s) membuat referensi yang dapat menunjuk ke file yang berbeda atau tidak ada.

Percobaan 4 : Melihat Isi File

1. Melihat Tipe dan Isi File

Analisa:

  • file memberikan informasi tentang tipe file yang berguna untuk mengidentifikasi dan menangani file dengan benar.


Percobaan 5 : Mencari

1. Perintah find

Analisa:

  • find sangat fleksibel dan memungkinkan pencarian mendalam di seluruh sistem atau dalam direktori tertentu.
2. Perintah which

Analisa:

  • which berguna untuk menemukan lokasi dari perintah yang dapat dieksekusi, yang membantu dalam debugging dan konfigurasi lingkungan.
3. Perintah locate

Analisa:

  • locate lebih cepat daripada find karena menggunakan database yang sudah ada, tetapi database harus diperbarui untuk hasil yang akurat.

Percobaan 6 : Mencari Teks Pada File

1. Perintah grep untuk Mencari Teks dalam File

Analisa:

  • grep memungkinkan pencarian teks yang cepat dan efisien dalam file, dan sangat berguna untuk analisis konten dan debugging.

F.  LATIHAN

1. Cobalah urutan perintah berikut: 



2. Lanjutkan penelusuran pohon pada sistem file menggunakan ed, 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?


5. Ubah 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 subdirektori work.



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


10. Pindahkan ke subdirektori play.


11. Ubah 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?


12. Buat file bernama hello.txt yang berisi kata 'hello world'. Dapatkah Anda gunakan cat menggunakan terminal sebagai file asal untuk menghasilkan efek yang sama?


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


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


15. Hapus direktori work dan isinya dengan satu perintah.



G. Laporan

1. Analisa setiap hasil percobaannya

Nomor Latihan

Analisa 

1. 

`$ cd` digunakan untuk berpindah ke direktori lain, dan `$ pwd` berfungsi untuk menampilkan lokasi direktori saat ini. Untuk melihat semua file secara lengkap, gunakan perintah `$ ls -al`. Perintah `$ cd ..` memungkinkan kita kembali ke direktori sebelumnya. Untuk melihat isi file, perintah `$ cat` digunakan. Sedangkan `$ ls -al | more` menampilkan daftar file satu layar penuh. Terakhir, perintah `$ cd -` digunakan untuk kembali ke direktori root.

2. 

Perintah $ cd digunakan untuk masuk ke salah satu direktori tersebut, kemudian perintah $ ls menampilkan isi dari direktori tersebut. Lalu, untuk melihat direktori yang sedang aktif menggunakan perintah $ pwd dan perintah $ cat untuk menampilkan tipenya yaitu direktori. Setiap direktori tersebut memiliki isi tipe data yang berbeda - beda.

3. 

Perintah $ cd  /dev digunakan untuk memasuki direktori dev. Kemudian dilanjutkan dengan perintah $whoami yang untuk melihat user yang sedang aktif yaitu reza. Untuk menampilkan semua isi dari direktori /dev menggunakan perintah $ ls -l

4.

Perintah `$ cat` digunakan untuk menampilkan isi file. 

  • File `interrupts` memuat informasi mengenai proses-proses yang sedang berlangsung saat ini.

  • File `devices` berisi daftar perangkat yang sedang aktif.

  • File `cpuinfo` memberikan informasi tentang CPU dan proses yang sedang berjalan.

  • File `meminfo` menyajikan data tentang memori dan cara proses berlangsung.

  • File `uptime` menampilkan informasi tentang durasi sistem yang telah berjalan sejak terakhir kali reboot atau dimatikan.

5. 

Kondisi awal berada di direktori /proc/ Kemudian dengan menjalankan perintah $ cd ~reza digunakan untuk berpindah ke direktori lain. Perintah $ pwd untuk mengecek keadaan kita sedang berada di suatu direktori.

6. 

Untuk kembali ke direktori home dapat menggunakan perintah $ cd .. 

7.

Membuat subdirektori work play dengan menggunakan perintah $ mkdir work play. Kemudian untuk mengeceknya menggunakan perintah $ ls.

8.

Menghapus subdirektori work pada direktori home menggunakan perintah $rmdir. Kemudian untuk memastikan subdirektori tersebut sudah terhapus pengecekan keseluruhan menggunakan perintah $ ls.

9.

$ cp digunakan untuk mengcopy file passwd ke dalam direktori home.

10.

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

11.

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

12.

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.

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

14.

mengcopy keseluruhan direktori play ke direktori bernama work menggunakan symbolic link 

15

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


2. Pada percobaan 1 point 3 buatllah pohon dari struktur file dan direktori

Kesimpulan

Sistem file pada Linux tersusun seperti pohon, dengan root sebagai titik awal dan bercabang ke subdirektori. Dalam praktikum ini, telah dilakukan linking file yang diperlukan. Untuk menambahkan teks ke file berformat .txt, perintah `echo` bisa digunakan, dan untuk melihat isi file, kita dapat menggunakan `cat`. Ada juga berbagai perintah yang digunakan untuk memindah atau menyalin file antar direktori. Di antaranya adalah `cp` untuk menyalin file, `mv` untuk memindahkan file, `cd` untuk berpindah antar direktori, `ln` untuk membuat link, `mkdir` untuk membuat direktori baru, dan `rmdir` untuk menghapus direktori.


REFERENSI
  • Materi kuliah sistem operasi
  • Dokumentrasi linux ubuntu

Posting Komentar

0 Komentar