Nim : 362155401013
Kelas : 1A
PRAKTIKU 5-B
Bekerja Dengan Bash Shell
3. Menjalankan script
$ bash p1.sh
$ sh p1.sh
$ . p1.sh
$ . /p1.sh
6. Menjalankan beberapa program shell dalam satu baris instruksi yang dipisahkan
dengan tanda ;
$ cat p1.sh ; cat p2.sh
$ ./p1.sh ; ./p2.sh
Analisis: Gambar di atas merupakan perintah Job Control. Proses background dengan
menggunakan perintah ps x > hasil & , maka akan muncul output jumlah semua proses yang
sedang berjalan.
3. Setiap job mempunyai PID yang tunggal (unique). Untuk melihat jobs yang aktif
$ jobs
Analisis: Gambar di atas merupakan perintah Job Control. Setiap job mempunyai PID yang
tunggal (unique). Untuk melihat jobs yang aktif dengan menggunakan perintah jobs, maka
akan muncul output proses yang berjalan yaitu ps x > hasil tadi.
4. Buatlah file ploop.sh. file ini tidak akan pernah berhenti kecuali ditekan CTRL+C
$ vi ploop.sh
#!/bin/bash
while [true]
do
sleep 10
echo “Hallo”
done
Analisis: Gambar di atas merupakan perintah Job Control. Membuat file ploop.sh. file ini
tidak akan pernah berhenti kecuali ditekan CTRL+C dengan menggunakan perintah $ vi
ploop.sh kemudian ketikkan while [true], do, sleep 10, echo “Hallo”, done.
5. Buatlah file ploop.sh menjadi executable. Jalankan program, akan ditampilkan kata
Hallo setiap 10 detik. Untuk keluar program, tekan CTRL-C (^C)
$ chmod +x ploop.sh
$ ./ploop.sh
Analisis: Gambar di atas merupakan perintah Job Control. Membuat file ploop.sh menjadi
executable. Jalankan program, akan ditampilkan kata Hallo setiap 10 detik. Untuk keluar
program, tekan CTRL-C (^C) dengan menggunakan perintah chmod +x ploop.sh dan
./ploop.sh, maka harusnya akan muncul output dengan menampilkan kata hallo berulang kali
setiap 10 detik, tetapi pada hasil saya tidak tampil.
Percobaan 8 : Manipulasi stack untuk Direktori
1. Instruksi dirs digunakan untuk melihat stack direktori, pada output hanya
ditampilkan direktori home ~
$ dirs.
Analisis: Gambar di atas merupakan perintah Manipulasi stack untuk Direktori. Instruksi dirs
digunakan untuk melihat stack direktori, pada output hanya ditampilkan direktori home ~,
maka akan muncul output direktori yang diingat
.
2. Membuat 3 buat direktori
$ mkdir marketing sales support
Analisis: Gambar di atas merupakan perintah yaitu Manipulasi stack untuk Direktori.
Perintah diatas merupakan cara untuk membuat tiga direktori dengan satu perintah.
3. Instruksi dirs digunakan untuk melihat stack direktori, pada output hanya
ditampilkan direktori home ~
$ dirs
Analisis: Gambar di atas merupakan perintah Manipulasi stack untuk Direktori. Instruksi dirs
digunakan untuk melihat stack direktori, pada output hanya ditampilkan direktori home ~,
maka akan muncul output direktori yang diingat.
Percobaan 9 : Alias
1. Alias adalah mekanisme untuk memberi nama alias pada satu atau sekelompok
instruksi. Untuk melihat alias yang sudah terdaftar pada sistem:
$ alias
Analisis: Gambar di atas merupakan perintah Alias. Alias adalah mekanisme untuk memberi
nama alias pada satu atau sekelompok instruksi. Untuk melihat alias yang sudah terdaftar
pada sistem, maka akan muncul output yang memberi informasi perintah alias.
2. Membuat beberapa alias
$ alias del=’rm –i’
$ alias h=’history’
Analisis: Gambar di atas merupakan perintah Alias. Untuk membuat beberapa alias
menggunakan perintah alias del=’rm –i’ artinya dengan menggunakan alias del, maka yang
akan dikerjakan rm-i. Dan alias h=’history’ artinya perintah alias h akan menjalankan
perintah history.
Analisis: Gambar di atas merupakan perintah Alias. Untuk menggunakan instruksi hasil alias
menggunakan perintah ls untuk melihat current working directory, kemudian perintah del
hasil digunakan untuk menghapus file hasil, karena alias del menjalankan perintah rm-i tadi.
Dan perintah h | more digunakan untuk menjalankan perintah history, karena perintah h tadi
merupakan alias dari perintah history.
Analisis: Gambar di atas merupakan perintah Alias. Untuk menghapus alias gunakan
instruksi unalias menggunakan perintah unalias del, yang tadi menggunakan perintah rm –i.
Dan del files tidak berfungsi karena perintah alias del sudah dihapus.
LATIHAN
1.Eksekusi seluruh profile yang ada:
a. Edit file profile /etc/profile dan tampilkan pesan sebagai berikut: echo ‘profile dari
/etc/profile’
b. Asumsi nama anda student, maka edit semua profile yang ada yaitu:
/home/student/.bash_profile
/home/.student/.bash_login
/home/student/.profile
/home/student/.bashrc
Analisis: Tampilan diats merupakann jawaban dari latihan 1 b. Perintah vi digunakan untuk
masuk ke teks editor untuk mengedit file konfigurasi sistem, membuat script shell, membuat
program, dan sebagainya.
c. Ganti nama /home/student dengan nama anda sendiri. Pada setiap file tersebut,
cantumkan instruksi echo, misalnya pada
/home/student/.bash_profile:
echo “Profile dari .bash_profile”
$ vi /home/damelia/.bash_profile
$ vi /home/. damelia/.bash_login
$ vi /home/damelia/.profile
$ vi /home/damelia/.bashrc
Analisis: Gambar di atas merupakan latihan nomer 1 c, yaitu menambahkan instruksi pada file
/home/damelia/.bash_profile dengan instruksi echo “Profile dari .bash_profile”, kemudian cara
menginputakan instruksi dengan i, kemudian esc untuk mengakhiri perintah insert, lalu
perintah :wq untuk menyimpan dan keluar dari text editor. Pada /home/. damelia /.bash_login
dengan instruksi echo “Profile dari .bash_login”, kemudian cara menginputakan instruksi
dengan i, kemudian esc untuk mengakhiri perintah insert, lalu perintah :wq untuk menyimpan
dan keluar dari text editor. Pada /home/ damelia/.profile dengan instruksi echo “Profile dari
.profile”, kemudian cara menginputakan instruksi dengan i, kemudian esc untuk mengakhiri
perintah insert, lalu perintah :wq untuk menyimpan dan keluar dari text editor. Pada /home/
damelia /.bashrc dengan instruksi echo “Profile dari .bashrc”, kemudian cara menginputakan
instruksi dengan i, kemudian esc untuk mengakhiri perintah insert, lalu perintah :wq untuk
menyimpan dan keluar dari text editor.
d. Lakukan hal yang sama untuk file lainnya, sesuaikan tampilan dengan nama file yang
bersangkutan.
SUDAH DIKERJAKAN PADA POINT B DAN C
2. Jalankan instruksi subtitute user, kemudian keluar dengan perintah exit sebagai
berikut:
$ su student
$ exit
3. Logout
a. Edit file .bash_logout, tampilkan pesan dan tahan selama 5 detik, sebelum eksekusi logout
echo “Terima kasih atas sesi yang diberikan”
sleep 5
clear
$ vi .bash_logout
$ chmod +x .bashk_logout
$ ./.bash_logout
Analisis : Tampilan diatas merupakan jawaban no3, yaitu membuat program logout
menggunakan vi editor. Perintah $ vi .bash_logout digunakan untuk membuat text editor
membuat program. Kemudian insert echo “Terima kasih atas sesi yang diberikan”
sleep 5
clear
Dengan menggunakan i, setelah selesai akhiri dan simpan dengan perintah
:wq.
Perintah $ chmod +x .bashk_logout berfungsi untuk merubah file menjadi excutable. Perintah
$ ./.bash_logout untuk mengeksekusi file .bash_logout.
b. Edit file .bash_logout, tampilkan pesan dan tahan selama 4 detik, sebelum eksekusi logout
Analisis: Tampilan diatas merupakan jawaban no3, yaitu mengedit program logout
menggunakan vi editor. Perintah $ vi .bash_logout digunakan untuk membuat text editor
membuat program. Kemudian edit text editor menjadi insert echo “Terima kasih atas sesi
yang diberikan”
sleep 4
clear
Dengan menggunakan i, setelah selesai akhiri dan simpan dengan perintah :wq. Perintah $
chmod +x .bashk_logout berfungsi untuk merubah file menjadi excutable. Perintah $
./.bash_logout untuk mengeksekusi file .bash_logout.
4. History
a. Ganti nilai HISTSIZE dari 1000 menjadi 20
$ HISTSIZE=20
$h
Analisis: Gambar di atas merupakan latihan nomer 4 yaitu tentang history. Ketikkan perintah
set | grep HISTSIZE untuk mengecek jumlah history sebelumnya kemudian ubah history
tersebut menjadi 20 menggunakan perintah echo, >> dan file .bashrc. Setelah itu cek kembali
apakah sudah berubah atau belum menggunakan perintah set | grep HISTSIZE, maka akan
muncul output seperti gambar di atas.
b. Gunakan fasilitas history dengan mengedit instruksi baris ke 5 dari instruksi yang terakhir
dilakukan.
$ !-5
c. Ulangi instruksi yang terakhir. Gunakan juga ^P dan ^N untuk bernavigasi pada history
buffer
$ !!
d. Ulangi instruksi pada history buffer nomor tertentu, misalnya nomor
!150
$ !150
Analisis: Gambar di atas merupakan latihan nomer 4 yaitu tentang history. Perintah !-5
digunakan untuk menampilkan atau mengeksekusi kembali history pada 5 terakhir perintah di
history. Perintah !! digunakan mengulangi instruksi yang terakhir. Gunakan juga ^P dan ^N
untuk bernavigasi pada history buffer. Perintah !150 digunakan untuk memanggil perintah
dari history dengan nomor PID 150.
e. Ulangi instruksi dengan prefix “ls”
$ !ls
$ !?ls?
Analisis: Gambar di atas merupakan latihan nomer 4 yaitu tentang history. Perintah prefiks ls
ini akan menghasilkan perintah yang sama yaitu perintah ls –l.
Analisis: Gambar di atas merupakan latihan nomer 5 yaitu tentang prompt string. Edit file
.bash_profile, ganti prompt PS1 dengan ‘>’. Instruksi export diperlukan dengan parameter
nama variabel tersebut, agar perubahan variabel PS1 dikenal oleh semua shell, maka akan
muncul output seperti gambar di atas. Ada beberapa tampilan prompt PS1 yaitu dengan
nomor perintah (\!), date (\d), time (\t), who=user(\u), working directory (\w).
Analisis: Gambar di atas merupakan latihan nomer 5 yaitu tentang prompt string. Mengubah
warna shell prompt dengan warna biru dan berkedip menggunakan perintah seperti pada
gambar di atas, maka output tulisan akan berkedip.
6. Bash script
a. Buat 3 buah script p1.sh, p2.sh, p3.sh dengan isi masing-masing:
P1.sh
#!/bin/bash
echo “Program p1”
ls –l
$ vi p1.sh
#! /bin/bash
echo “Program p1”
ls –l
$ vi p2.sh
#! /bin/bash
echo “Program p2”
who
$ vi p3.sh
#! /bin/bash
echo “Program p3”
$ ps x
Analisis: Tampilan diatas merupakan jawaban nomor 6a, yaitu membuat program file
menggunakan vi editor. Pada Program $ vi p1.sh diinputkan script dengan menekan i pada vi
editor. Lalu isi script berikut :
#! /bin/bash
echo “Program p1”
ls –l
Setelah selesai penginputan takan esc untuk berhenti dan tekan :wq untuk menyimpan dan
keluar.
Pada Program $ vi p2.sh diinputkan script dengan menekan i pada vi editor. Lalu isi script
berikut:
#! /bin/bash
echo “Program p2”
who
Setelah selesai penginputan takan esc untuk berhenti dan tekan :wq untuk menyimpan dan
keluar.
Pada Program $ vi p3.sh diinputkan script dengan menekan i pada vi editor. Lalu isi script
berikut:
#! /bin/bash
echo “Program p3”
ps x
Setelah selesai penginputan takan esc untuk berhenti dan tekan :wq untuk menyimpan dan
keluar.
Analisis: Gambar di atas merupakan latihan nomer 6 yaitu tentang bash script. Perintah
./p1.sh ; ./p3.sh ; ./p2.sh untuk menampilkan isi dari script tersebut, maka akan muncul output
dari hasil eksekusi pada vi editor. Pada perintah ./p3.sh ; ./p2.sh izin di tolak(program tidak
jalan), karena file tersebut belum di rubah menjadi excutable. Dengan menggunakan perintah
chmod +x ./p3.sh ; ./p2.sh maka program tersebut bisa di jalankan.
$ ./p1.sh &
Analisis: Gambar di atas merupakan latihan nomer 6 yaitu tentang bash script. Perintah
./p1.sh &, berfungsi untuk menampilkan file script p1.sh dengan proses background.
$ ./p1.sh $ ./p2.sh & ./p3.sh &
Analisis: Gambar di atas merupakan latihan nomer 6 yaitu tentang bash script. Perintah $
./p1.sh $ ./p2.sh & ./p3.sh & berfungsi untuk menampilkan ketiga script secara bersamaan
dengan proses background.
$ (./p1.sh ; ./p3.sh) &
Analisis: Gambar di atas merupakan latihan nomer 6 yaitu tentang bash script. Perintah $ (
./p1.sh ; ./p3.sh ) & berfungsi untuk menampilkan file script p1.sh dan p3.sh dengan proses
background.
7. Jobs
a. Buat shell- script yang melakukan loop dengan nama pwaktu.sh, setiap 10 detik, kemudian
menyimpan tanggal dan jam pada file hasil.
#!/bin/bash
while [true]
do
V - 60
date >> hasil
sleep 10
done
Analisis: Gambar di atas merupakan latihan nomer 7 yaitu tentang jobs. Perintah vi
pewaktu.sh berfungsi untuk membuat program dan akan masuk pada tampilan vi editor.
Tekan i untuk insert script seperti berikut
#!/bin/bash
while [ true ]
V - 61
do
date >> hasil
sleep 10
done
Setelah selesai menyisipkan script tekan esc untuk mengakhiri penyisipan, dan tekan :wq
untuk keluar dari vi editor dan menyimpannya. Perintah chmod +x pewaktu.sh berfungsi
untuk mengubah file menjadi excutable, kemudian jalankan program dengan menggunakan
perintah ./pewaktu.sh. takan ctrl+z untuk berhenti. Dikarenakan pada script program
dibelokan pada file hasil. t shell- script yang melakukan loop dengan nama pwaktu.sh, setiap
10 detik, kemudian menyimpan tanggal dan jam pada file hasil. Kemudian tampilkan hasil
dengan perintah cat hasil maka hasil dari pengulangan pada program ditampilkan.
b. Jalankan sebagai background; kemudian jalankan satu program (utilitas find) di
background sebagai berikut:
$ jobs
$ find / -print > files 2>/dev/null &
$ jobs
Analisis: Gambar di atas merupakan latihan nomer 7 yaitu tentang jobs. Perintah jobs
pertama akan menampilkan jobs yaitu dari program ./pwaktu.sh dengan status terhenti.
Kemudian ditambahkan lagi satu program utilitas find di bakground. Maka apabila di cek
kembali hanya jobs find yang akan running. Sementara yang lainnya dalam keadaan terhenti.
Analisis: Gambar di atas merupakan latihan nomer 7 yaitu tentang jobs. Jobs dengan nomor
perintah 1 yaitu ./pwaktu.sh akan dijalankan sebagai program foregorund dengan
menggunakan perintah fg %1. Kemudian dengan menekan ctrl + z maka program akan
stopped. Kemudian program ./pwaktu.sh ini akan dijalankan di backgorund dengan perintah
bg.
d. Stop program background dengan utilitas kill
$ ps x
$ kill [Nomor PID]
Analisis: Gambar di atas merupakan latihan nomer 7 yaitu tentang jobs. Perintah perintah ps
x berfungsi untuk melihat proses status foreground, kemudian untuk mengentikan atau stop
program pada background dengan perintah kill 3591 maka proses bash dengan no PID 3591
terhenti.
Kesimpulan:
File tidak dapat di eksekusi jika tidak di executable terlebih dahulu. warna prompt dapat di
ubah sesuai keinginan kita.dapat mematikan proses sesuai keinginan kita. Dan dapat
membuat proses yang menarik melalui file yang kita berikan perintah.