Praktikum II Shell Programming
Praktikum II I. Judul Linux File System II. Tujuan 1. mengerti model struktur direktori pada sistem operasi Linux 2. mengetahui perintah-perintah yang berhubungan dengan penanganan file dalam sebuah direktori 3. mengerti cara membuat hard dan symbolic link 4. memahami penanganan removeable media. III. Dasar Teori Sistem operasi Linux pada dasarnya terdiri dari satu kesatuan file yang terhimpun dalam sebuah direktori terstruktur. Struktur file ini sering disebut dengan Linux File System. File-file yang terhimpun dalam sistem operasi berupa file kernel dan file yang dapat dipanggil langsung untuk mejalankan perintah tertentu. Selain itu juga dalam sistem operasi Linux terdapat direktori yang merupakan representasi dari perangkat keras yang ditangani oleh Linux yaitu “/dev”. Secara umum setiap file yang terdapat pada sistem operasi Linux dapat dikategorikan menjadi empat jenis. 1. Ordinary files Ordinary files adalah file-file umum yang bisa disimpan di Linux, file ini dapat berisi text, data, atau informasi mengenai program tersebut. Pada sistem operasi Linux penamaan file tidak dipisahkan berdasarkan extension walaupun pada kenyataannya banyak juga file di Linux disimpan dengan nama yang diberi extension. Hal tersebut hanya sekedar untuk mempermudah user dalam mengidentifikasi file. Pada kenyataannya ‘.’ Yang dianggap sebagai pemisah nama file dan extension di dalam Linux tetap dianggap sebagai bagian dari karakter nama file tersebut. 2. Direktori Direktori adalah tempat menampung file dan juga sub-direktori. 3. Devices Untuk memberikan kemudahan bagi applikasi untuk mengakses perangkat keras yang ditangani oleh sistem operasi, Linux memperbolehkan file-file yang merupakan representasi link menuju perangkat keras dapat diakses layaknya ordinary file. Ada dua jenis file devices di dalam system operasi Linux yaitu block-oriented (misalnya hardisk) dan yang kedua adalah byte-per-byte-oriented (misalnya modem dan dumb terminal).
Copyright Ach Subhan KH
1
Praktikum II Shell Programming
4. Link Link adalah pointer yang diarahkan pada file tertentu. Ada dua jenis link yakni hard-link dan soft-link. Hard-link merupakan link yang statusnya sama dengan file aslinya, sehingga jika hard link dihapus maka file aslinya akan ikut terhapus. Sedangkan soft link merupakan shortcut file dalam sebuah direktori dan hanya memiliki ikatan untuk proses eksekusi file tersebut. Pada operasi penghapusan file soft-link, file yang asli tidak ikut terhapus juga. 2.1 Struktur Linux File System Linux file system berbentuk semacam hirarki pohon struktur, dimana hirarki tertingginya adalah top-level directory yang biasa disebut root atau disimbolkan dengan ‘/’. Karena merupakan sebuah pohon struktur maka, di dalam direktori tersebut dapat berisi direktori lain yang merupakan anak dari direktori di atasnya atau parent directory. Tampak pada gambar 2.1 layout dari struktur Linux File System.
Gambar 2.1 Tipikal dasar dari struktur Linux Files System
Copyright Ach Subhan KH
2
Praktikum II Shell Programming
Direktori / /bin /boot /dev /etc /home /lib /lost + found /misc /mnt /proc /root /sbin /tmp /usr /var
Isi Direktori “root” Applikasi umum yang ada di Linux Kernel dan boot file Kumpulan file device Kumpulan file konfigurasi di Linux Direktori user Share library umum Tempat menyimpan file yang rusak Direktori tempat file tambahan Direkori tempat mounting file system atau device Direktori file status hardware dan file system Direktori user root Program administrasi system Direktori temporer Direktori file system yang berhubungan dengan user File log system, file spool dan file dinamis lainnya
Pada saat awal setelah login berhasil dilakukan posisi direktori berada di lokasi direktori /home/users/. Direktori ini dapat juga disimbolkan dengan tanda ‘~’ sehingga misalnya user bernama mrbee berhasil login maka bentuk prompt yang muncul adalah : mrbee@froodo:~$
ini artinya posisi direktori saat ini berada di lokasi direktori home user mrbee, atau “/home/mrbee”. Sedangkan tanda ‘~’ juga dapat digunakan untuk mengarahkan ke direktori lain, karena Linux menginterpretasikan ‘~’ sebagai direktori user. 2.2 Penanganan file dan direktori Pada bagian ini akan dijelaskan mengenai perintah-perintah yang berkenaan dengan penanganan sebuah direktori dan file-file pada system operasi Linux. pwd Perintah pwd berfungsi untuk menampilkan posisi absolut dari direktori saat itu. Sehingga jika perintah ini dijalankan. $pwd ‘enter’ /usr/bin
artinya bahwa posisi direktori saat itu adalah /usr/bin.
Copyright Ach Subhan KH
3
Praktikum II Shell Programming
ls (list directory) Ls merupakan perintah untuk menampilkan daftar isi dari direktori. Jika perintah ini tidak diberi target maka isi dari direktori saat itu yang akan ditampilkan.
$ls ‘enter’ Bin dev home boot etc lib
mnt proc
share usr
pada kenyataannya perintah ‘ls’ tidak menampilkan semua daftar direktori yang ada, jika diamati ada beberapa daftar isi direktori yang tidak ditampilkan yaitu ‘.’ Dan ‘..’. keduanya bersifat tertutup(hidden) dan Linux sengaja tidak menampilkan Karen isi dari file ini berupa informasi penting mengenai direktori tersebut. Maka untuk menampilkan daftar isi secara keseluruhan dapat digunakan option tambahan pada perintah ls seperti contoh berikut : $ls –a ‘enter’
dengan menggunakan perintah tersebut maka semua isi yang ada dalam direktori saat itu akan ditampilkan, namun perintah ini tidak menampilkan secara detail tentang status dati file dan direktori yang ada di dalamnya, istilah ini dikenal dengan short listing. Kebalikan dari short listing adalah long listing dimana setiap file yang ditampilkan akan ditampilkan pula status detail dari file tersebut. Untuk menampilkan semua daftar isi sebuah direktori dalam bentuk long listing bisa dilakukan dengan menuliskan perintah sebagai berikut : $ls –a –l ‘enter’ atau bisa juga $ls –al ‘enter’
maka hasil dari perintah tersebut adalah :
dimana, type : berisi karakter tunggal dimana nilainya memiliki arti ‘d’ direktori, ‘l’ link, ‘-‘ ordinary file, ‘c’ character oriented devices, ‘b’ block-oriented devices. Permissions : terdiri dari 9 karakter yang memiliki arti 3 tipe akses dengan 3 kategori user. 3 tipe akses adalah ‘r’ read, ‘w’ write, ‘x’ execute. Sedangkan 3 tipe user adalah owner(pembuat file), group owner(group yang berhak mengakses), owner lain (selain owner dan group yang bersangkutan). Links : merupakan konsatanta link atau pengarah bernilai 1 jika file tersebut merupakan sebuah shortcut dari sebuah file tertentu.
Copyright Ach Subhan KH
4
Praktikum II Shell Programming
Owner : nama user pembuat file tersebut. Group : nama group yang dapat mengakses file tersebut. Size : ukuran file Date : tanggal pembuata file. Name : name file yang bersangkutan. selain itu juga masih banyak option tambahan yang dapat digunakan dalam perintah ‘ls’, untuk mencari semua itu bisa menggunakan perintah bantuan di Linux yaitu : $man ls ‘enter’
perintah man berfungsi untuk menampilkan bantuan penjelasan mengenai topik yang diinginkan, selain itu juga ada perintah untuk bantuan lainnya yang bisa digunakan yang berfungsi sama dengan “man” namun keluarannya dalam bentuk yang berbeda yaitu : $info ls ‘enter’
cd (change directory) perintah ‘cd’ dapat digunakan untuk merubah lokasi direktori saat itu, bentuk perintah ‘cd’ adalah : $cd <path> ‘enter’
dimana, path = merupakan nama direktori yang dituju, jika path berupa ‘..’ Maka lokasi akan berpindah menuju parent directory dari direktori saat itu. Bisa juga path tidak dituliskan, maka Linux akan menginterpretasikan perintah tersebut untuk mereset posisi direktori saat itu menuju direktori home. Selain itu juga path bisa dituliskan dengan ‘-‘ yang berarti merubah posisi direktori saat itu menuju direktori sebelumnya. mkdir (Make Directory) $mkdir
‘enter’
perintah ini berfungsi untuk membuat direktori dengan nama yang tercantum dalam option di dalam lokasi direktori saat itu. rmdir (Remove directory) $rmdir ‘enter’
perintah ini akan menghapus nama direktori yang tercantum pada . Perintah ini juga akan menghapus sub-direktori didalamnya jika subdirektori tersebut kosong atau berisi daftar ‘.’ Dan ‘..’ saja.
Copyright Ach Subhan KH
5
Praktikum II Shell Programming
cp (Copy) ‘cp’ digunakan untuk menduplikasi sebuah file atau direktori. Perintah untuk menduplikasi di Linux adalah : $cp ‘enter’
di dalam proses duplikasi selain file juga bisa digunakan untuk menduplikasi direktori beserta isi didalamnya atau lebih dikenal dengan istilah recursive mode. Perintah untuk menduplikasi direktori secara recursive adalah : $cp –rd ‘enter’
yang
akan
diduplikasi>
tujuan>
mv(move) Perintah ini berfungsi untuk merubah dan atau memindah nama file atau direktori. Bentuk perintahnya adalah : $mv
yang
akan
dirubah>
file/direktori
jika direktori masih sama dengan direktori asal maka untuk mencegah proses overwrite sebuah file yang dipindah, perintah mv dapat diikuti dengan option ‘-i’ untuk memberikan konfirmasi jika nama tujuan akan melakukan proses overwrite. Perintahnya adalah : $mv –i ‘enter’
rm (remove/delete) $rm ‘enter’
perintah ‘rm’ digunakan untuk menghapus sebuah file atau bisa juga sebuah direktori. Untuk memberikan konfirmasi penghapusan sebuah file dapat digunakan perintah sebagai berikut : $rm –i ‘enter’ rm : remove ‘’?
untuk menghapus sebuah direktori beserta isinnya dapat dilakukan dengan menuliskan perintah : $rm –rf
Copyright Ach Subhan KH
6
Praktikum II Shell Programming
Option ‘–r’ memiliki arti recursive dimana untuk perintah rm –r Linux akan mejalankan penghapusan semua file dan sub-direktori yang ada dalam direktori yang dihapus. Pada operasi ini Linux akan mengkonfirmasi satu persatu penghapusan file yang ada dalam direktori. Hal ini akan berakibat buruk bagi seorang administrator, dimana jumlah file yang ada dalam sebuah direktori jumlahnya banyak. Untuk menghindari ini maka option ‘–r‘ditambahkan dengan oprtion ‘–f’ yang berarti force sehingga ketika menghapus direktori beserta isinya Linux tidak akan mengkonfirmasi lagi. Hati-hati dalam penggunaan perintah ini. cat (catenate/type) perintah ini digunakan untuk menampilkan isi sebuah file, perintah ini juga dapat digunakan untuk membuat sebuah file dengan cara menambahkan option redirection ‘>’ ke sebuah file baru. Contoh penggunaan perintah ini : $cat > myfile ‘enter’ Helo saya mr-bee [tekan ctrl-d]
setelah itu untuk melihat file yang telah dibuat lakukan dengan perintah berikut ini : $ls myfile ‘enter’ Myfile
Untuk melihat isi yang ada di dalam file yang telah dibuat, dapat dilakukan dengan menggunakan perintah ‘cat’ seperti berikut ini : $cat myfile ‘enter’ Helo saya mr-bee
Tampak hasil dari eksekusi perintah “cat myfile” menampilkan isi dari file bernama “myfile”. more (catenate with pause) Suatu saat ketika menjalankan perintah di Linux, tampilan yang keluar memiliki jumlah baris yang sangat banyak atau melebihi kapasitas baris dari layar monitor. Hal ini tentu akan menyulitkan untuk melihat hasil keluarannya karena yang tampak adalah bagian akhir sejumlah kemampuan baris layar monitor. Untuk mengatasi hal ini, Linux menyediakan sebuah perintah yang dapat menghentikan per jumlah baris monitor, sehingga jika sebuah file yang ingin ditampilkan isinya memiliki 200 baris sementara kemampuan layar monitor sebesar 25 baris maka dengan menggunakan perintah more keluaran dimonitor akan ditampilkan per 25 baris sampai selesai, untuk melanjutkan ketampilan berikutnya user diminta untuk menekan sembarang tombol atau bisa juga dengan tombol ‘spasi’. Contoh penggunaan perintah “more” adalah : $more ‘enter’
Copyright Ach Subhan KH
7
Praktikum II Shell Programming
Menampilkan isi file, jika jumlah baris melebihi dari jumlah baris pada layar monitor maka akan dihentikan sampai dengan user menekan tombol untuk melanjutkan tampilan baris berikutnya. ‘more’ juga dapat dikombinasikan dengan perintah yang lainnya dengan fungsi yang sama. Misalnya : $ls –l | more ‘enter’
Perintah ini akan menampilkan seluruh daftar isi direktori, dan berhenti ketika baris daftar isi sudah memenuhi layar. Proses akan dilanjutkan kembali ketika user menekan tombol. 2.4 Penanganan Removeable Media Removeable media adalah perangkat keras yang dapat dipasang dan dilepas tanpa harus melalui prosedur yang rumit. Media ini termasuk jenis penyimpan data seperti USB flash disk, CDROM, serial CD-Rom dll. Pada dasarnya media ini sama dengan media-media biasanya, yang membedakan adalah jenis media ini dapat dilepas kapan saja saat diinginkan. Dalam sistem operasi Linux ada perlakuan khusus untuk menangani removeable media. Secara umum proses penanganannya sering disebut dengan mount. Linux file system menyediakan satu direktori khusus untuk penanganan removeable media yaitu di direktori “/media”. Dengan syarat sistem Linux sudah mengenal terlebih dahulu pada saat proses instalasi. Sementara itu device removeable media itu sendiri setelah dikenali oleh Linux akan dibuatkan file device dalam direktori “/dev”. Nama dari file tersebut bergantun pada jenis media. Berikut ini daftar removeable media beserta file devices-nya. CD-ROM USB flashdisk HDD USB camera
/dev/cdax, /dev/cdbx /dev/sdax, /dev/sdbx /dev/hdax, /dev/hdbx /dev/videox
Dimana ‘x’ adalah nomer indek dari device yang diberikan oleh sistem operasi Linux. Jika perangkat sejenis yang ditancapkan lebih dari satu maka indek akan terus naik secara berurutan dimulai dari nol. Untuk menangani removeable media di Linux dapat dilakukan dengan beberapa proses sebagai berikut : Mount Mount adalah proses untuk mengenalkan media pada sistem operasi, jika proses mount berhasil maka media akan bisa dibaca dan ditulisi. Perintah mount dalam Linux adalah : $mount ‘enter’
Contoh untuk melakukan mount terhadap usb flashdisk yang berada di /dev/sda1 dan diarahkan menuju direktori /mnt/data, maka,
Copyright Ach Subhan KH
8
Praktikum II Shell Programming
$mount /dev/sda1 /mnt/data ‘enter’
Pada proses tersebut direktori /mnt/data harus sudah tersedia terlebih dahulu. Direktori tujuan bisa dimana saja asal memenuhi kriteria tempat yang memang diperbolehkan oleh Linux untuk proses penulisan dan pembacaan data. unmount Kebalikan dari mount, unmount digunakan untuk melepas removeable media dari sistem operasi Linux. Perintah yang digunakan untuk unmount adalah : $umount ‘enter’
Contoh $umount /dev/sda1 ‘enter’
IV.
Petunjuk praktikum 1. jalankan komputer dan login dengan username selain root dan password masing-masing. 2. catat nama direktori saat ini dengan menggunakan perintah “$pwd” dan tekan ‘enter’ 3. ketik “$su” dan tekan ‘enter’. 4. masukkan password root dan tekan ‘enter’ (Tanya instruktur atau asisten) 5. jalankan sekuen perintah berikut ini dan catat hasil yang diperoleh sesuai petunjuk dalam sekuen. $pwd ‘enter’ catat hasilnya di laporan $cd ‘enter’ $pwd ‘enter’ catat hasilnya di laporan. $ls –al ‘enter’ $cd . ‘enter’ $pwd ‘enter’ catat hasilnya di laporan $cd .. ‘enter’ $pwd ‘enter’ $ls –al ‘enter’ $cd .. ‘enter’ $cd /etc ‘enter’ $ls –al | more ‘enter’ $cat passwd ‘enter’ (catat baris yang memiliki nama user dan root) $cd – ‘enter’ $pwd ‘enter’ $cd / ‘enter’ $ls –al ‘enter’ (catat nama-nama direktori yang ada minimal 3)
6. Arahkan direktori menuju ke direktori /dev dengan mengunakan perintah berikut ini :
Copyright Ach Subhan KH
9
Praktikum II Shell Programming
$cd /dev ‘enter’ $ls –la ‘enter’
Carilah 5 device file jenis character-oriented dan 5 device file jenis blockoriented. Catat dalam laporan. 7. keluar atau logout dari terminal root dengan menggunakan perintah “$exit” dan tekan ‘enter’. 8. pastikan anda berada di direktori “$/home/user” 9. jalankan perintah berikut ini. $mkdir ‘enter’ $ls –al (catat hasilnya di laporan) $cd ‘enter’ $pwd ‘enter’ (catat hasilnya di laporan) $mkdir kerja ‘enter’ $cd kerja ‘enter’ $pwd ‘enter’ (catat hasilnya di laporan) $cat > file_saya ‘enter’ percobaan praktikum II ‘enter’ ctrl-d $ls –la file_saya ‘enter’ (catat hasil di laporan) $cat file_saya ‘enter’ (catat hasil di laporan)
10. jalankan perintah berikut ini catat hasilnya di laporan sementara. $cd /etc ‘enter’ $ls –al resolv.conf ‘enter’ $cat resolv.conf ‘enter’ $cd network ‘enter’ $ls –la interfaces ‘enter’ $cat interfaces ‘enter’
11. jalankan sekuen perintah berikut ini : catatan : pastikan di direktori “$/home/user” sudah ada direktori dengan nama dan sub-direktori dengan nama kerja. Jika tidak ada silahkan jalankan langkah no 9. $cd $cd $cd $cp $cd $ls $cp $ls
‘enter’ /etc ‘enter’ network ‘enter’ interfaces /home/user//kerja ‘enter’ /home/user/ ‘enter’ –al ‘enter’ (catat hasilnya di laporan sementara) /etc/resolv.conf /home/user//kerja ‘enter’ –la ‘enter’ (catat hasilnya di laporan sementara)
12. Jalankan sekuen perintah berikut ini : $cd $cd $mv $mv
‘enter’ /home//kerja ‘enter’ interfaces antarmuka ‘enter’ resolv.conf reslover.cnf ‘enter’
Copyright Ach Subhan KH
10
Praktikum II Shell Programming
$ls –al ‘enter’ (catat hasilnya di laporan sementara)
13. Gambarkan struktur direktori system yang anda gunakan saat ini.
V.
Tugas 1. Gambarkan struktur pohon untuk direktori secara lengkap berikut ini. /etc/init.d /etc/network 2. Dengan menggunakan perintah berikut ini jelaskan hasil keluarannya. $cat /etc/fstab ‘enter’
Copyright Ach Subhan KH
11