Praktikum 5👍

 1. Judul Laporan : Bekerja Dengan Bash Shell

2. Pokok Bahasan : 

   - Histroy pada Bash Shell

   - Membuat bash shell script

3. Tujuan Belajar :

  - Memahami shell pada sistem 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 mengeksekusi shell script sederhana melalui editor vi

  - Memahami job control

  - Memahami stack

  - Menggunakan alias

4.Teori Singkat

1.) SHELL

 Shell adalah sebuah program yang membaca input standar yaitu keyboard. Ketika kita mengetikkan sesuatu di keyboard maka shell akanmenafsirkan apa yang kita ketikkan.Pada shell ditandai dengan prompt. Untuk pemakai menggunakan prompt $ dan untuk superuser menggunakan promp #

Macam Shell :

- /bin/sh

-/bin/csh

-/bin/bsh

2.) PROFILE

    Pada saat login, program akan menjalankan beberapa program yaitu :

- /etc/profile

- Profil untuk setiap pemakai

- .bashre

- .bash_logout

3.) HISTORY 

      Semua perintah-perintah yang sudah pernah anda ketikkan, akan disimpanke dalam history. Untuk menampilkan anda bisa menggunakan perintahhistory. Secara default perintah-perintah yang bisa ditampung dalamhistory adalah 1000 perintah, untuk konfigurasi berada pada /home/user/.bashrc pada baris “export HISTSIZE=1000” . Penyimpanan file history biasanya disimpan secara default berada pada /home/user/ dengannama file .bash_history (jika menggunakan shell bash), .zsh_history(jikamenggunakan shell zsh).

4.) BASH SCRIPT

     Bash-script adalah file yang berisi koleksi program yang dapatdieksekusi. Untuk eksekusi bash-script gunakan . sebelum file bash-scriptyang berarti eksekusi shell dan tanda ./ berarti file bash-script berada padadirectori actual

5.) JOB CONTROL

     Job adalah sebuah eksekusi program yang diberikan kepada karnel.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/vim

     vi merupakan teks editor yang pertama kalinya dibuat untuk UNIX, dimanateks editor ini sangat sederhana, memiliki ukuran yang kecil tapimempunyai fungsionalitas yang besar. Saat ini banyak versi dari vi yang adaseperti nvi, vim, vile, elvis. Pada GNU/Linux umumnya menggunakan vimyang diciptakan oleh Bram Moolenar's berdasarkan vi. Pada Ubuntu saatkita mengetikkan vi atau vim pada shell, maka program yang dijalankanadalah sama yaitu vim. VIM merupakan singkatan dari VI Improved,dimana vim memiliki fitur seperti multiple undo yang tidak terdapat pada viversi lama.

5. Jawab Pertanyaan Pendahuluan

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

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

Profile pada bash shell merupakan profil untuk setiap pemakai pada home directory.

3.) Apa yang anda ketahui mengenai file .bashtrc.

File .bashrc adalah file yang akan dieksekusi untuk perpindahan dari satu shell ke shell yang lain melalui intruksi su

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!

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

6. Percobaan dan Hasil serta Analisanya

Percobaan 1 : Profile

1. File bash_profile dijalankan pada home direktori pemakai yang login. File.bash_profile adalah hiden file,sehingga untuk melihatnya digunakan opsia pada instruksi ls $ lsa


Analisa : 
Gambar di atas merupakan cara untuk menampilkan direktori secarakeseluruhan. Perintah lsberfungsi untuk menampilkan file.bash_profile (file yang tersembunyi) pada home direktori pemakai yang login.

Analisa : Gambar di atas merupakan perintah untuk menampilkan isi dari.bash_profile (file yang tersembunyi) pada home direktori pemakai yanglogin.

2. File .bash_logout akan dieksekusi sesaat sebelum logout, berfungsi sebagai house clearing jobs,
artinya membersihkan semuanya, misalnya menghapustemporary file atau job lainnya. Melihat file.bash_logout dengan instruksi
$ cat .bash_logout


Analisa : Gambar di atas merupakan perintah untuk menampilkan .bash_logout.Perintah ini akan dieksekusi sesaat sebelum logout, berfungsi sebagaihouse clearing jobs, artinya membersihkan semuanya, misalnyamenghapus temporary file atau job lainnya. Melihat file .bash_logoutdengan instruksi $ cat .bash_logout.

Percobaan 2 : Menggunakan Feature History Bash

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

2. Berikutnya, berikan Bash shell beberapa perintah untuk diingat. Masukan perintah berikut dan tekan Enter pada setiap baris.
$ cd
$ ls – l /etc

Analisa : Gambar diatas merupakan tampilan menggunakan Feature History Bash.Perintah $cd berfungsi untuk memastikan sedang berada pada direktori home.Dan untuk $ls l/etc berfungsi untuk menampilkan output file atau direktori secara lengkap yaitu terdiri dari nama file.

