SistemOperasi_4611414043_Pertemuan8
-
Upload
hendisusanto -
Category
Documents
-
view
228 -
download
0
Transcript of SistemOperasi_4611414043_Pertemuan8
-
8/10/2019 SistemOperasi_4611414043_Pertemuan8
1/26
LAPORAN PRAKTIKUM SISTEM OPERASI
PRAKTIKUM 5B
Bekerja Dengan Bash Shell
DISUSUN OLEH
NAMA : HENDI SUSANTO
NIM : 4611414043
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS NEGERI SEMARANG
2014
-
8/10/2019 SistemOperasi_4611414043_Pertemuan8
2/26
PERCOBAAN 6: MEMBUAT BASH-SCRIPT DAN MENJALANKANNYA
1. Buat file p1.sh dan tambahkan text echo Program bash Script didalamnya.
Analisa: Masukkan perintah vip1.sh, tulis echo Program bash Script, kemudian ketik
:w!untuk menyimpan, dan ketik :q!untuk keluar. Vidisini salah satu adalah aplikasi text
editor pada linux.
2. Merubah program menjadi executable, masukkan perintah:
$ lsl p1.sh
$ chmod +x p1.sh
$ lsl p1.sh
Analisa: Perintah ls l p1.sh digunakan untuk melihat detail dari file p1.sh, sedangkan
perintah chmod +x p1.sh digunakan untuk menambah atribut eksekusi pada file p1.sh,
sehingga file p1.sh dapat dieksekusi.
3. Menjalankan script, masukkan perintah berikut:
$ bash p1.sh
$ sh p1.sh
-
8/10/2019 SistemOperasi_4611414043_Pertemuan8
3/26
$ . p1.sh
$ ./p1.sh
Analisa: Untuk menjalankan suatu bash script, kita dapat menggunakan beberapaperintah, yaitu: $ bash , $ sh , $ ., $ ./.
4. Tambahkan baris #! /bin/bashdiatas baris echo Program bash scriptpada file p1.sh
dengan perintah $ vi p1.sh, dan tambahkan #! /bin/bash, kemudian ketikkan :wq untuk
menyimpan dan keluar dari editing.
Analisa: Text #! /bin/bash merupakan konvensi dalam pembuatan sript shell.
5. Buat file p2.sh, dan isikan text dibawah, masukkan perintah:
$ vi p2.sh
Isikan text berikut:
#! /bin/bash
echo Program 2 bash script
-
8/10/2019 SistemOperasi_4611414043_Pertemuan8
4/26
Analisa: Pembuatan file p2.sh pada praktikum kali ini bertujuan untuk menjadi
pendukung untuk praktikum selanjutnya.
6. Jalankan 2 program shell yang sudah kita buat, ketikkan perintah:
$ cat p1.sh ; cat p2.sh
$ ./p1.sh ; ./p2.sh
Analisa: Pada percobaan kali ini, saat menjalankan program p2.sh terjadi kesalahan,
kesalahannnya yaitu file p2.sh belum executable atau belum bias dieksekusi, untuk dapat
mengeksekusinya, kita harus menambahkan atribut execute pada file p2.sh, yaitu dengan
perintah chmod +x p2.sh. Dan untuk menjalankan beberapa program, menggunakan
format ; , dan seterusnya sesuai dengan kebutuhan.
PERCOBAAN 7: JOB CONTROL
-
8/10/2019 SistemOperasi_4611414043_Pertemuan8
5/26
1. Masukkan perintah $ ps x
Analisa: Pada praktikum ini, kita membuat proses foreground, yaitu prosesps x.
2. Masukkan perintah $ ps x > hasil &.
Analisa: Penambahan option & pada akhir perintah berguna untuk membuat proses
berjalan pada background.
3.
Ketikkan perintah $ jobs.
-
8/10/2019 SistemOperasi_4611414043_Pertemuan8
6/26
Analisa: Pada praktikum diatas, diketahui bahwa nomor PID untuk ps x > hasiladalah
23959, dan saat kita akan melihat semua jobs yang berjalan, proses tadi berhenti, jasi
tidak ada proses atau jobs yang sedang berjalan.
4. Buat file ploop.sh dengan perintah $ vi ploop.sh, kemudian masukkan text berikut:
#! /bin/bash
while [ true ]
do
sleep 10
echo Hallo
done
Analisa: Text diatas merupakan isi dari file ploop.sh, yang berisi script shell dari fileploop.sh itu sendiri.
5. Masukkan perintah $ chmod +x ploop.shkemudian $ ./ploop.sh
-
8/10/2019 SistemOperasi_4611414043_Pertemuan8
7/26
Analisa: Perintah $ chmod +x ploop.sh digunakan untuk membuat file ploop.sh menjadiexecutable, sedangkan perintah $ ./ploop.sh untuk menjalankan atau mengeksekusi fileploop.sh, pada saat file ploop.sh dijalanakan, akan muncul pesan Hallo setiap 10 detik,untuk mengakhirinya tekan tombol Ctrl+C.
PERCOBAAN 8: MANIPULASI STACK UNTUK DIREKTORI
1. Masukkan perintah $ dirs
Analisa: Perintah $ dirs digunakan untuk melihat stack direktori, pada output hditampilkan direktori home
2. Masukkan perintah $ mkdir marketing sales support
Analisa: Perintah $ mkdir marketing sales support digunakan untuk membuat 3 direktoridengan nama marketing, sales dan support. Untuk mengecek apakah direktori sudahdibuat, ketikkan perintah ls.
-
8/10/2019 SistemOperasi_4611414043_Pertemuan8
8/26
PERCOBAAN 9: ALIAS
1. Masukkan perintah $ alias
Analisa: Alias merupakan mekanisme untuk memberikan nama lain untuk suatu
command atau perintah. Untuk menampilkan alias yang sudah terdaftar pada system yaitu
dengan mengetikkan perintah $ alias.
2.
Ketikkan perintah $ alias del=rm -i tekan Enter. Kemudian masukkan lagi perintah $
h=history
Analisa: Praktikum diatas bertujuan untuk membuat alias baru, yaitu alias del untuk
perintah rm -i dan h untuk perintah history.
3. Gunakan perintah hasil alias.
$ ls
$ del hasil
$ h | more
-
8/10/2019 SistemOperasi_4611414043_Pertemuan8
9/26
Analisa: Saat kita mengetikkan command atau perintah del, system akan membacanya
sebaga perintah rmi, dan saat mengetikkan perintah h, system akan menggangap atau
membacanya sebagai perintah history.
4. Untuk menghapus alias gunakan perintah $ unalias . Hapus alias del!
-
8/10/2019 SistemOperasi_4611414043_Pertemuan8
10/26
Analisa: Sesudah alias del dihapus, ketika kita memasukkan kembali perintah del, akan
muncul pesan error, yaitu command not found, artinya tidak ada perintah yang bernama
del, karena pada dasarnya tidak ada command del pad alinux dan alias del sudah dihapus.
LATIHAN
1. Eksekusi seluruh profile yang ada.
a. Edit file/etc/profiledan tambahkan baris echo Profile dari /etc/profile.
-
8/10/2019 SistemOperasi_4611414043_Pertemuan8
11/26
Analisa: Edit file /etc/profile menggunakan perintah vi /etc/profile, tambahkan
baris baru yang berisi echo Profile dari /etc/profile.
b. Edit semua file profile yang ada pada home directory user, masukkan perintah:
/home/hendi/.bash_profile
/home/hendi/.bash_login
/home/hendi/.profile
/home/hendi/.bashrc
Analisa: File profile yang ada pada home directory user ada 4, yaitu file
-
8/10/2019 SistemOperasi_4611414043_Pertemuan8
12/26
.bash_profile, .bash_login, .profile dan .bashrc.Untuk mengedit file-file diatas,
tambahkan perintah vi didepan perintah diatas.
c. Tambahkan instruksi echo Profile dari .bash_profilepada file .bash_profile.
Analisa: Edit file .bash_profile dengan perintah vi .bash_profile. Penambahan
baris pada praktikum ini bertujuan untuk menambahkan program bash pada file
.bash_profile.
d. Lakukan hal yang sama untuk semua file profle.
-
8/10/2019 SistemOperasi_4611414043_Pertemuan8
13/26
Analisa: Perintah yang digunakan untuk mengubah file dan penambahannya sama
dengan praktikum sebelumnya, yang membedakan hanyalah nama file dan isi dari
-
8/10/2019 SistemOperasi_4611414043_Pertemuan8
14/26
perintah didalam file harus disesuaikan sebagaimana mestinya.
2. Masukkan perintah $ su hendi lalu tekan Enter, kemudian ketikkan exit dan tekan Enter.
Kemudian gunakan opsi $ suhendi lalu tekan Enter, kemudian ketikkan exit dan tekan
Enter.
Analisa:Ketika menggunakan perintah $ su hendi, bash program yang berjalan ketika
login hanya file .bashrcsaja. Sedangkan jika dengan perintah $ suhendi, program yang
berjalan saat login ada dua file atau program, yaitu program dari file /etc/profile dan
.bash_profile. Dan pada saat perintah exit yaitu untuk logout dijalankan, pada praktikum
pertama program yang berjalan ketika logout yaitu exit, sedangkan pada praktikumkedua, program yang berjalan saat logout yaitu logout.
3. Logout
a. Edit file .bash_logout, tambahkan baris berikut:
echo Terima kasihatas sesi yang diberikan
sleep 5
clear
-
8/10/2019 SistemOperasi_4611414043_Pertemuan8
15/26
Analisa: Edit file menggunakan perintah vi .bash_logout, pesan Terima kasih
atas sesi yang diberikanakan muncul apabila file .bash_logout dijalankan, dan
pesan tersebut akan otomatis hilang jika dibiarkan selama 5 detik, dan perintah
clear akan berjalan setelahnya.
b.
Edit file .bash_logout, tampilkan pesan dan tahan selama 4 detik sebelumeksekusi logout.
Analisa: Untuk menahan selama 4 detik sebelum logout, baris sleep 5 diganti
dengan sleep 4 pada file.bash_logout, kemudian simpan.
-
8/10/2019 SistemOperasi_4611414043_Pertemuan8
16/26
4. History
a. Ganti nilai HISTSIZE menjadi 20 dengan mengetikkan perintah $ HISTSIZE=20,
kemudian masukkan perintah $ hlalu Enter.
Analisa: Ketika nilai HISTSIZE diubah menjadi 20, history hanya akan
menyimpan 20 perintah terakhir yang digunakan oleh user.
b. Masukkan perintah $ !-5kemudian Enter.
Analisa: Perintah $ !-5 digunakan untuk menjalankan perintah kelima dari
perintah yang terakhir dijalankan.
-
8/10/2019 SistemOperasi_4611414043_Pertemuan8
17/26
c. Masukkan perintah $ !!.
Analisa: Perintah $ !! digunakan untuk mengulangi perintah terakhir yang
dijalankan oleh user. Untuk bernavigasi pada history buffer dapat denganmenekan Ctrl+P untuk keatas dan Ctrl+N untuk kebawah.
d. Ulangi instruksi dengan perintah $ !contoh $ !618
Analisa: Perintah diatas digunakan untuk mengulang perintah yang tersimpan
pada history dengan nomor sebagai identitas perintahnya.
-
8/10/2019 SistemOperasi_4611414043_Pertemuan8
18/26
e. Masukkan perintah $ !lskemudian Enter, lalu $ !?ls?.
Analisa: Perintah $ !lsdigunakan untuk mengulang perintah ls yang terakhir kali
dilakukan. Sedangkan perintah $ !?ls? digunakan untuk mengulang perintah
terakhir yang mengandung kata ls pada perintah tersebut.
5. Prompt String (PS)
a. Masukkan perintahperintah berikut:
-
8/10/2019 SistemOperasi_4611414043_Pertemuan8
19/26
PS1=>
export PS1
Kemudian lakukan eksperimen berikut:
$ PS1=\! >
644 > PS1=\d >
Kam Okt 23 > PS1=\t >
11:24:19 > PS1=Saya=\u >
Saya=Hendi > PS1=\w >
~ > PS1=\h
Analisa: Perintah perintah diatas merupakan kustomisasi dari PS1. Format
perintah dari PS1 adalah $ PS1=. Untuk menampilkan PS1 menjadi
nomor urut history, ganti menjadi \!, untuk menunjukan tanggal diganti
menjadi \d,untuk menunjukkan waktu diganti menjadi \t, untukmenunjukkan user
diganti menjadi \u,untuk menunjukkan directory aktif diganti menjadi \w, untuk
mengembalikan seperti semula, ganti menjadi \h.
b. Mengubah shell prompt menjadi warna biru dan berkedip.
-
8/10/2019 SistemOperasi_4611414043_Pertemuan8
20/26
Analisa: Untuk mengubah shell prompt menjadi warna biru dan berkedip
gunakan perintah $PS1=\033[5;34m\w\$ \033[0;37m
6. Bash script
a.
Buat 3 buah file dengan isi masingmasing :
P1.sh
#! /bin/bash
echo Program P1
lsl
P2.sh
#! /bin/bash
echo Program P2
who
P3.sh
#! /bin/bash
echo Program P3
ps x
-
8/10/2019 SistemOperasi_4611414043_Pertemuan8
21/26
Analisa: Buat file dengan perintah $ vi masukkan text diatas sesuai
dengan nama filenya.
b. Jalankan script tersebut sebagai berikut:
$ ./ .p1.sh ; ./p3.sh ; ./p2.sh
$ ./p1.sh &
$ .p1.sh $ ./p2.sh & ./p3.sh &
$ ( ./p1.sh ; ./p3.sh ) &
-
8/10/2019 SistemOperasi_4611414043_Pertemuan8
22/26
-
8/10/2019 SistemOperasi_4611414043_Pertemuan8
23/26
-
8/10/2019 SistemOperasi_4611414043_Pertemuan8
24/26
Analisa: Untuk dapat menjalankan file file tersebut diperlukan untuk
mengubah mode dari semua file menjadi executable dengan perintah $ chmod +x
p1.sh p2.sh p3.sh. Pada praktikum diatas, perintah pertama digunakan untuk
mengeksekusi file p1.sh, p2.sh dan p3.sh dengan urutan p1.sh, kemudian p3.sh
lalu p2.sh. Perintah kedua digunakan untuk mengeksekusi file p1.sh dalam
background, tetapi script bash tetap dijalankan. Perintah ketiga digunakan untuk
menjalankan ketiga file dengan attribute p1.sh dalam foreground, p2.sh dan p3.sh
dijalankan dalam background. Perintah keempat digunakan untuk menjalankan
file p1.sh dan p3.sh dalam satu proses dan pada background.
7. Jobs
a. Buat file pwaktu.sh, dan masukkan script dibawah:
#! /bin/bash
while [ true ]
do
date >> hasil
sleep 10
done
Analisa: Buat file pwaktu.sh dengan perintah $ vi pwaktu.sh.
-
8/10/2019 SistemOperasi_4611414043_Pertemuan8
25/26
b. Jalankan pwaktu.sh sebagai background, kemudian masukkan perintah berikut:
$ jobs
$ find / -print > files 2>/dev/null &
$ jobs
Analisa: Buat file pwaktu menjadi executable dengan perintah $ chmod +x
pwaktu.sh, jalankan pwaktu sebagai background dengan perintah $ ./pwaktu.sh &.
Perintah $ jobsdigunakan untuk melihat program yang sedang berjalan. Jalankan
salah satu program find sebagai background dengan perintah $ find / -print > files
2>/dev/null &. Gunakan perintah jobs untuk memastikan kedua program berjalan.
c. Jadikan program ke 1 menjadi foreground kemudian kembalikan ke background.
Analisa: Untuk mengubah program ke 1 menjadi foreground gunakan perintah $
fg %1, untuk menghentikan sementara tekan Ctrl+Z, untuk mengubahnya ke
background kembali, gunakan perintah $ bg.
d. Masukkan perintah $ ps xkemudian stop salah satu program background dengan
perintah $ kill .
-
8/10/2019 SistemOperasi_4611414043_Pertemuan8
26/26
Analisa: Perintah $ ps x digunakan untuk melihat semua proses yang sedang
berjalan. Pilih salah satu proses yang akan dihentikan, hentikan dengan perintah $
kill .
KESIMPULAN
Shell adalah suatu program yang di buat oleh user yang biasanya digunakan untukmemasukkan beberapa perintah secra bersamaan yang menunggu di compile dan akandijalankan sesuai sintak yang ada dalam shell bash. File .bash_logout, .bash_profile,.bashrc dan /etc/profile merupakan contoh dari file bash.
Job control adalah sebuah program eksekusi yang diberikan kepada kernel.Eksekusi dalam job sama dengan eksekusi program, baik background maupunforeground.
. Bash-script adalah file yang berisi koleksi program yang dapatdieksekusi. Untuk eksekusi bash script gunakan tanda . sebelum file bash-script yang
berarti eksekusi shell dan tanda ./ berarti file bash-script berada pada direktori actual.
Alias adalah utilitas untuk membuat shortcut untuk suatu perintah, sebagaicontoh, kita dapat mengubah del menjadi perintah yang sama dengan rm. Caranya denganperintah alias =, sebagai contoh kita akan menambah perintahdel pada system dengan fungsi sama seperti rmi. Perintahnya yaitu $ alias del=rm -i.