LAPORAN RESMI PRAKTIKUM SISTEM OPERASI MODUL I SHELL INTERAKTIF DAN SKRIP
TGL PRAKTIKUM NAMA NRP KELAS DOSEN PENGAMPU
: 27 September 2012 : M. ANANG SETIAWAN : 11.04.111.00061 : C2 : Faikul Umam, S.Kom.
Disetujui : Bangkalan,
2012
( TONY WIJAYA ) 09.04.111.00064
LABORATORIUM SISTEM INFORMASI
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS TRUNOJOYO 2012
BAB I PENDAHULUAN 1.1. Latar Belakang Menjalankan suatu system operasi secara console jika diterapakan di era sekarang sepertinya terdengar sudah bukan
zamannya lagi. Hampir semua
system
pengembang
operasi
yang
diciptakan
para
system
operasi
menggunakan objek. Namun Anda jangan sampai berpikiran terlalu jauh mengenai hal tersebut. Sebelum tercipta bermacam-macam system operasi yang menggunakan grafis seperti saat ini, system operasi berbasi console lebih dulu lahir. Memang kita merasa jauh lebih nyaman jika menggunakan system operasi yang berbasis visual dari pada text. Namun, banyak dari para pengembang system operasi yang beranggapan bahwa proses kerja dari system operasi itu lebih cepat yang berbasis text daripada berbasis visual. Selain itu, dengan selalu mengetikkan kode-kode kita bisa melatih kedua tangan kita mengetik cepat 10 jari. Lebih dalam lagi kita nantinya akan mengenal bermacam shell pada masing-masing system operasi. Terminal terdapat di system operasi linux, command prompt di windows, dan masih banyak lagi.
Pada praktikum
pertama ini, kita akakn menggunakan system operasi linux sebagai media praktik. Karena linux paling umum digunakan dalam mengerjakan tugastugas yang satu ini. 1.2. Tujuan 1. Membiasakan para praktikan untuk menjalankan pekerjaan di linux menggunakan terminal linux. 2. Mempelajari perintah dasar yang terdapat pada system linux menggunakan terminal.
BAB II DASAR TEORI 2.1. Pengertian Shell Shell dapat dikatakan sebagai tempat interaksi antara pengguna dan sistem Linux yang sedang digunakan. Shell juga bertugas menerjemahkan atau
mengeksekusi
(command
line).
program. Shell menyediakan Shell
dapat
diguakan
suatu
antarmuka
teks
untuk mengelola (administering)
sistem Linux seperti menambah pengguna, mengatur file dan direktori
dan
memantau kerja dari sistem operasi. Shell Linux ditandai oleh $ (user reguler) atau # (root). Shell Bash dapat digunakan dalam dua modus, yaitu modus interaktif dan modus skrip. Pada perintah
disamping
eksekusi
akan
modus
prompt
ditampilkan
interaktif,
anda
dan mengakhirinya langsung
pada
menuliskan satu baris dengan
layar dan
ENTER. Hasil anda
kembali
disediakan prompt untuk memasukkan perintah-perintah berikutnya. Pada modus skrip, anda menuliskan skrip atau kode program, berisi perintahperintah Linux,
menyimpannya
ke
dalam sebuah file dengan ekstensi
.sh. Selanjutnya file ini dijalankan pada modus Interaktif. 2.2. Shell Interaktif Bagian interaktif
ini
memperlihatkan
bagaimana
memanfaatkan
shell
untuk mengadministrasi sistem Linux yang digunakan. Sebagai
latihan awal, coba tulis (akhiri dengan enter) setiap perintah di bawah ini
dan perhatikan luaran yang dihasilkan („$‟
menandakan prompt): $ date; whoami; pwd $ ps $ top $ ls –la
$ echo ”Kereeeen”
tidak diketik, itu hanya
$ a=10; echo $a $ b=109; echo "B bernilai :" $b
Secara garis besar anda mengetahui apa fungsi dari perintah di atas,
dengan
dan
jam, whoami (who am
pengguna,
melihat luarannya. Perintah date untuk mendapatkan tanggal
pwd
(print
i) untuk mengetahui
working
directory)
nama
login
dari
untuk mendapatkan nama
direktori aktif (dimana anda berada). Perintah top (table of processes) untuk memperoleh daftar proses yang sedang berjalan. Perintah ls (list) untuk mendapatkan daftar file dan direktori dimana pengguna aktif berada. Bagaimana
dengan
kegunaannya? mengetahui
perintah-perintah
lainnya? Anda
Luaran dari eksekusi di atas belum
belum
tahu
jelas? Anda dapat
fungsi dan cara menggunakan perintah di Linux memanfaatkan
perintah man, singkatan dari manual. $ man ls $ man ps $ man file
Perintah
„man ls‟ digunakan untuk mendapatkan manual dari perintah
ls. Manual berisi fungsi dari perintah, cara pemanggilan perintah bersama dengan
parameter-parameter yang mungkin disertakan dan penjelasan lebih
lanjut mengenai setiap cara penggunaan dan sering disertai beberapa contoh. Bagaimana mencari file dengan ekstensi tertentu? Misalnya *.jpg? Silakan
gunakan perintah „man find, baca dokumentasinya secara teliti dan
selesaikan masalah ini. Sekarang jalankan perintah-perintah di bawah ini, satu demi satu dan jelaskan maksudnya! $ find . -name '*.jpg' $ file nama_file $ echo “belajar shell linux” > nama_file $ echo “keren abis” >> nama_file $ echo “OK...sepakat....te o pe deh” >> nama_file $ cat nama_file $ more nama_file $ grep keren nama_file
$ man grep
Apa perintah
kegunaan yang
dari
perintah
mengandung
grep? Coba
perintah
grep.
jalankan
Samakah
dua
baris
hasilnya? Apa
perbedaannya? $ cat nama_file | grep "OK" $ grep "OK" nama_file
2.3. Pipeline dan Redirection Pipeline (garis pipa, |) dapat digunakan untuk mengirimkan luaran dari suatu perintah ke perintah lain. Menggunakan pipe, luaran dari perintah di sebelah kiri pipe akan dijadikan masukan bagi perintah di sebelah kanan pipe. Jalankan baris demi baris di bawah ini dan cermati hasilnya! $ echo ”aris joko faza fenny ubaid” $ echo ”aris joko faza fenny ubaid” | tr ” ” ”\n” $ echo ”aris joko faza fenny ubaid” | tr ” ” ”\n” | sort $ echo ”aris joko faza fenny ubaid” | tr ” ” ”\n” | sort -r
Anda tentu telah paham manfaat dari perintah echo, yaitu hanya mencetak teks yang dijadikan parameter saat pemanggilannya. Perintah tr digunakan
untuk
mentranslasi daftar string. Parameter “ “ “\n” pada
pemanggilan tr mengatakan bahwa ganti spasi (“ “) dengan karakter baris baru
(newline,
\n). Perintah sort dapat digunakan untuk mengurutkan
baris-baris string (teks). Apa yang dihasilkan oleh baris ke-4 di atas? Apa perbedaannya dengan baris ke-3? Redirection
atau
pengalihan
digunakan
untuk mengalihkan luaran eksekusi dari suatu perintah. Secara default, luaran dari suatu perintah adalah layar (screen). Kita dapat mengalihkan luaran tersebut ke suatu file dengan menggunakan operator > atau >>. Operator > digunakan untuk membuat file baru dan memasukkan teks baru ke dalamnya. Operator >> digunakan untuk menambahkan entri selanjutnya ke dalam file yang dibuat oleh operator > sebelumnya. Sekarang,
jalankan
perintah
perhatikan hasil yang diperoleh! $ date > sekarang.txt $ cat sekarang.txt $ date >> sekarang.txt
di
bawah
ini
secara
benar
dan
$ cat sekarang.txt
2.4. Skrip Shell Pertama Pada bagian
ini anda akan belajar menuliskan sebuah skrip yang
sekedar menampilkan pesan "Halo dunia". Gunakan Text Editor dan buat file teks bernama pertama.sh seperti di bawah ini: #!/bin/bash # Nama file skrip: pertama.sh # Skrip ini menampilkan teks menggunakan perintah echo echo Halo dunia
# mencetak teks Halo dunia
Baris pertama memberitahukan
sistem Linux bahwa
dieksekusi oleh program bernama /bin/bash. Ini merupakan
file
akan
lokasi standard
dari shell Bash pada banyak distribusi GNU/Linux. Pada beberapa distribusi Linux, ada perintah /bin/sh yang merupakan link simbolik ke bash. Baris pertama dari setiap skrip harus dan hanya mencantumkan “#!/bin/bash” atau “#!/bin/sh”.
Baris baris
kedua
tersebut
dimulai dengan simbol khusus, #. Ini menandakan
sebagai suatu komentar. Shell akan mengabaikannya, tidak
memroses komentar tersebut.
Satu-satunya pengecualian
adalah simbol #!
yang diletakkan di baris pertama dari file skrip – seperti pada contoh di atas. Ini adalah direktif khusus.
Jika anda
terbiasa dengan Perl,
menjumpai adanya #!/usr/bin/perl pada baris untuk memberitahukan
shell
interaktif
pertama
bahwa
setiap
tentu
telah
skrip
Perl
program tersebut akan
dieksekusi oleh Perl. Pada pemrograman shell Bash adalah #!/bin/sh. Baris
ketiga
menjalankan
suatu
parameter atau argumen – pertama adalah "dunia".
perintah
echo
dengan
dua
"Halo" dan kedua adalah
Perintah echo akan secara otomatis meletakkan spasi tunggal di
antara parameter-parameternya. Simbol # menandakan komentar. Karakter # dan apapun yang mengikutinya, pada baris yang sama, diabaikan oleh shell. Sekarang jalankan chmod 755 pertama.sh atau (chmod +x pertama.sh) untuk membuat file teks executable dan jalankan skrip dengan ./pertama.sh. Pada jendela shell (terminal) terlihat sebagai berikut: $ chmod 755 pertama.sh $ ./pertama.sh
Halo dunia
2.5. Perintah echo Apakah menulis
hanya untuk menampilkan dua kata
skrip? TIDAK. Anda dapat menggunakan
memperoleh
hasil
tersebut kita harus shell
interaktif untuk
yang sama. Tuliskan langsung perintah echo Halo dunia
di shell dan perhatikan luarannya: $ echo Halo dunia Halo dunia
Sekarang meletakkan
buat
SATU
sedikit
perubahan.
spasi antara
Pertama,
ingat
bahwa echo
parameter-parameternya.
Tempatkan
beberapa spasi antara teks "Halo" dan "dunia". Hasil seperti apa yang diharapkan? Bagaimana jika anda meletakkan karakter TAB di antaran dua kata tersebut? Bagaimana
luaran
dari perubahan tersebut? Output skrip sama
persis dengan 8 sebelumnya. Kita memanggil program echo dengan dua argumen;
echo
tidak menghiraukan
berapa
pun
jumlah
spasi
di
antaranya. Sekarang, coba ubah lagi skrip tersebut menjadi: #!/bin/sh # Ini baris komentar! echo "Halo
dunia"
# Ini juga komentar
Kali ini spasi yang ditambahkan tampil sebagai output. Mengapa? Karena echo dipanggil dengan hanya SATU argumen yang diapit oleh petik
ganda
“Halo dunia”. Tampilan di
layar tepat sama dengan yang
dituliskan dalam skrip. Perlu dipahami bahwa shell mem-parse argumen SEBELUM
melewatkannya
ke
program
yang
dipanggil.
Shell
menghilangkan tanda petik dan melewatkan string tersebut sebagai satu argumen. Contoh kedua, masih berkaitan dengan perintah echo. Tulis skrip berikut. Perkirakan luarannya sebelum menjalankannya: #!/bin/sh # Nama file skrip: kedua.sh # Apa yang dihasilkan skrip ini? echo "Halo
dunia "
echo "Halo dunia "
# mencetak teks Halo dunia
echo "Halo * dunia " echo Halo * dunia echo Halo
dunia
echo "Halo" dunia echo Halo "
" dunia
echo "Halo \"*\" dunia " echo `halo` dunia echo 'hello' dunia
Apakah khawatir!
Ini
luarannya
sesuai
yang
diharapkan?
Jika
tidak, jangan
hanya beberapa hal yang akan dibahas pada bagian-bagian
lanjut dalam panduan ini. Dan tentu anda akan belajar perintah-perintah lain yang lebih powerful daripada echo.
BAB III TUGAS PENDAHULUAN 3.1 Tugas Pendahuluan 1. Apa yang dimaksud shell pada sistem operasi Linux? Apakah Windows juga mempunyai shell? Jawab: Shell adalah tempat interaksi antara pengguna dan sistem Linux yang sedang digunakan. Shell juga bertugas menerjemahkan atau mengeksekusi program. Shell menyediakan suatu antarmuka teks (command line). Shell Linux ditandai oleh ¤ (user reguler) atau # (root). Dan disebut juga program yang “menjembatani” user dengan system operasi dalam hal ini kernel. Windows juga mempunyai shell yaitu cmd.exe (command prompt).
2. Sebutkan 20 perintah shell yang banyak digunakan untuk mengelola sistem operasi Linux! Jawab: a) cat
h) w
o) last
b) uname –a
i) whoami
p) lwp-download
c) netstat -tnap
j) id
q) userdel
d) rm -rf
k) mkdir
r) tar –zxvf
e) cp
l) touch
s) su
f) mv
m) pwd
t) chmod
g) echo
n) chown
3. Apa fungsi dari perintah „sudo‟? Jawab: Sudo
berguna
untuk
memberikan
hak
pengguna
biasa
untuk
melakukan tugas yang seharusnya hanya bisa digunakan oleh root. Dan untuk masuk ke super user / bagian tertinggi dari system operasi Linux.Arti ¤ dalam linux yaitu : user regularArti # dalam linux yaitu : root yang merupakan Posisi tertinggi di Sistem Operasi.
BAB IV TUGAS PRAKTIKUM 4.1 Tugas Praktik (di Laboratorium) Pastikan Anda berada di direktori home Anda sendiri. 1. Gunakan perintah-perintah yang berkaitan dengan pengelolaan file seperti cp, mv, touch dan cat! Jawab:
2. Baca manual dari grep dan tr. Coba berbagai variasi dari contoh yang diberikan pada panduan pemrograman shell! Jawab:
3. Coba buka file /etc/passwd dengan perintah cat atau more. Gunakan grep dan ambil informasi mengenai pengguna tertentu! Jawab:
4. Biasakan diri Anda dengan Text Editor berbasis console seperti vi dan pico! Jawab: Pico
Vi
4.2 Tugas Tambahan 1. Cari system direktori apa saja dan digunakan untuk apa saja! Jawab: a) /bin : berisi file-file binary standar yang dapat digunakan oleh seluruh user baik user biasa maupun super user b) /boot : berisi file-file yang digunakan untuk booting Linux termasuk kernel image c) /dev : berisi file system khusus yang merupakan refleksi device hardware yang dikenali dan digunakan sistem d) /etc : berisi file-file konfigurasi sistem, biasanya hanya boleh diubah oleh super user e) /home : berisi direktori-direktori yang merupakan direktori home untuk user biasa dan aplikasi tertentu f) /lib : berisi file-file library yang digunakan untuk mendukung kerja kernel Linux g) /mnt : direktori khusus yang disediakan untuk mounting (mengaitkan) device disk storage ke sistem dalam bentuk direktori
h) /proc : berisi file system khusus yang menunjukkan data-data kernel setiap saat i) /root : direktori home untuk user root (user khusus dengan priviledges hampir tak terbatas) j) /sbin : sama seperti direktori bin, tetapi hanya super user yang sebaiknya
menggunakan
binary-binary
tersebut
mengingat
fungsi-
fungsi binary yang terdapat di direktori ini untuk maintenance sistem k) /tmp : berisi file-file sementara yang dibutuhkan sebuah aplikasi yang sedang berjalan l) /usr : berisi library, binary, dokumentasi dan file lainnya hasil instalasi user m) /var : berisi file-file log, mailbox dan data-data aplikasi
2. Coba 20 perintah dasar yang ada di Tugas Pendahuluan, manipulasi perintah dasar tersebut ke dalam .sh! Jawab: a) Cat #! /bin/bash Cat percobaan.txt
e) cp #! /bin/bash cp coba.sh coba1.sh
b) uname –a #! /bin/bash Uname –a
f) mv #! /bin/bash mv coba.sh boca.sh
c) netstat –tnap #! /bin/bash netstat –tnap
g) echo #! /bin/bash
d) rm #! /bin/bash rm coba.sh
Echo operasi”
“belajar
sistem
h) w
cal
#! /bin/bash w
o) last #! /bin/bash
i) whoami
last
#! /bin/bash Whoami
p) pwd #! /bin/bash
j) id
pwd
#! /bin/bash Id
q) cal #! /bin/bash
k) mkdir
Cal
#! /bin/bash mkdir data
r)
date #! /bin/bash
l) touch
Date
#! /bin/bash touch percobaan.txt
s)
help #! /bin/bash
m) pwd
Help
#! /bin/bash pwd
t)
reboot #! /bin/bash
n) cal #! /bin/bash
reboot
4.3 Tugas Akhir
1. Buat sebuah program skrip sederhana untuk menampilkan daftar file yang ada di dalam direktori aktif! Jawab:
BAB V PENUTUP 5.1 Kesimpulan Kita bisa menjalankan sebuah sistem operasi dengan menggunakan dua cara, langsung menggunakan sistem operasi tersebut yang berbasis visual, ata menggunakan console. Masing-masing dari kedua cara tersebut memiliki kekurangan dan kelebihan masing-masing. Sistem operasi berbasis visual unggul dalam tampilan, sedangkan yang console unggul dalam proses pengerjaan suatu sistem.
5.2 Saran Lebih ditekankan lagi fungsi dan cara penulisan dari masing-masing perintah dasar yang terdapat pada terminal linux.