Praktikum 5 Bekerja dengan Bash Shell

 

Fara Aurin Salsabila

BM 5A

 

                        Praktikum 5 Bekerja dengan Bash Shell

 

POKOK BAHASAN :

§  History pada Bash Shell

§  Membuat Bash Shell Script

TUJUAN BELAJAR :

Setelah mempelajari materi dalam bab ini, mahasiswa diharapkan mampu:

§  Memahami shell pada system operasi Linux

§  Menggunakan feature history pada Bash Shell

§  Mengubah feature history pada Bash Shell

§  Mengubah prompt shell

§  Melakukan konfigurasi Bash Shell untuk menjalankan skrip secara otomatis

§  Membuat dan mengekseksi shell script sederhana melalui editor vi

§  Memahami job control

§  Memahami stack

§  Menggunakan alias

DASAR TEORI :

1 SHELL

            Shell adalah Command executive, artinya program yang menunggu instruksi dari pemakai, memeriksa sintak dari instruksi yang diberikan, kemudian mengeksekusi perintah tersebut. Shell ditandai dengan prompt. Untuk pemakai menggunakan prompt $ dan untuk superuser menggunakan promp #

Beberapa macam shell :

-          /bin/sh

Bourne shell, dirancang oleh Steve Bourne dari AT&T

-          /bin/csh

Dikembangkan oleh Unix Berkeley yang dikenal dengan C – Shell

-          /bin/bash

Kompatibel dengan Bourne Shell dan juga mengadaptasi kemampuan Korn-Shell.

            Perbedaan mendasar antara Shell diatasi hampir tidak ada, kecuali pada fasilitas pemrograman dan editing.

 

 

 

 

 

2 PROFILE

Pada saat login, program akan menjalankan beberapa program yaitu :

1. /etc/profile

Berisi shell script yang berlaku untuk seluruh pengguna Linux.

2. Profil untuk setiap pemakai

Pada home directory, login pertama kali akan memeriksa file .bash_profile . Bila

tidak ada, maka file .bash_login akan dicari. Bila .bash_login tidak ada, maka

dicari file bernama .profile .

3. .bashrc

File ini akan dieksekusi untuk perpindahan dari satu shell ke shell yang lain melalui

instruksi su.

4. .bash_logout

Pada saat logout, maka bash akan mencari file .bash_logout. Bila ada, file tersebut

akan dieksekusi sebe lum logout

 

Isi dari /etc/profile:

# System wide environment and startup programs

# Functions and aliases go in /etc/bashrc

 

PATH=”$PATH:/usr/X11R6/bin”

PS1=”[\u@\h \W]\\$ “

umask 022

 

USER=’id –un’

LOGNAME=$USER

MAIL=”/var/spool/mail/$USER”

 

HOSTNAME=’/bin/hostname’

HISTSIZE=1000

HISTFILESIZE=1000

Export PATH PS1 HOSTNAME HISTSIZE HISTFILESIZE USER LOGNAME MAIL

 

PATH              merupakan daftar nama direktori. Bila sebuah instruksi diberikan dari

prompt shell, maka instruksi tersebut akan dicari pada daftar tersebut.

PS1                  adalah prompt dimana

\u = Nama User

\h = Nama Host

\W = Nama working directory

 

3 HISTORY

History diadaptasi dari C-Shell, yaitu catatan dari semua instruksi yang sejauh

ini telah dilakukan. Catatan ini dapat dilihat sebagai history, kemudian dapat dipilih

kembali, diedit dan dieksekusi. History memudahkan pemakai untuk mengedit kembali

instruksi kompleks dan panjang, terutama bila terjadi kesalahan pada penulisan instruksi

maupun parameter.

Navigasi pada daftar history menggunakan karakter kontrool sebagai berikut :

^P (Ctrl-P) melihat instruksi sebelumnya

