LAPORAN PRAKTIKUM 5 : BEKERJA DENGAN BASH SHELL
LAPORAN PRAKTIKUM 5
BEKERJA DENGAN BASH SHELL
DANIEL PUTRA ARIYANTO (1903421003)
BM-5B
PROGRAM STUDI BROADBAND MULTIMEDIA
JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI JAKARTA
2021/2022
I.
Pokok Bahasan
1.
History pada Bash
Shell
2.
Membuat Bash Shell
Script
II.
Tujuan Praktikum
Setelah mempelajari
materi dalam bab ini, mahasiswa diharapkan mampu:
· Memahami
shell pada sistem operasi Linux.
· Menggunakan
feature history pada Bash Shell.
· Mengubahfeature
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
III.
Dasar Teori
1.
SHELL
Shell adalah sebuah
program yang membaca input standar yaitu keyboard. Ketika kita mengetikkan
sesuatu di keyboard maka shell akan menafsirkan apa yang kita ketikkan. Sebagai
contoh apabila kita ketikkan ls pada shell dan ls ternyata
merupakan program yang dapat di eksekusi maka shell akan menjalankan program
tersebut.
Misal:
antoro@drutz:~$ ls
test
antoro@drutz:~$ hello
bash: hello: command not found
antoro@drutz:~$
Kita
dapat melihat bahwa kelika ls kita ketikkan maka program ls dijalankan,
sedangkan apabila kita jalankan hello dan karena memang tidak ada program hello
maka shell tidak dapat mengeksekusinya.
Jenis-Jenis
Shell
Jenis shell yang digunakan di unix
maupun linux banyak macamnya, tetapi dilihat dari segi kuantitas pemakainya
shell yang banyak dipakai adalah sebagai berikut :
·
Bourne
shell (sh)
·
C
shell (csh)
·
Korn
shell (ksh)
·
Bourne
Again shell (bash)
Yang paling banyak
di gunakan adalah bash, dimana bash ini merupakan pengembangan dari sh dan ksh.
Mayoritas distribusi linux saat ini menggunakan bash sebagai default shell-nya.
2.
PROFILE
Pada saat kita login dan memulai sebuah
session baru bash shell, maka bash akan menjalankan file /etc/profile,
.profile, /etc/bash.bashrc .bashrc. File /etc/profile dan /etc/bash.bashrc
digunakan untuk semua user yang ada, jika kita melakukan modifikasi file ini
maka akan ber-efek pada semua user yang bisa login kedalam system. Sedangkan
.profile dan .bashrc hanya terdapat pada masing-masing home direktori dari user
yang bersangkutan. File /etc/profile dan .profile hanya akan dieksekusi oleh
login shell, jika dalam session aktif kita menjalankan perintah
$
bash
Maka
file .profile tidak akan dijalankan, agar .profile dijalankan kita harus
menggunakan perintah.
$
bash --login
Perintah
ini berguna untuk melihat hasil dari file .profile yang dimodifikasi tanpa
harus logout dari session. Sekarang kita akan mencoba memodifikasi file
.profile, buka dengan teks editor, dan tambahkan baris berikut dibagian paling
bawah
date
Simpan
hasil perubahan tersebut, kemudian jalankan perintah berikut
$ bash
--login
Tue Nov 13 20:55:13 WIT 2007
Untuk
keluar ketik perintah
$
logout
Modifikasi
seperti merubah prompt shell secara permanen, mode editing yang digunakan oleh
shell bisa ditempatkan pada file .profile. Untuk interaktif session yang bukan
login session, maka bash akan melihat pada file /etc/bash.bashrc dan .bashrc.
Pada .bashrc, umumnya digunakan untuk menempatkan sebuah fungsi alias bagi
sebuah command, misalnya alias ls=‟ls –qF‟. Pada distro Ubuntu, file .bashrc
ini juga dijalankan pada waktu login session, hal ini bisa dilihat pada file
.profile di Ubuntu terdapat baris berikut
# if
running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
fi
.bash_logout
merupakan file yang dijalankan pada saat kita logout dari session bash shell.
Jika kita ingin menghapus isi direktori tertentu pada saat logout, maka
perintah tersebut harus ditempatkan pada file .bash_logout. Sedangkan
.bash_history berisikan command-command yang pernah kita input pada shell.
3.
HISTORY
Semua
perintah-perintah yang sudah pernah anda ketikkan, akan disimpan ke dalam
history. Untuk menampilkan anda bisa menggunakan perintah history. Secara
default perintah-perintah yang bisa ditampung dalam history 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/ dengan nama file .bash_history (jika
menggunakan shell bash), .zsh_history(jika menggunakan shell zsh).
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 directori 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, dimana teks editor ini sangat sederhana,
memiliki ukuran yang kecil tapi mempunyai fungsionalitas yang besar. Saat ini
banyak versi dari vi yang ada seperti nvi, vim, vile, elvis. Pada GNU/Linux
umumnya menggunakan vim yang diciptakan oleh Bram Moolenar's berdasarkan vi.
Pada Ubuntu saat
kita mengetikkan vi atau vim pada shell, maka program yang dijalankan adalah
sama yaitu vim. VIM merupakan singkatan dari VI Improved, dimana vim memiliki
fitur seperti multiple undo yang tidak terdapat pada vi versi lama. Untuk
memulai vi/vim pada shell (jika menggunakan GUI, jalankan gnometerminal) bisa
dengan cara
vi
vi options file
vi options +num file
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 dimmasukan kedalam 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.
TUGAS PENDAHULUAN
Jawablah pertanyaan-pertanyaan dibawah ini :
1. Apa yang dimaksud dengan shell
dan sebutkan shell yang ada di system operasi linux?
Jawab :
·
/bin/sh :
Bourno 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 Kom-Shell
2. Apa yang dimaksud dengan profile
pada bash shell?
Jawab :
Profile
pada Bash Shell adalah profile untuk setiap pemakai pada home directory
3. Apa yang anda ketahui mengenai
file .bashtrc.
Jawab :
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 editori vi
PERCOBAAN :
1. Login sebagai user
2. Bukalah Console Terminal dan lakukan percobaan-percobaan dibawah ini kemudian Analisa hasil percobaan
3. Selesaikan soal-soal Latihan
Percobaan 1 : Status Proses
1. File bash_profile dijalankan pada home direktori pemakai yang login. File .bash_profile adalah hidden file ,sehingga untuk melihatnya digunakan opsi a pada instruksi ls.
$ls -a
Hasil :
Analisa :
Pada percobaan diatas digunakan perintah ls -a untuk menampilkan file .bash_profile pada homedirektori pemakai yang login secara keseluruhan.
$ more .profile
Hasil :
Analisa :
Pada percobaan diatas digunakan perintan $more .profile untuk menampilkan isi dari .profile pada home direktori pemakai yang login.
2. File .bash_logout akan dieksekusi sesaat sebelum logout, berfungsi sebagai house clearing jobs, artinya membersihkan semuanya, misalnya menghapus temporary file atau job lainnya. Melihat file .bash_logout dengan instruksi
$cat
.bash_logout
Hasil :
Analisa :
Pada percobaan diatas menggunakan perintah 4cat .bash logout untuk menampilkan isi file .bash_logout yang dijalankan sesaat sebelum logout, berfungsi sebagai house clearing jobs yang arinya membersihkan semuanya seperti menghapus temporary file atau job lainnya.
Percobaan 2 : Menggunakan Feature History Bash
1. Bash shell menyimpan “history” perintah yang digunakan sebelumnya. Anda dapat mengaksis history dalam beberapa cara. Cara paling mudah adalah 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
Hasil
:
Analisa
:
Pada
percobaan diatas merupakan tampilan menggunakan Feature History Bash. Percobaan
diatas menggunakan perintah $cd untuk memastikan sedang berada pada direktori
home. Perintah $ls -l /etc untuk menampilkan output file secara lengkap yang
terdiri dari nama file, ukuran, tanggal dimodifikasi, pemilik, group dan mode
atau atributnya.
$ls -l
Hasil
:
Analisa
:
Pada
percobaan diatas menggunakan Feature History Bash dengan perintah $ls -l yang
berfungsi untuk menampilkan daftar file pada direktori yang sedang aktif yaitu
direktori home.
$ whoami
$ who
Hasil
:
Analisa
:
Pada
percobaan diatas merupakan perintah menggunakan Feature History Bash dengan
perintah $whoami dan $who yang berfungsi untuk mengetahui siapa saja yang
aktif.
3. Untuk memeriksa apakah perintah ini ditambahkan pada history, dapat menggunakan perintah history untuk melihat semua perintah yang pernah dimasukkan.
$ history
Hasil :
Analisa :
Untuk memeriksa apakah perintah ini ditambahkan pada history, dapat menggunakan perintah $history untuk melihat semua perintah yang pernah dimasukan.
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 atau mencarinya. Untuk memilih dan mengeksekusi perintah dengan nomor, masukkan kunci ! diikuti nomor perintah.
$ !<Nomor Perintah> Contoh : !780
Hasil :
Analisa :
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 history atau mencarinya. Untuk memilih dan mengeksekusi perintah dengan nomor, masukan kunci! Diikuti nomor perintah, maka akan muncul output seperti gambar di atas. Contoh : !17 setelah menginputkan perintah tersebut maka perintah whoami terpanggil lagi.
5. Buka terminal lagi (keempat), atur posisi sehingga keempat terminal terlihat pada screen. Anda dapat mencari perintah dengan menyertakan perintah yang diinginkan. Misalnya !?etc?! akan menjalankan perintah ls –l /etc yang sebelumnya digunakan.
$ !?etc!
Hasil :
Analisa :
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 –l /etc yang kedua dan bukan !?etc?
$ history
Hasil
:
Analisa
:
Gunakan
perintah history, maka akan terlihat perintah ls –l etc yang kedua dan bukan
!?etc?.
7. Apabila string tidka ditemukan pada perintha history maka akan terdapat pesan error.
$ !?wombat99?
Hasil :
Analisa :
Apabila string tidak ditemukan pada perintah history maka akan terdapat pesan error dengan menggunakan perintah $ !?wombat99?, maka akan muncul 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
Hasil :
Analisa :
Jika diketikkan !who maka yang dijalankan adalah perintah who. Tetapi bila Anda ketikkan !whoa maka yang dijalankan adalah perintah whoami.
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^
Hasil :
Analisa :
Bisa menggantikan string pada perintah history, terutama pada perintah yang panjang. Misalnya dengan mengetik 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 dari tampilan tersebut tekan q.
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
Hasil :
Analisa :
Pada percobaan ini, di file .bash_history terdapat file history yang mengandung home directory. Untuk membuka file history ini digunakan perintah $cd
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
Hasil :
Analisa :
Perintah ini digunakan untuk melihat
beberapa baris pada file .bash_history
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
Hasil :
Analisa :
Perintah ini digunakan untuk
menampilkan baris terakhir yang berisi perintah history dan baris sebelumnya
adalah tail .bash_history. Perintah history bersifat terbaru karena disimpan
pada memory system dan file yang baru akan terlihat.
4.
Ketik perintah berikut
$ echo ‘Ini perintah
saya’
Hasil :
Analisa :
Peritah ini digunakan
untuk menampilkan tulisan “ini perintah saya”.
5.
Log out dan log in
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, maka perintah tsb akan terdapat pada file .bash_history.
$ history
$ tail .bash_history
Hasil :
Analisa :
Perintah
$history digunakan untuk melihat “ini perintah saya” dalam history, sedangkan
perintah $tail .bash_history digunakan untuk menampilkan history yang
berhubungan dengan bash.
6.
Ketik history|less untuk melihat perintah history terakhir pada screen.
Tekan spacebar untuk melihat file lebih banyak. Untuk keluar tekan q
$ history|less
Hasil :
Analisa :
Perintah ini digunakan untuk melihat perintah
history terakhir pada screen.
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
Hasil :
Analisa :
Perintah ini digunakan untuk melihat berapa banyak
perintah history yang terdapat pada file tersebut.
8.
Output menunjukkan
bahwa 1000 perintah history disimpan pada file history. Untuk melihat jangkauan
(limit) perintah history digunakan variabel HISTSIZE. Untuk melihat jangkauan history ketik sebagai berikut
$ set|grep HISTSIZE
Hasil :
Analisa :
Perintah ini digunakan untuk melihat jangkauan
(batas) dari perintah history.
9. Bila ingin memperbesar jangkauan file history, maka ubahlah variable HISTSIZE pada skrip startup yang disebut .bashrc pada home
directory.
$ echo
‘HISTSIZE=5000’ >> .bashrc
Hasil :
Analisa :
Perintah ini digunakan untuk memperbesar jangkauan
file history.
10. Log
out dan log in kembali sebagai user yang sama. Lihat perubahan variabel HISTSIZE.
$ set|grep HISTSIZE
Hasil :
Analisa :
Perintah ini digunakan untuk melihat jangkauan
(batas) dari perintah history.
11.
Ketikkan perintah history beberapa kali,
maka perintah ini akan disimpan pada BASH history meskipun yang diketikkan
perintahnya sama.
Hasil
:
Analisa
:
Ketika
mengetikkan perintah history beberapa kali maka perintah akan disimpan pada
Bash History walaupun perintah yang diketikkan sama.
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
Hasil :
Analisa :
Perintah ini digunakan untuk melakukan konfigurasi
Bash agar tidak menambah perintah ke history jika perintah yang diketikkan sama
dengan yang sebelumnya.
13. Log
out dan log in kembali sebagai user yang sama. Ketikkan history beberapa kali
dan perhatikan berapa kali history muncul.
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:’
Hasil :
Analisa :
Pada percobaan ini
digunakan perintah diatas untuk menampilkan waktu sistem dalam format 24 jam
sebagai prompt bash.HH:MM:SS
2.
Untuk menampilkan format 12 jam dengan
indikator am dan pm ketik sebagai berikut :
$ PS1=’\t:’
Hasil :
Analisa :
Perintah diatas digunakan untuk mengubah prompt
shell, dimana digunakan untuk menampilkan format 12 jam dengan indicator am dan
pm.
3. Kebanyakan
orang menginginkan prompt Bash menampilkan current
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:’
Hasil :
Analisa :
Perintah diatas digunakan
untuk menampilkan current working directory yang ditampilkan dalam bentuk
keseluruhan path atau hanya nama directory.
4. Ketik cd /usr/sbin untuk melihat prompt /usr/sbin:
$ cd /usr/sbinHasil :
Analisa :
Perintah ini digunakan
untuk melihat promt /urs/sbin
5. Ketik PS1=’\W:’ untuk melihat prompt sbin:
$ PS1=’\W:’
Hasil :
Analisa :
Perintah
ini digunakan 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
>’
Hasil
:
Analisa
:
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 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.
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 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 ’Hello
Selesai memasukkan perintah Anda:’
Hasil
:
Analisa
:
Perintah
ini digunakan untuk menampilkan prompt PS1
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’
Hasil
:
Analisa
:
Perintah
ini digunakan untuk menampilkan prompt Bash berwarna biru.
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.
Hasil :
Analisa
:
Perintah
ini digunakan untuk mendapatkan warna prompt merah.
11. Bila menginginkan
beberapa warna, ketikkan perintah berikut :
$ PS1=’\033[0;31m\w\033[0;32m\$ \033[0;37m’
Hasil
:
Analisa
:
Pada
perintah ini menggabungkan warna merah, hijau dan putih.
12. Anda
bisa menampilkan atribut visual seperti lebih terang, berkedip dan warna
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’
Hasil
:
Analisa
:
Perintah
ini dibuat $ nya menjadi lebih besar atau seperti di hasil dengan warna biru,
hijau dan putih.
13. Untuk
menampilkan prompt dengan warna berkebalikan, atribut control diganti 7,
seperti perintah berikut :
$ PS1=’\033[7;34m\w\033[7;32m\$ \033[0;37m’
Hasil
:
Analisa
:
Untuk menampilkan 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 perintah
berikut :
$ PS1=’\033[5;34m\w\033[5;32m\$ \033[0;37m’
Hasil :
Analisa :
Untuk menampilkan prompt
berkedip, atribut control diganti 5, seperti perintah PS1 =’\
033[5;34m\w\$
\033[5;32m$ \033[0;37m’, maka tulisan prompt menjadi berkedip.
Percobaan 5 : Menambahkan Otomatisasi ke Prompt Shell
1. Pastikan Anda
berada di home directory
$ cd ~
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
Hasil :
Analisa :
Perintah ini digunakan untuk membuat file .sederhana
3. Buatlah file skrip
diatas menjadi file executable
$ chmod +x sorter
Analisa :
Perintah ini digunakan untuk
membuka file skrip menjadi file executable
4.
Jalankan program sorter diatas setiap
shell Bash menampilkan prompt PS1. Untuk melakukannya, buatlah variable PROMPT_COMMAND dimana nilainya adalah
nama dari program sorter.
$ PROMPT_COMMAND=~/sorter
Hasil :
Analisa :
Perintah ini digunakan 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 :
Perintah ini digunakan untuk
membuat file secara otomatis.
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
Hasil :
Analisa :
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 memnpunyai hanya satu baris sehingga
tidak dapat dilihat apakah file sudah terurut.
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
Hasil :
Analisa :
Masukkan beberapa printah serupa dengan
point 5 tetapi dengan nama dan nomor yang berbeda kemudian ketik cat list dan
tekan Enter, maka akan muncul output dengan urutan daftar nama dari kecil ke
besar.
8. Apabila Anda tidak menginginkan Shell Bash menampilkan file terurut
sepanjang 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=
Hasil :
Analisa :
Perintah ini digunakan untuk menghentikan program sorter yang sedang berjalan.
Percobaan 6 : Membuat Bash-Script dan menjalankannya
1.
Membuat file p1.sh
$ vi p1.sh
echo “Program bash Script”
Hasil :
Analisa :
Membuat file p1.sh
menggunakan perintah vi 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
Hasil :
Analisa :
Perintah ls -l p1.sh
digunakan untuk menampilkan semua file p1.sh. Perintah chmod +x p1.sh digunakan
untuk mengubah menjadi executable. Perintah ls –l p1.sh digunakan menampilkan
file untuk meng cek kembali file, tanda tulisan berwarna ijo artinya telah
diubah menjadi excutable.
3.
Menjalankan script
$ bash p1.sh
$ sh p1.sh
$ . p1.sh
$ ./p1.sh
Hasil :
Analisa :
Perintah diatas digunakan untuk membuat Bash-Script
dan menjalankannya.
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”
Hasil :
Analisa :
Konvensi dalam pembuatan
script shell dinyatakan sebagai #!/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”
Hasil :
Analisa :
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 yang dipisahkan dengan tanda ;
$ cat p1.sh ; cat
p2.sh
$ ./p1.sh ; ./p2.sh
Hasil :
Analisa :
Menjalankan
beberapa program shell dalam satu baris instruksi 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
Hasil :
Analisa :
Pada proses foreground menggunakan perintah diatas untuk memunculkan output daftar file yang sedang dijalankan
2.
Proses background
$ ps x > hasil
&
Hasil :
Analisa :
Pada background digunakan perintah diatas untuk memunculkan output jumlah semua proses yang sedang berjalan
3.
Setiap job mempunyai PID yang
tunggal (unique). Untuk melihat jobs yang aktif
$ jobs
Hasil :
Analisa :
Perintah diatas digunakan untuk
melihat jobs yang akhif yaitu output dari perintah di nomor 2.
4.
Buatlah file ploop.sh. File ini
tidak akan pernah berhenti kecuali ditekan Ctrl-C
$ vi plop.sh
#! /bin/bash
While [true]
Do
Sleep 10
Echo “Hallo”
Done
Hasil :
Analisa :
Untuk membuka file plop.sh
digunakan Ctrl+C untu berhenti lalu perintah diatas.
5. Buatlah file plop.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
Hasil
:
Analisa
:
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 ha ditampilkan direktori home ~
$ dirs.
Hasil :
Analisa :
Perintah diatas digunakan untuk melihat stack
directory, dimana hasilnya hanya menampilkan direktori yang diingat
2.
Membuat 3 buah direktori
$ mkdir marketing
sales support
Hasil :
Analisa :
Perintah diatas digunakan untuk membuat 3 buah direktori.
3. Instruksi dirs digunakan untuk melihat stack
direktori, pada output ha ditampilkan direktori home ~
$ dirs.
Hasil :
Analisa :
Perintah diatas digunakan untuk melihat stack direktori pada ouput hanya ditampilkan directory 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 system :
$ alias
Hasil :
Analisa :
Perintah ini digunakan untuk memberi nama alis pada satu atau
sekelompok instruksi. Alias akan terdaftar pada sistem dan akan muncul output
yang memberi informasi perintah alias.
2.
Membuat beberapa alias
$ alias del=’rm –i’
$ alias h=’history’
Hasil :
Analisa :
Perintah ini digunakan untuk membuat beberapa alias. Perintah alias h
akan menjalankan perintah history
3.
Gunakan instruksi hasil alias
$ ls
$ del hasil
$ h | more
Hasil :
Analisa :
Perintah ls digunakan untuk melihat current
working directory. Perintah del hsil digunakan untuk menghapus file hasil.
Perintah h| diguanan untuk menjalankan perintah history.
4.
Untuk menghapus alias gunakan
instruksi unalias
$ unalias del
$ del
files (Terdapat Pesan Kesalahan, mengapa ?)
Hasil :
Analisa :
Perintah ini digunakan untuk menghapus alias.
Perintah del files terdapat kesalahan 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’
Hasil :
Analisa :
Perintah vi /etc/profile
berfungsi untuk masuk ke prompt script /etc/profile, untuk mengedit pesan
menggunakan perintah i, kemudian inputkan perintah 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
Hasil :
Analisa
:
Perintah vi /etc/profile
berfungsi untuk masuk ke prompt script /etc/profile, untuk mengedit pesan
menggunakan perintah i, kemudian inputkan perintah echo ‘profile dari
/etc/profile’.
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”
Hasil :
Analisa :
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.
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 :
Perintah $su student digunakan untu
berpindah ke super uses dengan system meminta password admin dengan menjalankan
file .bashrc yang sudah dimodifikasi. Perintah $su -student digunakan untuk
berpindah ke super user dengan meminta password admin denga menjalankan dua
file file .bashrc dan file .bash_profile yang telah dimodifikasi.
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
Hasil :
Analisa
:
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” dengan waktu selama 5
detik.
b.
Edit file .bash_logout, tampilkan pesan
dan tahan selama 4 detik, sebelum eksekusi logout
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” dengan waktu selama 4 detik
4. History
a.
Ganti
nilai HISTSIZE dari 1000 menjadi 20
$ HISTSIZE=20
$ h
Hasil :
Analisa :
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
Analisa :
Perintah !-5 digunakan
untuk menampilkan atau mengeksekusi kembali history pada 5 terakhir perintah di
history.
c.
Ulangi instruksi yang terakhir. Gunakan
juga ^P dan ^N untuk bernavigasi pada history
buffer
$ !!
Analisa :
Perintah !! digunakan
mengulangi instruksi yang terakhir. Gunakan juga ^P dan ^N untuk bernavigasi
pada history buffer
d.
Ulaingi
instruksi pada history buffer nomor tertentu, misalnya nomor 150
$ !150
Hasil :
Analisa :
Perintah !150 digunakan
untuk memanggil perintah dari history dengan nomor PID 150.
e.
Ulangi
instruksi dengan prefix “ls”
$ !ls
$ !?ls?
Hasil :
Analisa :
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 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 >”
Hasil :
Analisa :
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).
b.
Ubahlah
warna shell prompt dengan warna biru dan berkedip.
Hasil :
Analisa :
Mengubah warna shell menjadi biru dan
berkedip dengan perinta PS1=’\033[5;34M\2\$ \033[0;30M’
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
Analisa :
Perintah
ini digunakan untuk membuat program file menggunkaan vi editor dimana dilakukan
input script dengan perintah $vi p1.sh hingga p3.sh. Ketika penginputan
selesai, tekan esc untuk berhenti dan tekan :wq untuk menyimpan dan berhenti
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 ) &
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
Hasil :
Analisa :
Perintah vi pewaktu.sh berfungsi untuk membuat program
dan akan masuk pada tampilan vi editor. Tekan i untuk insert script. Kemudian
keluar dari perintah memasukkan script. Kemudian perintah chmod +x pewaktu.sh
digunakan untuk mengubah file menjadi excutable, lalu jalankan perintah
./pewaktu.sh. tekan ctrl+z untuk berhenti. Program ini akan looping setiap 10
detik, kemudian menyimpan tanggal dan jam pada file hasil. Perintah cat hasil
untuk menampilkan hasil dari pengulangan pada program yang ditampilkan.”
b.
Jalankan sebagai background; kemudian
jalankan satu program (utilitas find) di background sebagai berikut :
$ jobs
$ find / -print > files 2>/dev/null
&
$ jobs
Hasil :
Analisa :
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.
c.
Jadikan program ke 1 sebagai foreground,
tekan ^Z dan kembalikan program tersebut ke
background
$ fg %1
$ bg
Hasil :
Analisa :
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]
Hasil :
Analisa :
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
Pada percobaan ini didapatkan kesimpulan bahwa file tidak
dapat dijalankan jika tidak executable dulu. Warna prompt shell dapat diubah
sesuai dengan yang kita inginkan sesuai dengan kode warna tersebut. Proses
dapat dihentikan sesuai dengan keinginan. Proses ini juga dapat ditarik melalui
file yang diberikan perintah.
Comments
Post a Comment