$whoami

$who


Analisa : Gambar di atas merupakan perintah menggunakan Feature History Bash.Perintah $ whoami dan $ who berfungsi untuk mengetahui siapa saja yangsedang aktif.

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

$history

Analisa : Gambar di atas merupakan perintah menggunakan Feature History Bash.Untuk memeriksa apakah perintah ini ditambahkan pada history, dapatmenggunakan perintah $history untuk melihat semua perintah yang pernah dimasukan

4. Anda dapat memilih perintah sebelumnya dengan menggunakan PanahAtas, tetapi hal ini tidak efisien untuk perintah yang semakin bertambah banyak. Cara yang mudah menggunakan nomor pada perintah history ataumencarinya. Untuk memilih dan mengeksekusi perintah dengan nomor,masukan kunci! Diikuti nomor perintah.

$ !<Nomor Perintah> Contoh : !431

Analisa : Gambar di atas merupakan perintah menggunakan Feature History Bash.Dapat memlih perintah sebelumnya dengan menggunakan Panah Atas,tetapi hal ini tidak efisien untuk perintah yang semakin bertambah banyak. Cara yang mudah menggunakan nomor pada perintah historyatau mencarinya. Untuk memilih dan mengeksekusi perintah dengannomor, masukan kunci! Diikuti nomor perintah, maka akan munculoutput seperti gambar di atas. Contoh : !431 setelah menginputkan perintah tersebut maka perintah who terpanggil lagi

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

Analisa : Gambar di atas merupakan perintah menggunakan Feature History Bash.Dapat mencari perintah dengan meyertakan perintah yang diinginkan.Misalnya !?etc? akan menjalankan perintah ls–  l /etc yang sebelumnya digunakan.

6. Kemudian gunakan perintah history, maka akan terlihat perintah ls – letc yang kedua dan bukan
!?etc? $ history

Analisa : Gambar di atas merupakan perintah menggunakan Feature History Bash.Gunakan perintah history, maka akan terlihat perintah ls – l etc yang keduadan bukan !?etc?

7. Apabila string tidak ditemukan pada perintah history maka akan terdapat pesan error $ !?wombat99?

Analisa : Gambar di atas merupakan perintah menggunakan Feature History Bash.Apabila string tidak ditemukan pada perintah history maka akan terdapat pesan error dengan menggunakan perintah $ !?wombat99?, maka akanmuncul output error karena tidak diketemukan

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

Analisa : Gambar di atas merupakan perintah menggunakan Feature History Bash.Jika diketikkan !who maka yang dijalankan adalah perintah who. Tetapi bila Anda ketikkan !whoa maka yang dijalankan adalah perintah whoami

9. Anda bisa menggantikan string pada perintah history, terutama pada perintah yang panjang. Misalnya ketik cat /bin/bash | strings | greph 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 | greph shell | less

Analisa : Gambar diatas merupakan perintah menggunakan Feature History Bash Bisa menggantikan string pad aperintah history,terutama pada perintah yang panjang.

Percobaan 3 : Mengubah Faeture History Bash
1. Bash shell akan menyimpan perintah history meskupun telah logout danlogin kembali. File .bash_history menyimpan file history yang terdapat padahome directory. $ cd
Analisa : Gambar diatas merupakan perintah untuk memastikan berada didirektori home.Bash-shell akan menyimpan perintah file history meskipun telah logout dan login kembali.

2. Lihat beberapa baris pada file .bash_history dengan ketik tail .bash_history dan tekan
Enter. File ini bukan file yang up to date. $ tail .bash_history
Analisa : Gambar di atas merupakan perintah mengubah Feature History Bash.Lihat beberapa baris pada file .bash_history dengan ketik tail.bash_history dan tekan Enter.

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

Analisa : Gambar di atas merupakan perintah mengubah Feature History Bash.Ketik $ history dan tekan Enter. Maka akan terlihat baris terakhir adalah perintah history dan baris sebelumnya adalah tail .bash_history. Perintahhistory bersifat up to date, karena disimpan pada memory sistem.

4. Ketik perintah berikut
$ echo ‘Ini perintah saya’
Analisa : Gambar di atas merupakan perintah mengubah Feature History Bash.
Ketikkan perintah echo ‘Ini perintah saya’, maka akan muncul tulisan atau
output Ini perintah saya.

5.Logout dan login kembali sebagai user yang sama. Ketik history dan tekan Enter. Maka perintah
echo ‘Ini Perintah saya'akan berada pada baristerkahir. Lihat file.bash_history, maka perintah tersebut akan terdapat pada file .bash_history.
$ history$ tail .bash_history
Analisa : Gambar di atas merupakan perintah mengubah Feature History Bash.Logout dan login kembali sebagai user yang sama. Ketik history dan tekan Enter. Maka perintah echo ‘Ini Perintah saya’ akan berada pada baris terakhir. Lihat file .bash_history dengan mengetikkan perintah tail.bash_history, maka perintah tersebut akan terdapat pada file.bash_history

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