^N (Ctrl-N melihat instruksi berikutnya

!! eksekusi kembali instruksi sebelumnya

!! –3 3 instruksi sebelumnya akan diulang

!!88 ulangi instruksi no 88

 

4 BASH-SCRIPT

Bash-script adalah file yang berisi koleksi program yang dapat dieksekusi.

Untuk eksekusi bash script gunakan . sebelum file bash-script yang berarti eksekusi

shell dan tanda ./ berarti file bash-script berada pada direktori actual.

 

5 JOB CONTROL

Job adalah sebuah eksekusi program yang diberikan kepada kernel. Sebuah Job

dianggap selesai, bila eksekusi program tersebut berakhir. Eksekusi Job adalah sama

dengan eksekusi program, baik proses Background maupun proses Foreground.

 

6 EDITOR vi

Vi adalah full screen editor, artinya editor tersebut dapat memanfaatkan fasilitas

satu layar penuh. Vi mempunyai 2 buah modus, yaitu :

· Command line

Editor vi mengintepretasikan input sebagai instruksi untuk dieksekusi oleh editor, contoh seperti mencari teks, mengganti teks

secara otomatis dan lainnya.

· Editing

Editor vi mengintepretasikan input sebagai teks yang akan dimasukkan ke dalam buffer editor. Pada bagian bawah layar akan

tampil teks “INSERTING”.

Pada awal vi dijalankan, maka program memasuki command mode. Dengan

menekan tombol “i” maka akan memasuki editing. Untuk kembali ke command mode,

tekan tombol Esc.

Kunci-kunci teks editor vi dapat dilihat pada tabel sebagai berikut :

 






TUGAS PENDAHULUAN :

1. Apa yang dimaksud dengan shell dan sebutkan shell yang ada di system operasi linux.

Jawab : Shell adalah Command executive, artinya program yang menunggu intruksi dari pemakai, memeriksa sintak dari instruksi yang diberikan, kemudian mengeksekusi perintah terssebut.

-/bin/sh

Bourno shell, dirancang oleh Steve Bourne dari AT&T

-/bin/csh

Dikembangkan oleh UNIX Beerkeley yang dikenal dengan C -Shell

-/bin/bash

Kompatibel dengan Bourne Shell dan juga mengadaptasi kemampuan Kom-Shell.

 

2. Apa yang dimaksud dengan profile pada bash shell

Jawab : Profile pada bash shell merupakan profil untuk setiap pemakai pada home directory

 

3. Apa yang anda ketahui mengenai file .bashtrc.

Jawab : File .bashrc adalah file yang akan dieksekusi untuk perpindahan dari satu shell ke shell yang lain melalui instruksi

 

4. Apa yang dimaksud dengan history pada Bash Shell. Apa kegunaan perintah history, sebutkan cara-cara untuk mengetahui history perintah-perintah yang pernah digunakan oleh user!

Jawab : 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

^P (Ctrl -P) melihat instruksi

^N (Ctrl -N) melihat instruksi berikutnya

!! eksekusi kembali instruksi sebelumnya

!! -3 3 instruksi sebelumnya akan diulang

!!88 ulangi instruksi no 88

 

5. Cobalah menggunakan editor vi untuk mengetik dan pahami perintah-perintah yang ada seperti yang terdapat pada dasar teori (untuk dilakukan, tidak perlu dijawab sebagai tugas pendahuluan). Perintah-perintah yang penting : insert huruf(kalimat), delete (per huruf, per kata dan per baris), simpan file dan keluar dari editor vi.

Jawab :

 

 

Percobaan 1 : Profile

1. File .bash profil dijalankan pada home direktori pemakai yang login.File .bash profile adalah hidden file , sehingga untuk melihatnya digunakan opsi a pada intruksi ls



Analisa : Perintah $ ls -a digunakan untuk menampilkan seluruh isi directory home termasuk file yang hidden/tersembunyi.  Perintah $ more .bash_profile tidak ada filenya,pada umumnya fiile ini berisi konfigurasi bash shell

 

2. File .bash_logout akan dieksekusi sesaat sebelum logout, berfungsi sebagai hose clearing jobs, artinya membersihkan semuanya , misalnya menghapus temporary file atau job lainnya . melihat file .bash logout dengan intruksi

$cat .bash logout.

 


Analisa : Perintah ini digunakan untuk melihat isi .bash_logout yaitu perintah yang akan tereksekusi setelah kita logout.

 

Percobaan 2 : Menggunakan Feature History Bash

1. Bash shell menyimpan “history” perintah yang digunakan sebelumnya. Anda dapat mengakses history dalam beberapa cara. Cara paling mudah adalah menggunakan Panah Atas. Maka perintah sebelumnya akan ditampilkan.

Analisa : Panah atas merupakan perintah untuk mengetahui history perintah yang digunakan sebelumnya

 

2. Berikutnya, berikan Bash shell beberapa perintah untuk diingat. Masukan perintah berikut dan tekan Enter pada setiap baris.

$ cd

$ ls –l /etc

$ ls –l

$whoami

$who


Analisa :

-          cd digunakan untuk masuk ke directory

-          ls -l /etc digunakan untuk melihat isi directory etc

-          ls -l digunakan untuk me list isi directory home

-          who dan whoami digunakan untuk menampilkan user dan user yang sedang aktif

 

3. Untuk memeriksa apakah perintah ini ditambahkan pada history, dapat menggunakan perintah history untuk melihat semua perintah yang pernah dimasukkan.

$history



Analisa : Perintah history digunakan untuk menampilkan history input yang pernah kita masukkan ke terminal berupa input keyboard.

 

4. Anda dapat memilih perintah sebelumnya dengan menggunakan Panah Atas, tetapi hal ini tidak efisien untuk perintah yang semakin bertambah banyak.  Cara yang mudah menggunkaan nomor pada perintah history ataumencarinya. Untuk memilih dan mengeksekusi perintah dengan nomor,masukkan kunci ! diikuti nomor perintah.

$ !<Nomor Perintah>       Contoh : !780




Analisa : Perintah ini untuk memasukkan input yang sama sesuai nomor yang ditunjuk

 

5.  Anda dapat mencari perintah dengan menyertakan perintah yang diinginkan.  Misalnya !?etc?! akan menjalankan perintah ls –l /etc yang sebelumnya digunakan.

$ !?etc?



Analisa : perintah ini untuk mencari perintah yang ada hubungannya dengan etc dan yang pernah kita gunakan, sedangkan kita pernah menggunakan ls -l /etc maka perintah itupun berjalan karena kita memanggilnya dengan kata kunci etc

 

 

6. Kemudian gunakan perintah history, maka akan terlihat perintahls –l

$ history



Analisa : dari perintah ini dapat dilihat bahwa kita menginputkan ! ?etc? tetapi yang berada dalam history adalah ls -l /etc karena yang berjalan adalah program tersebut. ! ?etc? bukanlah perintah lain tetapi merpakan pancingan untuk memanggil ls -l /etc

 

7. Apabila string tidka ditemukan pada perintha history maka akan terdapat pesan error.

$ !?wombat99?



Analisa : Terdapat pesan error karena memasukkan kata yang belum pernah di masukkan ke terminal

 

8.  Jika diketikkan !who maka yang dijalankan adalah perintah who.  Tetapi bila Anda ketikkan !whoa maka yang dijalankan adalah perintah whoami.

$ !who

$ !whoa

Analisa : Perintah diatas sama saja dengan perintah who , tanda ! hanya untuk jika salah ketik perintah

 

9. Anda bisa menggantikant string pada perintah history, terutama pada perintah yang panjang.  Misalnya ketik cat /bin/bash | strings | grep shell | less dan tekan Enter.  Maka akan menampilkan semua string pada file /bin/bash yang berisi kata ”shell”.  Untuk keluar tekan q.  Jika ingin menampilkan kata ”alias”, maka Anda tidak perlu mengetik perintah yang panjang lagi, tetapi cukup ketik ^shell^alias^ dan tekan Enter maka akan menggantikan kata ”shell” dengan ”alias”.

$ cat /bin/bash | strings | grep shell | less

$ ^shell^alias^




Analisa : Perintah diatas untuk mencari kata shell dengan cara membaca /bin/bash

 


Analisa : Perintah ini untuk mengganti kata shell pada perintah sebelumnya diganti dengan kata alias.

 

Percobaan 3 : Mengubah Feature History Bash

1. Bash shell akan menyimpan perintah history meskipun telah log out dan log in kembali.  File.bash_history menyimpan file history yang terdapat pada home directory.

$ cd



            Analisa : Perintah ini untuk masuk directory

 

2. Lihat beberapa baris pada file .bash_history dengan ketik tail .bash_historydan tekan Enter.  File ini bukan file yang up to date.

$ tail .bash_history



Analisa : pada perintah ini yang ditampilkan adalah perintah terakhir yang kita inputkan sebelum computer di restart/matikan

 

3.  Ketik history dan tekan Enter.  Maka akan terlihat baris terakhir adalahperintah history dan baris sebelumnya adalahtail .bash_history.  Perintah history bersifat up to date, karena disimpan pada memory sistem.

$ history



Analisa : Perintah history digunakan untuk menampilkan history input yang pernah di masukkan ke terminal berupa input keyboard

 

4. Ketik perintah berikut

$ echo ‘Ini perintah saya’



Analisa : Perintah ini untuk menulis “ini perintah saya”

 

5. Log out dan log in kembali sebagai user yang sama.  Ketik history dan tekan Enter.  Maka perintahecho ’Ini perintah saya’ akan berada pada baris terakhir.  Lihat file .bash_history, maka perintah tsb akan terdapat pada file .bash_history.

$ history

$ tail .bash_history



Analisa : Perintah history digunakan untuk menampilkan history input yang pernah di masukkan ke terminal berupa input keyboard

 

Analisa : Perintah echo “ini perintah saya” jug masuk tails .bash_history

 

6. Ketik history|less untuk melihat perintah history terakhir pada screen.  Tekan spacebar untuk melihat file lebih banyak.  Untuk keluar tekan q

$ history|less


Analisa : Perintah ini sama saja dengan perintah melihat history

 

7. Untuk melihat berapa banyak perintah history yang ada pada file ketik berikut dan output yang keluar serupa di bawah ini

$ wc –l .bash_history

1000 .bash_history


Analisa : Perintah ini digunakan untuk menampilkan jumlah perintah history pada file

 

8. Output menunjukkan bahwa 1000 perintah history disimpan pada file history.  Untuk melihat jangkauan (limit) perintah history digunakan variabelHISTSIZE.  Untuk melihat jangkauan history ketik  sebagai berikut

$ set|grep HISTSIZE

       Analisa : Perintah ini digunakan untuk melihat jangkauan(limit) atau kuota perintah history yang dapat disimpan bash

 

9. Bila ingin memperbesar jangkauan file history, maka ubahlah variabelHISTSIZE pada skrip startup yang disebut .bashrc pada home directory.

$ echo ‘HISTSIZE=5000’ >> .bashrc


       Analisa : Perintah ini untuk memperbesar limit penyimpanan perintah pada history dari 1000 menjadi 5000

 

10. Log out dan log in kembali sebagai user yang sama.  Lihat perubahanvariabel HISTSIZE.

$ set|grep HISTSIZE

            Analisa : Terlihat telah berhasil mengubah HISTSIZE dari 1000 menjadi 5000


11. Ketikkan perintah history beberapa kali, maka perintah ini akan disimpan pada BASH history meskipun yang diketikkan perintahnya sama.

Analisa : Perintah ini bertujuan agar perintah history yang di masukkan hanya disimpan dalam bash

 

12. Anda dapat melakukan konfigurasi BASH agar tidak menambah perintah ke history jika perintah yang diketikkan sama dengan sebelumnya. Hal ini dilakukan dengan menambahkan variabel HISTCONTROL dan diberikan nilai ignoredups pada file .bashrc

$ echo ‘HISTCONTROL=ignoredups’ >> .bashrc

Analisa : Perintah ini digunakan untuk melakukan konfigurasi bash agar tidak menambha perintah ke history jika perintah yang diketikkan sama dengan sebelumnya.

 

13. Log out dan log in kembali sebagai user yang sama.  Ketikkan history beberapa kali dan perhatikan berapa kali history muncul.

Analisa : Dari perintah history  yang di masukkan hanya tersimpan satu

 

 

Percobaan 4 : Mengubah Prompt Shell

1. Prompt Bash shell dikonfigurasi dengan men-setting nilai variabel PS1.Selain menampilkan string statik sebagai prompt, Anda dapat menampilkan menjadi dinamis.  Contohnya, apabila ingin menunjukkan current directory atau current time. Ketik PS1=’\t:’ dan tekan Enter untuk menampilkan waktu sistem dalam format 24 jam sebagai prompt Bash.  Format dalam HH:MM:SS

$ PS1=’\t:’


Analisa : Perintah ini digunakan untuk mengganti promp dari test@test virtualBox: menjadi waktu

 

2. Untuk menampilkan format 12 jam dengan indikator am dan pm ketiksebagai berikut :

$ PS1=’\t:’


       Analisa : Pada perintah ini yang di input dengan outputnya sama

 

3. Kebanyakan orang menginginkan prompt Bash menampilkancurrent working directory.  Direktory dapat ditampilkan dalam bentuk keseluruhan path atau hanya nama direktory.  Karakter\w menampilkan hanya nama direktory.  Jika current directory adalah home directory, maka tampil prompt ~:

$ PS1=’\w:’



       Analisa : Perintah ini berfungsi untuk menampilkan promp bash

 

4.  Ketik cd /usr/sbin untuk melihat prompt /usr/sbin:

$ cd /usr/sbin



Analisa : Perintah ini berfungsi untuk melihat prompt /usr/sbin

 

5. Ketik PS1=’\W:’ untuk melihat prompt sbin:

$ PS1=’\W:’



Analisa : Perintah ini berfungsi untuk melihat prompt sbin

 

6. Ada beberapa prompt BASH lain yang dapat diubah, yaitu PS2, PS3 dan PS4. Prompt PS2 digunakan sebagai prompt sekunder.  Untuk melihat bagaimana penggunaannya, ketik echo ’Hello (tanpa diakhiri penutup quote) dan tekan Enter.  Simbol lebih besar dari (>) akan muncul.  Hal ini memberitahukan bahwa BASH menunggu Anda menyelesaikan perintah. Ketik penutup quote (‘) dan tekan Enter.  Perintah ini akan menyelesaikan prompt PS2, kata ”Hello, ” muncul diikuti dengan prompt PS1 pada baris baru.

$ echo ’Hello>’



Analisa :  Pada perintah ini, tanda > menandakan bahwa itu adalah PS2

 

7. Anda dapat mengubah prompt PS2 seperti mengubah prompt PS1. Ketik perintah berikut:

$ PS2=’Selesai memasukkan perintah Anda:’



Analisa : Perintah ini berfungsi untuk mengubah PS2 menjadi ‘selesai memasukkan perintah anda’

 

8. Kemudian ketik echo ’Hello (tanpa diakhiri penutup quote) dan tekan Enter.  Pada baris berikutnya akan muncul Selesai memasukkan perintah Anda:.  Kemudian ketikkan penutup quote (’) dan tekan Enter.  Jika perintah selesai, maka kata Hello akan muncul diikuti prompt PS1 pada baris baru.

$ echo ’HelloSelesai memasukkan perintah Anda:’



Analisa : dapat dilihat bahwa PS2 yang awalnya tanda ‘>’ menjadi ‘selesai memasukkan perintah anda’

 

9.  Prompt BASH dapat ditampilkan berwarna dengan melakukan setting color-setting string.  Sebagai contoh, prompt BASH di-set dengan \w\$, akan menampilkan current working directory yang diikuti $ (atau # jika anda login sebagai root).  Untuk setting warna menjadi biru ketikkan berikut :

$ PS1=’\033[0;34m\w\$ \033[0;37m’



Analisa : Perintah diatas dimaksudkan untuk mengganti warna prompt bash.

 

10. Untuk mendapatkan prompt warna merah ketikkan berikut :

$ PS1=’\033[0;31m\w\$ \033[0;37m’

30=hitam, 31=merah, 32=hijau, 34=biru, 35=ungu, 36=cyan, 37=putih.



Analisa : Perintah diatas dimaksudkan untuk mengganti warna prompt bash.

 

11. Bila menginginkan beberapa warna, ketikkan perintah berikut :

$ PS1=’\033[0;31m\w\033[0;32m\$ \033[0;37m’



Analisa : Perintah diatas dimaksudkan untuk mengganti warna prompt bash.

 

12. Anda bisa menampilkan atribut visual seperti lebih terang, berkedip danwarna kebalikannya.  Untuk menampilkan prompt yang lebih terang, atribut control diganti 1, seperti perintah berikut :

$ PS1=’\033[1;34m\w\033[1;32m\$ \033[0;37m’



Analisa : Perintah ini untuk mengganti atribut dengan huruf l dengan maksud membuat warna menjadi lebih terang.

 

13. Untuk menampilkan prompt dengan warna berkebalikan, atribut controldiganti 7, seperti perintah berikut :

$ PS1=’\033[7;34m\w\033[7;32m\$ \033[0;37m’



Analisa : Perintah ini untuk mengganti atribut dengan angka 7, dengan maksud membuat warna kebalikkan

 

14. Untuk menampilkan prompt berkedip, atribut control diganti 5, sepertiperintah berikut :




Analisa : Perintah ini untuk mengganti atribut dengan angka 5 agar prompt berkedip

 

 

Percobaan 5 : Menambahkan Otomatisasi ke Prompt Shell

1. Pastikan Anda berada di home directory

$ cd ~



Analisa : Perintah $ cd berfungsi untuk masuk ke direktori home.

 

2. Buatlah skrip sederhana untuk mengurut daftar file.  Anda dapat menggunakan teks editor, tetapi karena hanya satu baris, gunakan perintah echo untuk membuat file.

$ echo ’sort ~/list > ~/r13; mv ~/r13 ~/list’ > ~/sorter



Analisa : Perintah diatas untuk membuat file lalu mengurutkan yang saya tuliskan dengan echo

 

3. Buatlah file skrip diatas menjadi file executable

$ chmod +x sorter



Analisa : Perintah diatas dimaksudkan agar file sorter dapat di jalankan di linux

 

4. Jalankan program sorter diatas setiap shell Bash menampilkan prompt PS1.  Untuk melakukannya, buatlah variablePROMPT_COMMAND dimananilainya adalah nama dari program sorter.

$ PROMPT_COMMAND=~/sorter



Analisa : Untuk menjalankan program sorter diatas setiap shell Bash menampilkan prompt PS1

 

5. Ketikkan echo ’John Smith:13001’>>list dan tekan Enter.  Jika file list tidak ada, akan dibuat secara otomatis, tetapi jika sudah ada, string ’John Smith:13001’ akah ditambahkan.

$ echo ’John Smith:13001’>>list



Analisa : Percobaan ini dimaksudkan untuk memasukkan john smith:13001 kedalam file list.

 

6. Ketik cat list dan tekan Enter.  Maka Anda akan melihat isi file list.  Pada saat ini, file mungkin mempunyai hanya satu baris sehingga tidak dapat dilihat apakah file sudah terurut.

$ cat list



Analisa : Perintah diatas digunakan untuk melihat isi file list yang telah di buat.

 

7. Masukkan beberapa perintah serupa dengan point 5 tetapi dengan nama dan nomor yang berbeda.  Kemudian ketik cat list dan tekan Enter. 

$ echo ’Anita:13002’>>list

$ echo ’Samantha:13003’>>list

$ echo ’Patrik:13004’>>list

$ echo ’Sponse Bob:13005’>>list

$ echo ’Lisa:13006’>>list

$ echo ’Squid:13007’>>list




Analisa : Perintah diatas dimaksudkan kita memasukkan nama-nama tersebut kedalam file

list. Sedangkan perintah cat list untuk menampilkan isi file list secara urut sesuai urutan abjad.

 

 

8. Apabila Anda tidak menginginkan Shell Bash menampilkan file terurutsepanjang waktu, Anda tidak perlu menambahkan variable PROMPT_COMMAND=~/sorter pada file konfigurasi seperti .bashrc.  Bila Anda ingin BASH berhenti menjalankan program sorter, maka ketikkan variable PROMPT_COMMAND= dan tekan Enter atau log out dan login kembali.
$ PROMPT_COMMAND=



Analisa : Untuk menghentikan program sorter.

 

 

Percobaan 6 : Membuat Bash-Script dan Menjelaskannya

1. Membuat file p1.sh

$ vi p1.sh

echo “Program bash Script”



Analisa :

·         Pertama kita membuat file p1.sh

·         Untuk mengetik tekan huruf i

·         Masukkan echo “Program Bash Script”

·         Untuk keluar tekan esc, lalu tekan ; dan mengetik wq! lalu enter

 

 

2. Mengubah program menjadi executable

$ ls – l p1.sh

$ chmod +x p1.sh

$ ls –l p1.sh



Analisa :

·         Perintah $ ls – l p1.sh berfungsi untuk menampilkan file p1.sh

·         Perintah $ chmod +x p1.sh dimaksudkan agar file p1.sh dapat dijalankan di linux.

 

3. Menjalankan script

$ bash p1.sh

$sh p1.sh

$ . p1.sh

$ ./p1.sh



Analisa : Perintah bashsh, ., dan ./ berfungsi untuk menjalankan file .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 : Menambahkan !/bin/bash pada file p1.sh berfungsi diakhir kali kita mengeksekusinya dengan cat dia akan menampilkan,

{#!/bin/bash

echo “Program bash script”}

 

 

5. Buatlah file p2.sh

$ vi p2.sh

#!/bin/bash

echo “Program 2 bash script”



Analisa : Membuat file p2.sh dan memasukkan perintah sesuai dengan perintah diatas dengan cara yang sama dengan ketika kita membuat file 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



Analisa : Menjalankan 2 program sekaligus dengan memberi tanda ;

 

 

 

  

 

Percobaan 7 : Job Control

1. Proses foreground

$ ps x



Analisa : Perintah diatas berfungsi untuk menampilkan proses pada foreground.

 

2. Proses background

$ ps x > hasil &



Analisa : Perintah diatas berfungsi untuk menampilkan jumlah proses yang sedang berjalan.

 

3. Setiap job mempunyai PID yang tunggal (unique). Untuk melihat jobs yang aktif

$ jobs



Analisa : Perintah diatas berfungsi untuk melihat jobs yang aktif.

 

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 :

·     Pertama kita membuat file p1oop.sh. Untuk mengetik tekan huruf i, Kemudian masukkan echo “Program Bash Script”. Untuk keluar tekan esc, lalu tekan ; dan mengetik wq! lalu enter untuk menyimpannya.

·        Mengisikan program di dalam file plop.sh

·     Arti dari program tersebut ialah, setiap 10 detik maka di terminal akan mencetak “Hallo”. Program dapat dihentikan dengan menekan CTRL + C.

 

 

5. Buatlah file ploop.sh menjadi executable. Jalankan program, akan ditampilkan kataHallo setiap 10 detik. Untuk keluar program, tekan Ctrl-C (^C)

$ chmod +x ploop.sh

$ ./ploop.sh



Analisa :

·    Perintah $ chmod +x ploop.sh artinya membuat program plop.sh dapat dijalankan   dengan linux di terminal.

·         Perintah ./ploop.sh berfungsi untuk menjalankan program.

 

Percobaan 8 : Manipulasi Stack untuk Direktori

1. Instruksi dirs digunakan untuk melihat stack direktori, pada output hanyaditampilkan direktori home ~

$ dirs.



Analisa : Perintah diatas berfungsi untuk melihat stack directory dan menampilkan directory home ~.

 

2. Membuat 3 buah direktori

$ mkdir marketing sales support



Analisa : Perintah diatas berfungsi untuk membuat directory marketing, sales, support, secara bersama-sama.

 

3. Instruksi dirs digunakan untuk melihat stack direktori, pada output hanyaditampilkan direktori home ~

$ dirs.

          


Analisa : Perintah diatas berfungsi untuk melihat stack directory dan menampilkan directory home ~.


Percobaan 9 : Alias

1. Alias adalah mekanisme untuk memberi nama alias pada satu atau sekelompokinstruksi. Untuk melihat alias yang sudah terdaftar pada system :

$ alias



Analisa : Perintah diatas berfungsi untuk menampilkan perintah alias yang sudah ada pada system (default).

 

2. Membuat beberapa alias

$ alias del=‟rm –i‟

$ alias h=‟history‟



Analisa :

·         Perintah $ alias del=‟rm –i‟ artinya menyamakan del sama dengan rm –i.

·         Perintah $ alias h=‟history‟ artinya menyamakan h sama dengan history.

 

 

3. Gunakan instruksi hasil alias

$ ls

$ del hasil

$ h | more


Analisa :

·         Perintah ls berfungsi untuk melihat direktori.

·         Perintah del berfungsi untuk menghapus direktori hasil.

·         Perintah h | more berfungsi untuk melihat history dengan perintah h (dapat dilakukan sebab tadi menggunakan alias).


 

4. Untuk menghapus alias gunakan instruksi unalias

$ unalias del  

$ del files (Terdapat Pesan Kesalahan, mengapa ?)



Analisa :

·         Perintah unalias del berfungsi untuk menghapus perintah del.

·         Terdapat pesan error sebab tadi kita sudah menghapus perintah del.

 

 

LATIHAN

1. Eksekusi seluruh profile yang ada :

a.         Edit file profile /etc/profile dan tampilkan pesan sebagai berikut :

echo ‟Profile dari /etc/profile‟




Analisa :

·         Pertama buka file /etc/profile dengan perintah $ sudo nano /etc/profile

·         Lalu tambahkan echo “profile dari /etc/profile”

·         Simpan dengan gunakan CTRL+X, tekan Y, kemudian enter.

·         Gunakan perintah su - <user> untuk melihat file berhasil ditambahkan.

 

 

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 : Untuk edit profile nya, langkah-langkah nya sama seperti 1a.

 

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”

   /home/student/.bash_profile




Analisa : Untuk edit profile nya, langkah-langkah nya sama seperti 1a.

 

d.  Lakukan hal yang sama untuk file lainnya, sesuaikan tampilan dengan nama file yang bersangkutan.

       /home/. student/.bash_login

/home/student/.profile

/home/student/.bashrc





Analisa :

·         Fungsi dari setiap file yang kita edit akan muncul pada waktu tertentu

·         Saat mulai session bash akan muncul

·         Saat login akan muncul

 

2. Jalankan instruksi subtitute user, kemudian keluar dengan perintah exit sebagai berikut :

$ su student

$ exit



kemudian gunakan opsi – sebagai berikut :

$ su –student

$ exit



Jelaskan perbedaan kedua utilitas tersebut.

Analisa : Pada perintah pertama proses keluar melalui root, sedangkanpada  perintah kedua keluar dari proses tanpa melalui root.

 

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 : Setelah menulis sesuai perintah diatas, lalu di cek dengan login kemudian exit. Hasilnya sesuai dengan gambar yang diperintahkan.

 

b.      Edit file .bash_logout, tampilkan pesan dan tahan selama 4 detik, sebelum eksekusi logout




Analisa : Untuk mengubah mati menjadi 4 detik, kita hanya tinggal mengubah programnya yang awalnya sleep 5 menjadi sleep 4.

 

4. History

a.         Ganti nilai HISTSIZE dari 1000 menjadi 20

$ HISTSIZE=20

$ h




Analisa : Pada perintah ini history akan terlihat 20 yang kita jalankan karena perintah HISTSIZE=20.

 

b.        Gunakan fasilitas history dengan mengedit instruksi baris ke 5 dari instruksi yang terakhir dilakukan.

$ !-5



Analisa : Arti dari perintah diatas ialah menjalankan perintah kelima dari akhir pada history.

 

c.         Ulangi instruksi yang terakhir. Gunakan juga ^P dan ^N untuk bernavigasi pada history buffer

$ !!



Analisa : Perintah diatas berfungsi untuk menjalankan perintah yang terakhir dijalankan.

 

d.        Ulangi instruksi pada history buffer nomor tertentu, misalnya nomor 150

$ !150



Analisa : Perintah diatas berfungsi untuk menjalankan perintah sesuai nomor history.

 

e.         Ulangi instruksi dengan prefix “ls”

$ “ls”

$ !?ls?

Jelaskan perbedaan instruksi diatas



Analisa :

·         Pada perintah !ls menjalankan perintah yang mengandung ls saja.

·         Perintah $!?ls? menjalakan perintah yang mengandung ls dengan pilihan option.

 

 

5. Prompt String (PS)

a.         Edit file .bash_profile, ganti prompt PS1 dengan ‘>’. Instruksi export diperlukan dengan parameter nama variable tersebut, agar perubahan variable PS1 dikenal oleh semua shell

PS1=’>’ „

export PS1

Eksperimen hasil PS1 :

PS1=“\! > “

69 > PS1=”\d > “

Mon Sep 23 > PS1=”\t > “

10:10:20 > PS1=”Saya=\u > “

Saya=stD02001 > PS1=”\w >

~ > PS1=\h >”




Analisa : Intruksi export diperlukan dengan parameter nama variable tersebut agar perubahan variable PS1 dikenal semua shell.

 

b.        Ubahlah warna shell prompt dengan warna biru dan berkedip.

           


Analisa :

·         Untuk membuat tulisan berwarna biru gunakan kode 34m

·         Agar tulisan dapat berkedip tambahkan atribut 5

·         033 berfungsi untuk reset all

 

 

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

P2.sh

#! /bin/bash

echo “Program p2”

who

P3.sh

#! /bin/bash

echo “Program p3”

ps x

 

Tampilan untuk p1.sh

 


 




Tampilan untuk p2.sh

 


 





Tampilan untuk p3.sh





 

Analisa : Perintah vi di gunakan untuk membuat file, tekan i untuk mengetik. Jika sudah selesai tekan esc untuk mengakhiri dan :wq untuk keluar dan di save.

 

b.        Jalankan script tersebut sebagai berikut dan perhatikan hasilnya :

$ ./p1.sh ; ./p3.sh ; ./p2.sh

$ ./p1.sh &

$ ./p1.sh $ ./p2.sh & ./p3.sh &

$ ( ./p1.sh ; ./p3.sh ) &

 

$ ./p1.sh ; ./p3.sh ; ./p2.sh


           




Analisa :

·         Perintah $ ./p1.sh ; ./p3.sh ; ./p2.sh artinya perintah diatas berfungsi untuk menjalankan program p1 kemudian dilanjutkan program p3 dan dilanjutkan program p2.

·         Perintah $ ./p1.sh & artinya perintah diatas untuk menjalankan program p1 dan jika berhasil maka akan menjalankan p1 lagi

·         Perintah $ ./p1.sh $ ./p2.sh & ./p3.sh & artinya perintah diatas akan menjalankan program p2 dalam background dan jika berhasil maka akan menjalankan program p3 didalam background.

·         Perintah $ ( ./p1.sh ; ./p3.sh ) & artinya perintah ini menjalankan program p1 dan menjalankan p3 dan kemudian dibungkus didalam 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

date >> hasil

sleep 10

done





Analisa : Perintah vi di gunakan untuk membuat file, tekan i untuk mengetik. Jika sudah selesai tekan esc untuk mengakhiri dan :wq untuk keluar dan di save. Aktifkan file dengan chmod +x namafile.sh

 

b.    Jalankan sebagai background; kemudian jalankan satu program (utilitas find) di background sebagai berikut :

$ jobs

$ find / -print > files 2>/dev/null &

$ jobs



Analisa : Setelah kita menjalankan find terlihat di jobs yang berjalan ada 2 proses.

 

c.   Jadikan program ke 1 sebagai foreground, tekan ^Z dan kembalikan program tersebut ke background.

$ fg %1

$ bg



Analisa : Perintah fg %1 artinya memindahkan program 1 yang ada di background menjadi berada di foreground. Untuk memindahkan kembali ke background, hentikan dengan Ctrl+Z. Perintah bg digunakan untuk mengembalikan proses 1 ke background.

 

d.        Stop program background dengan utilitas kill

$ ps x

$ kill [Nomor PID]




Analisa : Perintah ps x berfungsi untuk melihat daftar proses dengan PID

·     Perintah kill digunakan untuk menghentikan proses sesuai PID. Untuk memastikan proses telah dihentikan, gunakan perintah jobs. Terlihat proses sudah ter-terminated.

 

 

 

KESIMPULAN

1. History untuk melihat semua perintah yang pernah dijalankan sebelumnya.

2. Mengakses file bash tidak bisa sebagai user biasa. Bisa sebagai root dengan menambahkan ‘sudo’ di awal perintah

3. Penggunaan bash dan pemrograman shell pada linux dapat membuat script shell yang nantinya akan berjalan secara otomatis yang membuat kerja kita lebih efisien dan cepat

 

 

Referensi :

https://elib.unikom.ac.id/files/disk1/390/jbptunikompp-gdl-andisugand-19457-7-pertemua-7.pdf

https://docplayer.info/29805790-Praktikum-6-bekerja-dengan-bash-shell-pokok-bahasan-tujuan-belajar-dasar-teori-1-shell-u-history-pada-bash-shell-u-membuat-bash-shell-script.html

Komentar

Postingan populer dari blog ini

Praktikum 6-A dan 6-B Pemrograman Shell

Laporan Praktikum 3 Operasi File dan Struktur Directory

Praktikum 12 Manajemen Aplikasi