Disusun oleh:
Analisa: Perintah di atas digunakan untuk membuat file script bernama p1.sh menggunakan teks editor vi
yang isinya echo “program bash Script”.
Analisa: Perintah di atas digunakan untuk mengubah file p1.sh menjadi file executable sehingga nantinya
file ini dapat dieksekusi oleh bash.
3. Menjalankan script
$ bash p1.sh
$ sh p1.sh
$ . p1.sh
$ ./p1.sh
Analisa: Perintah di atas digunakan untuk mengeksekusi file p1.sh yang sudah menjadi file executable,
ada banyak cara mengeksekusi file executable yaitu diantaranya: bash p1.sh, sh p1.sh, .p1.sh dan ./p1.sh.
4. Konvensi dalam pembuatan script shell dinyatakan sebagai #!/bin/bash. Tambahkan pada file
p1.sh konvensi tersebut
$ vi p1.sh
#!/bin/bash
echo “Program bash script”
Analisa: Perintah di atas digunakan untuk menambahkan konvensi pada file p1.sh melalui editor vi,
konvensi yang dimasukkan yaitu #! /bin/bash.
Analisa: Perintah di atas digunakan untuk membuat file p2.sh dengan cara mengcopy file p1.sh dimana isi
kedua file tersebut adalah sama dan kita hanya perlu mengubah namanya dari p1.sh menjadi p2.sh dalam
metode pengcopyannya yaitu melalui keyword cp p1.sh p2.sh.
6. Menjalankan beberapa program shell dalam satu baris instruksi yang dipisahkan dengan
tanda ;
$ cat p1.sh ; cat p2.sh
$ ./p1.sh ; ./p2.sh
Analisa: Perintah di atas digunakan untuk melihat isi file p1.sh dan p2.sh sekaligus yang dipisahkan
dengan tanda ; (semicolon) , tanda ini digunakan untuk melakukan eksekusi banyak perintah sekaligus
(multitasking). Setelah itu kita mengeksekusi script dari file p1.sh dan p2.sh secara bersamaan.
Percobaan 7 : Job Control
1. Proses foreground
$ ps x
Analisa: Perintah di atas digunakan untuk melihat proses yang sedang berjalan di latar depan.
2. Proses background
$ ps x > hasil &
Analisa: Perintah di atas digunakan untuk menginputkan daftar proses yang berjalan di latar depan ke
dalam file bernama hasil yang dieksekusi melalui latar belakang. Ps x mengartikan latar depan dan tanda
& mengartikan latar belakang.
3. Setiap job mempunyai PID yang tunggal (unique). Untuk melihat jobs yang aktif
$ jobs
Analisa: Perintah di atas digunakan untuk melihat jobs atau pekerjaan yang sedang aktif. Pada contoh
diatas jobs yang sedang aktif adalah pembelokan daftar proses di latar depan ke dalam file bernama hasil.
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
Analisa: Perintah di atas digunakan untuk membuat file ploop.sh melalui teks editor vi yang isinya
memuat output kata “Hallo” dimana kata akan dimunculkan setelah delay selama 10 detik setelah file
ploop.sh dieksekusi.
5. Buatlah file ploop.sh menjadi executable. Jalankan program, akan ditampilkan kata Hallo
setiap 10 detik. Untuk keluar program, tekan Ctrl-C (^C)
6. $ chmod +x ploop.sh
$ ./ploop.sh
Analisa: Perintah di atas digunakan untuk mengubah file ploop.sh menjadi file executable sehingga file
script tersebut nantinya dapat dieksekusi melalui bash dengan perintah ./ploop.sh.
Percobaan 8 : Manipulasi stack untuk Direktori
1. Instruksi dirs digunakan untuk melihat stack direktori, pada output h ditampilkan direktori
home ~
$ dirs
Analisa: Perintah di atas digunakan untuk melihat tumpukan yang ada di direktori aktif, pada contoh di
atas direktori aktif sedang berada di ~.
Analisa: Perintah di atas digunakan untuk membuat 3 buah direktori sekaligus yaitu marketing, sales dan
support.
Percobaan 9 : Alias
1. Alias adalah mekanisme untuk memberi nama alias pada satu atau sekelompok
instruksi. Untuk melihat alias yang sudah terdaftar pada system :
$ alias
Analisa: Perintah di atas digunakan untuk melihat daftar nama alias (nama samaran) pada satu atau
sekelompok instruksi.
Analisa: Perintah di atas digunakan untuk membuat alias, contohnya yaitu kita ingin membuat alias
del yang saat kita mengetikkan kata del maka seolah-olah kata del adalah suatu perintah ‘rm –i’ yaiut
untuk menghapus file dan kita juga ingin membuat alias h yang saat kita mengetikkan huruf h maka
seolah-olah huruf h adalah suatu perintah ‘history’.
3. Gunakan instruksi hasil alias
$ ls
$ del hasil
$ h | more
Analisa: Perintah di atas digunakan untuk menguji apakah alias yang sudah kita buat sebelumnya
dapat berjalan ataukah tidak, pada contoh di atas kita ingin menghapus file hasil yang terdapat di
direktori home. Kita cukup mengetikkan del hasil yang artinya menghapus file hasil dengan alias del.
Kemudian kita menguji juga apakah alias h berjalan atau tidak, dimana alias h adalah perintah yang
digunakan untuk menampilkan history dan ternyata kedua alias yang sudah kita buat sebelumnya
dapat berjalan sukses.
4. Untuk menghapus alias gunakan instruksi unalias
$ unalias del
$ del files (Terdapat Pesan Kesalahan, mengapa ?)
Analisa: Perintah di atas digunakan untuk menghapus alias yang sudah kita buat sebelumnya yaitu alias
del (untuk menghapus file) sehingga nantinya perintah ini sudah bukan lagi alias untuk menghapus file.
Pada saat kita kembali mencoba menghapus file menggunakan alias del files hal ini akan menimbulkan
error command not found karena sebelumnya kita sudah menghapus kata del dari daftar alias.
LATIHAN:
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
Analisa: Perintah di atas digunakan untuk mengecek ketersediaan file pada direktori yang ingin
kita akses dan ternyata file .bash_profile dan .bash_login tidak tersedia pada file system linux
Ubuntu dan yang tersedia hanyalah file .profile dan .bashrc.
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”
Analisa: Perintah di atas digunakan untuk melakukan serangkaian tugas secara bersamaan yaitu
membuka file .bash_profile yang dimiliki user eka2103187012 melalui teks editor nano dan
mengetikkan kata “profile dari .bash_profile” di dalamnya.
d. Lakukan hal yang sama untuk file lainnya, sesuaikan tampilan dengan nama file yang
bersangkutan.
$ exit
Analisa: su merupakan perintah yang berfungsi untuk memasukkan perintah dalam user. Perbedaan
nya hanyalah terletak pada bagian proses keluar. Jika user memasukan perintah “su username. Maka
user akan diminta untuk mealakukan login, dan ketika perintah exit dimasukan, user akan langsung
dikeluarkan tanpa proses logout. Artinya ketika keluar, program masih berjalan. Untuk perintah yang
kedua, su – username. Ketika dilakukan exit, sistem akan melakukan logout terlebih dahulu, dalam
artikata lain semua program yang berjalan akan di hentikan.
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
Analisa: Perintah di atas digunakan untuk membuka file .bash_logout yang terdapat pada user
prince46 menggunakan perintah nano dan memasukkan pesan teks “Terima kasih atas sesi yang
diberikan” di dalamnya dan menahan pesan tersebut selama 5 detik sebelum eksekusi logout.
b. Edit file .bash_logout, tampilkan pesan dan tahan selama 4 detik, sebelum eksekusi
logout
Analisa: Perintah-perintah tersebut digunakan untuk mengganti nilai HISTSIZE dari 500 (sesuai
kondisi os di laptop saya) menjadi 20 dan melakukan pembelokkan ganda nilai HISTSIZE 20 ke
file bernama .bashrc.
b. Gunakan fasilitas history dengan mengedit instruksi baris ke 5 dari instruksi yang
terakhir dilakukan.
$ !-5
Analisa: Perintah di atas digunakan untuk mengedit instruksi baris ke 5 dari instruksi yang
terakhir dilakukan yaitu sebelum instruksi set|grep HISTSIZE=20.
c. Ulangi instruksi yang terakhir. Gunakan juga ^P dan ^N untuk bernavigasi pada
history buffer
$ !!
Analisa: Perintah di atas digunakan untuk mengulangi instruksi yang terakhir dilakukan yaitu
echo ‘HISTSIZE=20’ >>.bashrc.
d. Ulaingi instruksi pada history buffer nomor tertentu, misalnya nomor 150 $ !
150
Analisa: Perintah di atas digunakan untuk mengulangi instruksi pada history buffer
nomor 120 yaitu terdapat perintah wc –l .bash_history yang apabila dieksekusi akan
menampilkan output berupa 100 .bash_history.
Analisa: Perintah di atas digunakan untuk mengulangi instruksi namun dengan menggunakan
prefix ‘”ls” dan yang ditampilkan adalah alamat dari keberadaan file .profile yang berada di
direkotri /home/eka2103187012/.profile.
Analisa: Perbedaan instruksi di atas terdapat pada keyword yang diinputkan dan maksud dari
keyword yang diinputkan. Jika mengetikkan !ls (keyword akan mencari kata pada daftar history
yang berhubungan dengan kata ls termasuk daftar direktori dari user), jika mengetikkan !?ls?
(keyword akan mencari kata pada daftar history dan .bash_history yang berhubungan dengan kata
yang mengandung ls di dalamnya mulai dari direktori yang ada pada user hingga daftar history
system yang pernah diakses user).
a. Edit file .bash_profile, ganti prompt PS1 dengan ‘>’. Instruksi export diperlukan
dengan parameter nama variab le tersebut, agar perubahan variable PS1 dikenal oleh
semua shell
PS1=’> ‘ export
PS1
Analisa: Perintah di atas digunakan untuk mengeksport prompt PS1 dimana instruksi export
memerlukan parameter nama variabel yaitu export PS1 agar perubahan variabel PS1 dikenal oleh
semua shell.
Analisa: Perintah di atas merupakan hasil eksperimen pada prompt PS1 dimana kita mencoba untuk
mengetahui: jumlah perintah yang sudah terdaftar di history, mengetahui date (tanggal) hari ini,
mengetahui waktu sekarang dan mengetahui user saya sebagai user yang sedang aktif yaitu user
eka2103187012.
Analisa: Perintah di atas digunakan untuk mengubah warna shell prompt menjadi warna biru dan
berkedip. Kode warna biru adalah 34 dan kode untuk berkedip adalah 5 pada controller
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
Analisa: Perintah di atas digunakan untuk membuat script p1.sh melalui teks editor nano yang
nantinya akan menampikan kata “Program p1” kemudian menampilkan daftar file yang ada di
direktori aktif.
p2.sh
#! /bin/bash echo
“Program p2” who
Analisa: Perintah di atas digunakan untuk membuat script p2.sh melalui teks editor nano yang
nantinya akan menampikan kata “Program p2” kemudian menampilkan nama pengguna yang
sedang aktif.
p3.sh
#! /bin/bash echo
“Program p3” ps x
Analisa: Perintah di atas digunakan untuk membuat script p3.sh melalui teks editor nano yang
nantinya akan menampikan kata “Program p3” kemudian menampilkan daftar proses yang sedang
berjalan di latar depan.
b. Jalankan script tersebut sebagai berikut dan perhatikan hasilnya :
$ ./p1.sh ; ./p3.sh ; ./p2.sh $
Analisa: Perintah di atas digunakan untuk mengeksekusi file script p1.sh di latar belakang yang
ditandai dengan tanda & dibelakang perintahnya dan ketika kita mengetikkan keyword Program p1
maka output yang keluar adalah daftar file yang terdapat pada direktori aktif.
$ ./p1.sh $ ./p2.sh & ./p3.sh &
Analisa: Perintah di atas digunakan untuk mengeksekusi ketiga file script secara bersamaan yaitu
file p1.sh dieksekusi terlebih dahulu pada shell kemudian dilanjutkan dengan mengeksekusi file
p2.sh pada latar belakang dan dilanjutkan dengan mengeksekusi file p3.sh pada latar belakang juga
dan menampikan hasil output ketiganya ke layar.
./p1.sh ; ./p3.sh ) &
Analisa: Perintah di atas digunakan untuk mengeksekusi file p1.sh dan p3.sh secara bersamaan di
latar belakang dan ketika user mengetikkan keyword Program p1 maka akan menampilkan hasil
output berupa daftar file pada direktori aktif.
7.
8.
9.
10.
11.
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 ]
Analisa: Perintah di atas digunakan untuk membuat file bernama pwaktu.sh dengan
menggunakan teks editor nano dan mengisi file tersebut dengan perintah berupa perulangan
dimana setiap 10 detik file pwaktu.sh akan menyimpan tanggal dan jam pada file bernama
hasil
do
date >> hasil
sleep 10
done
Analisa: Perintah-perintah di atas digunakan sebelum kita mengeksekusi file pwaktu.sh yang
akan kita rubah terlebih dahulu menjadi file executable agar nantinya file ini dapat
dieksekusi. Perintah untuk mengubah file pwaktu.sh menjadi file executable adalah chmod
+x pwaktu.sh.
Analisa: Perintah di atas digunakan untuk mengeksekusi file script pwaktu.sh di latar
belakang dan melihat isi file hasil yang isinya berupa date (tanggal dan waktu sekarang).
Kemudian kita mengetikkan perintah jobs untuk melihat pekerjaan yang sedang berjalan
yaitu pengeksekusian file script pwaktu.sh di latar belakang. Setelah itu kita menggunakan
keyword find untuk mencari dan menampikan isi baris 2 dari file bernama files yang
dieksekusi di latar belakang. Kemudian yang terakhir kita kembali mengetikkan perintah
jobs untuk melihat pekerjaan yang sedang berjalan yaitu pengeksekusian file script
pwaktu.sh di latar belakang dan pengeksekusian utilitas find yang dilakukan di latar
belakang juga.
Analisa: Perintah di atas digunakan untuk menjalankan program ke 1 di latar depan dan
kemudian kita mengembalikan program tersebut kembali berjalan di latar belakang.
Bg
d.Stop program background dengan utilitas kill
$ ps x
$ kill [Nomor PID
Analisa: Perintah di atas digunakan untuk melihat daftar proses yang berjalan di latar depan
dan dilanjutkan dengan perintah kill untuk mematikan proses yang sedang berjalan dimana
pada contoh di atas kita memilih mematikan proses yang memiliki nomor PID 2438 dengan
mengetikkan keyword kill 2438.
Kesimpulan:
Shell adalah Command executive, artinya program yang menunggu intruksi dari pemakai,
memeriksa sintak dari instruksi yang diberikan, kemudian mengeksekusi perintah tersebut. Shell
ditandai dengan prompt. Untuk pemakai menggunakan prompt $ dan untuk superuser
menggunakan prompt #
1. Profile pada bash shell merupakan profil untuk setiap pemakai pada home directory
2. File .bashrc adalah file yang akan dieksekusi untuk perpindahan dari satu shell ke shell
yang lain melalui intruksi su
3. History yaitu catatan dari semua intruksi yang sejauh ini telah dilakukan. History
memudahkan pemakai untuk mengedit kembali instruksi kompleks dan panjang, terutama
bila terjadi kesalahan pada penulisan instruksi maupun parameter
4. Perintah shell dapat dieksekusi asalkan dirubah terlebih dahulu menjadi file executable
5. Cara eksekusi file shell yaitu bash, sh, ., dan ./
6. Syntax di linux dapat dibuat alias command
7. Masa berlaku background proses sampai komputer restart atau shutdown
8. Apabila komputer hanya di logout maka background proses masih tetap berjalan.