Analisa : Gambar di atas merupakan perintah mengubah Feature History Bash.Untuk history|less untuk melihat perintah history terakhir pada screen.Tekan spacebar untuk melihat file lebih banyak. Untuk keluar tekan q

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
164 .bash_history

Analisa : Gambar di atas merupakan perintah mengubah Feature History Bash.Untuk melihat berapa banyak perintah history yang ada pada file. Ketikwc –  l .bash_history dan output yang keluar serupa yaitu 164.bash_history

8. Output menunjukkan bahwa 164 perintah history disimpan pada file history.Untuk melihat jangkauan (limit) perintah history digunakan variabel HISTSIZE Untuk melihat jangkauan history ketik sebagai berikut
Analisa : Gambar di atas merupakan perintah mengubah Feature History Bash.Output menunjukkan bahwa 164 perintah history disimpan pada filehistory. Untuk melihat jangkauan (limit) perintah history digunakanvariabel HISTSIZE. Untuk melihat jangkauan history ketik set|grepHISTIZE.

9. Bila ingin memperbesar jangkauan file history, maka ubahlah variabel HISTSIZE
 pada skrip startup yang disebut .bashrc pada home direktory.
$ echo ‘HISTSIZE=5000’ >> .bashrc

10. Logout dan login kembali sebagai user yang sama. Lihat perubahan variabel
HISTSIZE
$ set|grep HISTSIZE
Analisa : Gambar di atas merupakan perintah mengubah Feature History Bash. Bilaingin memperbesar jangkauan file history, maka ubahlah variabelHISTSIZE pada skrip startup yang disebut .bashrc pada home direktory
dengan mengetikkan perintah echo ‘HISTSIZE=5000’ >> .bashrc.
Logout dan login kembali sebagai user yang sama. Ketikkan set|grepHISTSIZE. Lihat perubahan variabel HISTSIZE.

11. Ketikkan perintah history beberapa kali, maka perintah ini akan disimpan pada BASH history meskipun yang diketikkan perintahnya sama
Analisa : Gambar di atas merupakan perintah mengubah Feature History Bash.Ketikkan perintah history beberapa kali, maka perintah ini akan disimpan pada BASH history meskipun yang diketikkan perintahnya sama

12. Anda dapat melakukan konfigurasi BASH agar tidak menambah perintahke history jika perintah yang diketikkan sama dengan sebelumnya. Hal inidilakukan dengan menambahkan variabel HISTCONTROL dan diberikan nilai ignoredups pada file.bashrc
 $ echo ‘HISTCONTROL=ignoredups’ >> .bashrc



13. Logout dan login kembali sebagai user yang sama. Ketikkan history beberapa kali dan perintahkan berapa kali history yang muncul.

Analisa : Gambar di atas merupakan perintah mengubah Feature History Bash.Dapat melakukan konfigurasi BASH agar tidak menambah perintah kehistory jika perintah yang diketikkan sama dengan sebelumnya. Hal inidilakukan dengan menambahkan variabel HISTCONTROL dan diberikannilai ignoredups pada file .bashrc dengan mengetikkan perintah echo
‘HISTCONTROL=ignoredups’ >> .bashrc. Log
out dan login kembalisebagai user yang sama. Ketikkan history beberapa kali dan perintahkan berapa kali history yang muncul.

Percobaan 4 : Mengubah Prompt Shell
1. Prompt Bash Shell dikonfigurasikan dengan menseting nilai variabel PS1.Selain menampilkan string statik sebagai prompt, anda dapat menampilkanmenjadi 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 dalamHH:MM:SS $ PS1=’\t:’
Analisa : Gambar diatas merupakan perintah mengubah prompt shell.Pada Bash Shell di konfigurasikan dengan menseting nilai variabel PS1. Selain menampilkan string statik sebagai prompt, anda dapat menampilkan menjadi dinamis.

2. Untuk menampilkan format 12 jam dengan indikator am dan pm ketiksebagai berikut:
$ PS1=’\t:’

Analisa : Gambar diatas merupakan perintah mengubah prompt shell. Untuk menampilkan format 12 jam dengan indikator am dan pm

3. Kebanyakan orang menginginkan prompt Bash menampilkan currentworking directory. Direktory dapat ditampilkan dalam bentuk keseluruhan path atau hanya nama direktori. Karakter \w menampilkan hanya namadirektori. Jika current direktory adalah home directory, maka tampil prompt
~:
$ PS1=’\w:’

Analisa : Gambar di atas merupakan perintah mengubah Prompt Shell.Kebanyakan orang menginginkan prompt Bash menampilkan currentworking directory. Direktory dapat ditampilkan dalam bentukkeseluruhan path atau hanya nama direktori. Karakter \w menampilkanhanya nama direktori. Jika current direktory adalah home directory, maka
tampil prompt ~: dengan mengetikkan perintah $ PS1=’\w:

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

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

