Praktikum 3
Sistem File dan 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
- 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 /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.
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:
- 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 1 : Direktori
2. Melihat direktori aktual dan parent direktori
3. Membuat satu direktori, lebih dari satu direktori atau sub 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
- Percobaan 3 : Symbolic Link
- Percobaan 4 : Melihat isi file
- 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 2 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.
ConversionConversion EmoticonEmoticon