Analisa : Gambar di atas merupakan perintah mengubah Prompt Shell. Perintah $cd /usr/sbin berfungsi untuk membuka direktori sbin.
Ketik PS1=’\W:’ untuk melihat prompt sbin:

6. Ada beberapa prompt BASH lain yang dapat diubah, yaitu PS2, PS3 danPS4. Prompt PS2 digunakan sebagai prompt sekunder. Untuk melihat bagaimana penggunanya, ketik echo ‘Hello
(tanpa diakhiri penutup quote)dan tekanEnter.Simbol lebih besar dari (>) akan muncul. Hal inimemberitahukan 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 : Gambar di atas merupakan perintah mengubah Prompt Shell. Ada beberapa prompt BASH lain yang dapat diubah, yaitu PS2, PS3 dan PS4.Prompt PS2 digunakan sebagai prompt sekunder. Untuk melihat bagaimana penggunanya, ketik echo ‘Hello (tanpa diakhiri penutup quote) dan tekan Enter. Simbol lebih besar dari (>) akan muncul. Hal inimemberitahukan 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.

7. Anda dapat mengubah prompt PS2 seperti mengubah prompt PS1. Ketik perintah berikut:
$ PS2=’Selesai memasukkan perintah anda:’

8. Kemudian ketik echo ‘Hello (tanpa diakhiri penutup quote) dan tekan Enter.
Pada baris berikutnya 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 ‘Hello Selesai memasukkan perintah anda:’

Analisa : Gambar di atas merupakan perintah mengubah Prompt Shell. Mengubah prompt PS2 seperti mengubah prompt PS1. Ketik perintah $ PS2=’Selesaimemasukkan perintah anda:’. Kemudian ketik echo ‘Hello (tanpa diakhiri penutup quote) dan tekan Enter. Pada baris berikutnya 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 ‘Hello kemudian Selesaimemasukkan perintah anda:’

9. Prompt BASH dapat ditampilkan berwarna dengan melakukan setting colorsetting string .Sebagai contoh, prompt BASH di seti dengan \w\$, akanmenampikan current working directory yang diikuti $ (atau # jika anda loginsebagai root). Untuk setting warna menjadi biru ketikkan berikut:
$ PS1 =’\033[0;34m\w\$ \033[0;37m’

Analisa : Gambar di atas merupakan perintah mengubah Prompt Shell. PromptBASH dapat ditampilkan berwarna dengan melakukan settingcolorsetting string. Sebagai contoh, prompt BASH di seti dengan \w\$,akan menampikan current working directory yang diikuti $ (atau # jikaanda login sebagai root). Untuk setting warna menjadi biru ketikkan $PS1 =’033[0;34m\w\$ \033[0;37m’

10. Untuk menampilkan prompt warna merah, ketikkan perintah berikut:
$ PS1 =’\033[0;31m\w\$ \033[0;37m’
30=hitam, 31=merah, 32=hijau, 34=biru, 35=ungu, 36=cyan, 37=putih.
Analisa : Gambar di atas merupakan perintah mengubah Prompt Shell. Untukmenampilkan prompt warna merah, ketikkan perintah $ PS1=’\033[0;31m\w\$ \033[0;37m’. Maka tulisan berwarna merah.

11. Bila menginginkan beberapa warna, ketikkan perintah berikut:
$ PS1 =’\033[0;34m\w\$ \033[0;32m$ \033[0;37m’


Analisa : Gambar di atas merupakan perintah mengubah Prompt Shell. Bilamenginginkan beberapa warna, ketikkan perintah $ PS1=’\033[0;34m\w\$ \033[0;32m$ \033[0;37m'.Maka tulisan dengan warna warni

12. Anda bisa menampilkan atribut visual seperrti lebih terang, berkedip danwarna kebalikannya. Untuk menampilkan prompt yang lebih terang,atribut control diganti 1, seperti berikut:
$ PS1 =’\033[1;34m\w\$ \033[1;32m$ \033[0;37m’
Analisa : Gambar di atas merupakan perintah mengubah Prompt Shell. Untukmenampilkan atribut visual seperrti lebih terang, berkedip dan warnakebalikannya. Untuk menampilkan prompt yang lebih terang, atribut control diganti 1, dengan perintah PS1 =’\033[1;34m\w\$ \033[1;32m$\033[0;37m’,Maka tulisan 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 : Gambar di atas merupakan perintah mengubah Prompt Shell. Untukmenampilkan prompt dengan warna berkebalikan, atribut control diganti 7, seperti perintah PS1 =’
\033[7;34m\w\$ \033[7;32m$ \033[0;37m’,Maka tulisan menjadi berwarna berkebalikan.

14. Untuk menampilkan prompt berkedip, atribut control diganti 5, seperti berikut:
Analisa : Gambar di atas merupakan perintah mengubah Prompt Shell. Untukmenampilkan prompt berkedip, atribut control diganti 5, seperti perintahPS1 =’\033[5;34m\w\$ \033[5;32m$ \
033[0;37m’, maka tulisan promptmenjadi berkedip.

Percobaan 5 : Menambahkan otomatisasi ke Prompt shell
1. Pastikan anda berada di home direktori
$ cd
2. Buatlah skrip sederhana untuk mengurut daftar file. Anda dapat menggunakan teks editor, tetapi karena hanya satu baris, gunakan perintahecho untuk membuat file.
Analisa : Gambar di atas merupakan perintah menambahkan otomatosasi ke Prompt Shell.Pastikan sedang berada di home direktori, kemudian membuat skrip sederhana untuk mengurut daftar file.

3. Buatlah file skrip di atas menjadi executable
$ chmod +x sorter

4. Jalankan program sorter diatas setiap shell Bash menampilkan promptPS1. Untuk melakukannya, buatlah variabel PROMPT_COMMAND dimana nilainya adalah nama dari program sorter. 
$ PROMPT_COMMAND=~/sorter

Analisa : Gambar di atas merupakan perintah menambahkan otomatosasi kePrompt Shell. Membuat file skrip diatas menjadi executable dengan perintah chmod +x sorter, kemudian program sorter diatas setiap shellBash menampilkan prompt PS1. Untuk melakukannya, buatlah variabelPROMPT_COMMAND dimana nilainya adalah nama dari programsorter.

5. Ketikkan echo‘John Smith:13001’>>list dan tekan Enter. Jika file list tidak ada, akan dibuat secara otomatis, tetapi jika sudah ada, string ‘JohnSmith:13001’ akan ditambahkan.
$ echo ‘John Smith:13001’>>list
 
6. Ketik cat list dan tekan Enter. Maka anda akan melihat isi gile list. Padasaat ini, file mungkin memnpunyai hanya satu baris sehingga tidak dapatdilihat apakah file sudah terurut.
$ cat list

Analisa : Gambar di atas merupakan perintah menambahkan otomatosasi kePrompt Shell. 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’ akan ditambahkan, dan Ketik cat list dan tekan
Enter. Maka anda akan melihat isi gile list. Pada saat ini, file mungkin mempunyai hanya satu baris sehingga tidak dapat dilihat apakah filesudah terurut.

7. Masukkan beberapa printah serupa dengan point 5 tetapi dengan nama dannomor yang berbeda kemudian ketikcat list dan tekanEnter
.$ echo ‘Anita:13002’>>list
 $ echo ‘Samantha:13003’>>list
 $ echo ‘Patrik’:13004’>>list
 $ echo ‘Sponsebob’:13005’>>list
 $ echo ‘Lisa’:13006’>>list
 $ echo ‘Squid’:13007’>>list
Analisa : Gambar di atas merupakan peritnah menambahkan otomatosasi kePrompt Shell. Masukkan beberapa printah serupa dengan point 5 tetapidengan nama dan nomor yang berbeda kemudian ketik cat list dan tekanEnter, maka akan muncul output dengan urutan daftar nama dari kecil ke besar

8. Apabila anda tidak menginginkan Shell Bash menampilkan file terurutsepanjang waktu, anda tidak perlu menambahkan variabelPROMPT_COMMAND=~/sorter pada file konfigurasi seperti .bashrc. bila anda ingin BASH berhenti menjalankan program sorter, makaketikkan variabel
PROMPT_COMMAND = dan tekanEnter atau logoutdan login kembali.
 $ PROMPT_COMMAND=
(SUDAH DICOBA)


Percobaan6 : Membuat Bash-Script dan menjalankannya
1. Membuat file p1.sh
$ vi p1.sh
echo "Program bash script"


Analisa : Gambar di atas merupakan perintah membuat Bash-Script dan menjalankannya.Membuat file p1.sh menggunakan perintah v1.p1,sh dan echo "program bash script", maka akan muncul output menampilkan program bash script

2. Mengubah program menjadi executable
$ ls -l p1.sh
$ chmod +x p1.sh
$ ls–l p1.sh


Analisa : .Gambar di atas merupakan perintah membuat Bash-Script danmenjalankannya. Perintah ls -l p1.sh digunakan untuk menampilkansemua file p1.sh. Perintah chmod +x p1.sh digunakan untuk mengubahmenjadi executable. Perintah ls – l p1.sh digunakan menampilkan file untuk mengecek kembali file, tanda tulisan berwarna ijo artinya telahdiubah menjadi excutable.

3. Menjalankan script
$ bash p1.sh
$ sh p1.sh
$ . p1.sh
$ . /p1.sh


Analisa : Gambar di atas merupakan perintah membuat Bash-Script danmenjalankannya. Semua perintah diatas telah dicoba dan memiliki hasiiloutput yang sama

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 : Gambar di atas merupakan perintah membuat Bash-Script danmenjalankannya. Konvensi dalam pembuatan script shell dinyatakansebagai #!/bin/bash. Tambahkan pada file p1.sh konvensi tersebut dengan tulisan “Program 2 bash script”

5. Buatlah file p2.sh
$ vi p2.sh#!/bin/bash
echo “Program 2 bash script”


Analisa : Gambar di atas merupakan perintah membuat Bash-Script danmenjalankannya. Konvensi dalam pembuatan script shell dinyatakan .sebagai #!/bin/bash. Tambahkan pada file p2.sh konvensi tersebut dengan tulisan “Program 2 bash script”.

6. Menjalankan beberapa program shell dalam satu baris instruksi yangdipisahkan dengan tanda ;
$ cat p1.sh ; cat p2.sh
$ ./p1.sh ; ./p2.sh




Analisa : Gambar di atas merupakan perintah membuat Bash-Script danmenjalankannya. Menjalankan beberapa program shell dalam satu barisinstruksi yang dipisahkan dengan tanda ; dengan perintah cat p1.sh ; cat p2.sh dan ./p1.sh ; ./p2.sh.

Percobaan 7 : Job Control
1. Proses foreground
$ ps x
Analisa : Gambar di atas merupakan perintah Job Control. Proses foregrounddengan menggunakan perintah ps x , maka akan muncul output daftar fileyang sedang dijalanjan.

2. Proses background
$ ps x  > hasil &
Analisa : Gambar di atas merupakan perintah Job Control. Proses backgrounddengan 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 jobsyang aktif
$ jobs
Analisa : Gambar di atas merupakan perintah Job Control. Setiap job mempunyaiPID yang tunggal (unique). Untuk melihat jobs yang aktif denganmenggunakan 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]
dosleep 10
echo “Hallo”
done


Analisa : Gambar di atas merupakan perintah Job Control. Membuat file ploop.sh.file ini tidak akan pernah berhenti kecuali ditekan CTRL+C denganmenggunakan perintah $ vi ploop.sh kemudian ketikkan while [true], do,
sleep 10, echo “Hallo”, done
.
5. Buatlah file ploop.sh menjadi executable. Jalankan program, akanditampilkan kata Hallo setiap 10 detik. Untuk keluar program, tekanCTRL-C (^C)
$ chmod +x ploop.sh
$ ./ploop.sh


Analisa : Gambar di atas merupakan perintah Job Control. Membuat file ploop.shmenjadi executable. Jalankan program, akan ditampilkan kata Hallosetiap 10 detik. Untuk keluar program, tekan CTRL-C (^C) denganmenggunakan perintah chmod +x ploop.sh dan ./ploop.sh, maka akanmuncul output dengan menampilkan kata hallo berulang kali setiap 10detik.

Percobaan 8 : Manipulasi stack untk Direktori
1. Instruksi dirs digunakan untuk melihat stack direktori, pada output hanyaditampilkan direktori home ~
$ dirs
Analisa : 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

Analisa : 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 hanyaditampilkan direktori home ~
$ dirs
Analisa : Gambar di atas merupakan perintah Manipulasi stack untuk Direktori.Instruksi dirs digunakan untuk melihat stack direktori, pada output hanyaditampilkan 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 padasistem:
$ alias
Analisa : Gambar di atas merupakan perintah Alias. Alias adalah mekanisme untukmemberi nama alias pada satu atau sekelompok instruksi. Untuk melihatalias yang sudah terdaftar pada sistem, maka akan muncul output yangmemberi informasi perintah alias.

2. Membuat beberapa alias
$ alias del=’rm –i’
$ alias h=’history’
Analisa : Gambar di atas merupakan perintah Alias. Untuk membuat beberapa alias
menggunakan perintah alias del=’rm –i’artinya dengan menggunakanalias del, maka yang akan dikerjakan rm-i. Dan alias h=’history’ artinya perintah alias h akan menjalankan perintah history

3. Gunakan instruksi hasil alias
$ ls
$ del hasil
$ h | more
Analisa : Gambar di atas merupakan perintah Alias. Untuk menggunakan instruksihasil alias menggunakan perintah ls untuk melihat current workingdirectory, kemudian perintah del hasil digunakan untuk menghapus filehasil, karena alias del menjalankan perintah rm-i tadi. Dan perintah h |more digunakan untuk menjalankan perintah history, karena perintah htadi merupakan alias dari perintah history.

4. Untuk menghapus alias gunakan instruksi unalias
$ unalias del
$ del files (Terdapat pesan Kesalahan, mengapa?)
Analisa : Gambar di atas merupakan perintah Alias. Untuk menghapus aliasgunakan 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’


Analisa : Tampilan diatas merupakan jawaban nomor 1 a. Perintah vi /etc/profile berfungsi untuk masuk ke prompt script /etc/profile, untuk mengedit pesan menggunakan perintah i, kemudian inputkan perintah
echo ‘profiledari /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


Analisa : Tampilan diats merupakann jawaban dari latihan 1 b. Perintah vidigunakan untuk masuk ke teks editor untuk mengedit file konfigurasisistem, 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”


Analisa : Gambar di atas merupakan latihan nomer 1 c, yaitu menambahkaninstruksi pada file /home/pebri.ramdani/.bash_profile dengan instruksiecho “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/. pebri.ramdani /.bash_login dengan instruksi echo“Profile dari.bash_login”, kemudian cara menginputakan instruksi dengan i,
.perintah insert, lalu perintah :wq untuk menyimpan dan keluar dari texteditor. Pada /home/ pebri.ramdani /.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 dengannama file yang bersangkutan.
SUDAH DIKERJAKAN PADA POINT B DAN C2. 


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


Analisa : Tampilan diatas merupakan jawaban no 2, yaitu perintah $ su studentdigunakan untuk pindak ke super user, sistem meminta password admin.Pada perintah tersebut pada file .bashrc sudah dimodifikasi sebelumnyasehingga instruksi echo terpanggil bila menggunakan perintah SU,untuk mengakhiri menggunakan Perintah $ exit.

 Kemudian gunakan opsi– sebagai berikut:
$ su–student
$ exit


Analisa :  Tampilan diatas merupakan jawaban no 2, yaitu perintah $ su - studentdigunakan untuk pindak ke super user, sistem meminta password admin.Pada perintah tersebut akan menjalankan dua file yaitu file .bashrc danfile .bash_profile yang keduanya sudah dimodifikasi sebelumnyasehingga instruksi echo terpanggil bila menggunakan perintah SU, untukmengakhiri menggunakan Perintah $ exit. jadi yang membedakannyayaitu memunculnya jumlah file yang dibuka dan mengakhiri filenyadengan akhiran logout

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 :
Tampilan diatas merupakan jawaban no3, yaitu membuat program logoutmenggunakan vi editor. Perintah $ vi .bash_logout digunakan untukmembuat text editor membuat program. Kemudian insert
echo “Terimakasih atas sesi yang diberikan”
 sleep 5cleardengan menggunakan i, setelah selesai akhiri dan simpan dengan perintah:wq.Perintah $ chmod +x .bashk_logout berfungsi untuk merubah file menjadiexcutable. Perintah $ ./.bash_logout untuk mengeksekusi file.bash_logout.

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


Analisa : Tampilan diatas merupakan jawaban no3, yaitu mengedit program logoutmenggunakan vi editor. Perintah $ vi .bash_logout digunakan untukmembuat text editor membuat program. Kemudian edit text editormenjadi
insert echo “Terima kasih atas sesi yang diberikan”
 sleep 4cleardengan menggunakan i, setelah selesai akhiri dan simpan dengan perintah:wq.Perintah $ chmod +x .bashk_logout berfungsi untuk merubah file menjadiexcutable. Perintah $ ./.bash_logout untuk mengeksekusi file.bash_logout.

4. History
a. Ganti nilai HISTSIZE dari 1000 menjadi 20
$ HISTSIZE=20
$ h



Analisa : Gambar di atas merupakan latihan nomer 4 yaitu tentang history.Ketikkan perintah set | grep HISTSIZE untuk mengecek jumlah historysebelumnya 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, makaakan muncul output seperti gambar di atas.

b. Gunakan fasilitas history dengan mengedit instruksi baris ke 5 dariinstruksi 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


Analisa : Gambar di atas merupakan latihan nomer 4 yaitu tentang history.Perintah !-5 digunakan untuk menampilkan atau mengeksekusikembali history pada 5 terakhir perintah di history. Perintah !!digunakan mengulangi instruksi yang terakhir. Gunakan juga ^Pdan ^N untuk bernavigasi pada history buffer. Perintah !150digunakan untuk memanggil perintah dari history dengan nomorPID 150.

e. Ulangi instruksi dengan prefix “ls”
 $ !ls
$ !?ls?
Jelaskan perbedaan instruksi di atas (sudah pada analisis)


 Analisa : Gambar di atas merupakan latihan nomer 4 yaitu tentang history. Perintah prefiks ls ini akan menghasilkan perintah yang sama yaitu perintah ls – l.

5. Prompt String (PS)
a.Edit file
.bash_profile
, ganti prompt PS1 dengan ‘>’. Instruksi export
diperlukan dengan parameter nama variabel tersebut, agar perubahanvariabel 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 : Gambar di atas merupakan latihan nomer 5 yaitu tentang prompt string.Ed
it file .bash_profile, ganti prompt PS1 dengan ‘>’. Instruksi export
diperlukan dengan parameter nama variabel tersebut, agar perubahanvariabel PS1 dikenal oleh semua shell, maka akan muncul output sepertigambar di atas. Ada beberapa tampilan prompt PS1 yaitu dengan nomor perintah (\!), date (\d), time (\t), who=user(\u), working directory (\w).

b. Ubahlah warnal shell prompt dengan warna biru dan berkedip
Analisa : Gambar di atas merupakan latihan nomer 5 yaitu tentang prompt string.Mengubah warna shell prompt dengan warna biru dan berkedipmenggunakan perintah seperti pada gambar di atas, maka output tulisanakan 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


Analisa : Tampilan diatas merupakan jawaban nomor 6a, yaitu membuat programfile menggunakan vi editor. Pada Program $ vi p1.sh diinputkan scriptdengan 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 untukmenyimpan dan keluar.Pada Program $ vi p2.sh diinputkan script dengan menekan i pada vieditor. Lalu isi script berikut :#! /bin/bash

echo “Program p2”



 whosetelah selesai penginputan takan esc untuk berhenti dan tekan :wq untukmenyimpan dan keluar.Pada Program $ vi p3.sh diinputkan script dengan menekan i pada vieditor. Lalu isi script berikut :#! /bin/bash

echo “Program p3”



 ps xsetelah selesai penginputan takan esc untuk berhenti dan tekan :wq untuk menyimpan dan keluar.

b. Jalankan script tersebut sebagai berikut dan perhatikan hasilnya:

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



Analisa : Gambar di atas merupakan latihan nomer 6 yaitu tentang bash script.Perintah ./p1.sh ; ./p3.sh ; ./p2.sh untuk menampilkan isi dari scripttersebut, maka akan muncul output dari hasil eksekusi pada vi editor.Pada perintah ./p3.sh ; ./p2.sh izin di tolak(program tidak jalan), karenafile tersebut belum di rubah menjadi excutable. Dengan menggunakan perintah chmod +x ./p3.sh ; ./p2.sh maka program tersebut bisa di jalankan.

$ ./p1.sh &



Analisa : 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 &


Gambar di atas merupakan latihan nomer 6 yaitu tentang bash script.Perintah $ ./p1.sh $ ./p2.sh & ./p3.sh & berfungsi untuk menampilkanketiga script secara bersamaan dengan proses background.


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

Analisa : 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
date >> hasil
sleep 10
done


Analisa : Gambar di atas merupakan latihan nomer 7 yaitu tentang jobs. Perintah vi pewaktu.sh berfungsi untuk membuat program dan akan masuk padatampilan vi editor. Tekan i untuk insert script seperti berikut
#!/bin/bash
while [ true ]
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 menjadiexcutable, 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 loopdengan nama pwaktu.sh, setiap 10 detik, kemudian menyimpan tanggaldan 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


Analisa : Gambar di atas merupakan latihan nomer 7 yaitu tentang jobs. Perintah jobs pertama akan menampilkan jobs yaitu dari program ./pwaktu.shdengan status terhenti. Kemudian ditambahkan lagi satu program utilitas

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


Analisa : Gambar di atas merupakan latihan nomer 7 yaitu tentang jobs. Jobsdengan nomor perintah 1 yaitu ./pwaktu.sh akan dijalankan sebagai program foregorund dengan menggunakan perintah fg %1. Kemudiandengan 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]


Analisa : Gambar di atas merupakan latihan nomer 7 yaitu tentang jobs. Perintah perintah ps x berfungsi untuk melihat proses status foreground, kemudianuntuk mengentikan atau stop program pada background dengan perintahkill 4332 maka proses bash dengan no PID 4332 terhenti.

7. Kesimpulan 
Setelah Mempraktekkan Bash Shell, dapat disimpulkan bahwa :
Shell atau Command executive  merupakan program yang menunggu instruksi dari pemakai, memeriksa sintak dari instruksi yang diberikan, kemudian mengeksekusi perintah tersebut.
Warna prompt dapat dirubah-rubah sesuai keinginan kita
Mengetahui penjelasan dari history yaitu catatan dari semua instruksi yang sejauh ini telah dilakukan.

Dengan kata lain kita dapat menggunakan perintah – perintah diatas dan dilakukan melalui konfigurasi Bash Shell untuk menjalankan skrip secara otomatis, mengubah warna prompt dan dengan perintah history kita dapat melihat perintah-perintah yang telah disimpan dan  dibuat sebelumnya.

8. Daftar Pustaka
https://www.academia.edu/26225092/LAPORAN_PRAKTIKUM_SISTEM_OPERASI
http://intheworld-it.blogspot.com/2014/11/laporan-praktikum-sistem-operasi_46.html

9. Link Tautan Blog
https://vaniareviana.blogspot.com/2020/10/praktikum-5.html

Komentar

Postingan populer dari blog ini

PRAKTIKUM 7

PRAKTIKUM 6 😁

Praktikum 4 👌