MODUL 5 BEKERJA DENGAN BASH SHELL Dasar Toeri 1. Shell Merupakan Command executive, artinya program yang menggunakan intruksi dari pemakai, memeriksa sinatks dari intruksi yang diberikan , kemudian mengeksekusi perintah tersebut. Shell ditandai dengan prompt dan untuk pemakai biasa menggunakan prompt $ dan utnuk menggunakan prompt #. Beberapa jenis shell: /bin/sh, Bourne shell, dirancang oleh Steve dari AT&T /bin/csh, Dikembangkan oleh Berkeley yang dikenal dengan C-shell /bin/bash, Kompatibel dengan Bourneo Shell dan juga mengadaptasi kemamuan Korn_Shell. Perbedaan mendasar antara Shell diatasi hamper tidak ada, kecuali pada fasilitas pemograman dan editing. 2. Profile Pada saat login, maka 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 71
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
MODUL 5
BEKERJA DENGAN BASH SHELL
Dasar Toeri
1. Shell
Merupakan Command executive, artinya program yang menggunakan
intruksi dari pemakai, memeriksa sinatks dari intruksi yang diberikan ,
kemudian mengeksekusi perintah tersebut. Shell ditandai dengan prompt dan
untuk pemakai biasa menggunakan prompt $ dan utnuk menggunakan prompt
#. Beberapa jenis shell:
/bin/sh, Bourne shell, dirancang oleh Steve dari AT&T
/bin/csh, Dikembangkan oleh Berkeley yang dikenal dengan C-shell
/bin/bash, Kompatibel dengan Bourneo Shell dan juga mengadaptasi
kemamuan Korn_Shell. Perbedaan mendasar antara Shell diatasi hamper
tidak ada, kecuali pada fasilitas pemograman dan editing.
2. Profile
Pada saat login, maka 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. basher, File ini akan dieksekusi untuk perpindahan dari satu shell ke shell
yang lain melalui intruksi su.
4. .bash_logout, pada saat logout,maka bash akan mencari file
.bash_logout. Bila ada, file tersebut akan di eksekusi sebelum logout.
isi dari /etc/profi :
# System wide environment and programs
# Function and aliases go in /etc/bashrc
PATH=”[\u@\h \W]\\$ “
71
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 intruksi diberikan
dari prompt shell, maka intruksi tersebut akan dicari pada daftar
tersebut.
PS1 : adalah prompt dimana:
\u = Nama User
\h = Nama Host
\w= Nama Working directory
3. History
History memudahkan pemakai untuk mengedit kembali intruksi dan
panjang, terutama bila terjadi kesalahan pada penulisan intruksi maupun
parameter. Navigasi pada daftar navigasi pada daftar history menggunakan
karakter control sebagai berikut:
^p (Ctrl-p) melihat intruksi sebelumnya
^N(Ctrl-N melihat intruksi berikutnya
!! eksekusi kembali intruksi sebelumnya
!! -3 3 intruksi sebelumnya akan diulang
!!88 ulangi intruksi no 88
72
4. Bash-Script
Bash-script adalah file yang berisi koleksi program yang dapat
dieksekusi. Untuk eksekusi bash script digunakan. 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 selesei, bila eksekusi program tersebut berakhir.
Eksekusi semua job adalah sama dengan eksekusi program, baik proses
background maupun proses foreground.
6. E d itor vi/vim
Vi adalah full screen editor,artinya editor tersebut dapat memanfaatkan
fasilitas satu layar penuh. Vi mempunyai 2 buah modus, yaitu:
Command line, Editor mengintepretasikan input sebagai intruksi untuk
dieksekusi oleh editor, contoh seperti mencari teks, mengganti teks secara
otomatis dan lainnya.
Editing, Editor vi mengintepretasikaninput sebagai teks yang akan dimasukan
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 editor vi yaitu:
Kunci Keterangan Kunci KeteranganH Pindah kursor kekiri 1
karakterCltr-b Mundur 1 layar
J Pindah kursor kekanan 1 karakter
Cltr-f Maju 1 layar
K Pindah kursor ke atas Cltr-d Maju setengah layar
L Pindah kursor kebawah B Menggerakkan kursor ke 1 kata
O Menyisipkan teks (1 baris setelah posisi kursor)
W Menggerakkan kursor kekanan 1 kata
I Menyisipkan teks (disebelah kiri posisi kursor)
^ Pergi ke awal baris
A Menyisipkan teks (disebelah kanan posisi kursor)
$ Pergi ke akhir baris
I(shi Menyisipkan teks (diposisi U Membatalkan perintah yang
73
ft i) awal baris) terakhir kali
A(shift a)
Menyisipkan teks (diposisi akhir baris)
U Membatalkan seluruh perubahan teks pada baris tempat kursor berada
X Menghapus 1 huruf (disebelah kanan posisi kursor)
:t Keluar untuk sementara dari editor vi dan menjalankan perintah yang lain
Dw Mengahapus 1 kata (disebelah kanan posisi kursor)
:wq Write dan quite, simpan berkas dan keluar
Dd Menghapus 1 baris (disebelah kanan posisi kursor)
:q! Keluar vi tanpa menyimpan
Yy Mengcopy 1 baris :se all Menampilkan pilihan set status
2yy Mengcopy 2 baris :se nu Menampilkan nomor baris pada kiri layar
P (paste) menampilkan baris kalimat yang sudah dicopy dengan kunci y
/string Mencari string ke arah depan
Cw Mengganti 1 kata yang telah ditulis disebelah kanan posisi kursor dengan kata lain
?string Mencari string ke arah belakang
Cc Mengganti 1 baris kalimat yang telah ditulis disebelah kanan posisi kursor dengan kalimat lain
N Menentukan pencarian untuk arah yang sama
74
Hasil dan Pembahasan
Percobaan 1: Profile
1. Melihat file
ls –a
more .bash_profil
Analisa : Tampilan diatas merupakan hasil dari melihat file yang terdapat di
home directory pemakai yang sedang login. Jika diperhatikan banyak terdapat
file yang berbeda dan pada proses more .bash_profile yaitu menampilakan
sebuah informasi tentang peraturan yang berhubungan dengan .bash_profile
yang dimana terdapat pesan get the alieses and functions.
2. Melihat file bash_logout
cat .bash_logout
Analisa: Tampilan diatas merupakan pada saat file .bash_logout akan
dieksekusi sesaat sebelum logout, berfungsi untuk membersihkan job yang
terdapat di terminal tersebut
75
Percobaan 2: Menggunakan Feature History Bash
1. Bash shell menyimpan history perintah yang digunakan sebelumnya, anda
dapat mengakses histori dalam beberapa cara. Cara paling mudah adalah
dengan menggunakan Panah Atas, maka perintah sebeumnya akan
ditampilkan.
2. Berikut, berikan Bash Shell beberpa perintah untuk diingat. Masukkan
perintah berikut dan tekan ENTER pada setiap baris
cd
ls –l /etc
ls –l
whoami
who
Analisa : Tampilan diatas menampilkan jumlah file dan root yang sedang
aktif. Dan menampilkan beberapa tipe file yang sudah menjadi executable,
76
kemudian menampilkan pemakai yang sedang login dan terdapat waktu dan
tanggal pada saat login.
3. Menampilkan feature history dan menggunakan nomor historynya
Analisa: Tampilan diatas merupakan hasil dari proses melihat isi history
yang pernah diinputkan atau dimasukkan sebelumnya. Pada perintah history
ini sangat membantu untuk melihat apa-apa saja yang pernah pemakai
masukkan pada terminal. Dan menggunakan perintah untuk memilih dan
mengeksekusi dengan nomor history.
4. Anda dapat memilih perintah sebelumnya dengan menggunakan nomor pada
perintah 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.
77
$ !<nomor perintah> Contoh :!780
Analisa: program ini menampilkan tampilan memilih dan mengeksekusi
perintah dengan nomor, masukan kunci! Diikuti nomor perintah.
5. Anda dafat mencari perintah dengan menyertakan perintah yang
diinginkan.misalnya !?etc! akan menjalankan perintah ls –l /etc yang
sebelumnya digunakan
Analisa: program ini menampilkan tampilan perintah dengan menyertakan
perintah yang diinginkan
78
6. Kemudian gunakan perintah history, maka akan terlihat perintah ls – l etc
yang kedua dan bukan
!?etc?
history
7. Apakah string tidak ditemukan pada perintah history maka akan terdapat
pesan error.
$ !?wombat99?
8. Jika diketik !who maka yang dijalankan adalah perintah who , tetapi bila anda
ketikan !whoa maka yang dijalankan adalah perintah whoami
9. Anda dapat menggantikan perintah string pada perintah history, terutama pada
perintah yang panjang. Misalnya ketikan cat/bin/bash |string| grep shell |
less dan tekan ENTER. Maka akan menampilkan semua string pada file
/bin/bash yang terdiri dari shell. Untuk keluar tekan q. jika ingin
menampilkkan kata aliase maka anda tinggal mengetikan 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^
Percobaan 3: Mengubah Feature History Bash
1. Bash shell akan menyimpan perintah history meskipun telah logout dan login
kembali. File .bash_history menyimpan file history yang terdapat pada home
direktori.
$ cd
2. Lihat beberapa baris pada file .bash_history dengan ktik tail .bash_history
dan tekan ENTER. File ini bukan file yang up to date.
$ tail .bash_history
79
Analisa : program di atas menampilkan tampilan beberapa baris pada
file .bash_history
3. Keti history dan tekan enter. Maka akan terlihat baris terakhir adalah history
dan perintah sebelumnya adalah tail .bash_history. Perintah history bersipat
up to date. Kerena disimpan pada memory system.
$ history
Analisa : program diatas menampilkan tampilan terlihat baris terakhir adalah
history dan perintah sebelumnya
4. Ketikan perintah berikut
$ echo ‘ini perintah saya’
5. Log out dan log in kembali sebagai user yang sama. Ketikan History dan
tekan Enter. Maka perintah echo ‘ini perintah saya’ akan berada baris
terkhir. Lihat file .bash_history, maka perintah tersebut akan dapat pada
file .bash_history
$ history
Analisa : program di atas merupakan tampilan history
$ tail .bash_history
6. Ketik history|less untuk melihat perintah history terakhir pada screen. Tekan
spacebar untuk melihat lebih banyak file. Untuk keluar tekan q.
$ history|less
80
7. Untuk melihat berapa banyak perintah history yang ada pada file ketik berikut
dan output yang keluar seupa di bawah ini
$wc -1 .bash_history
1000 .bash_history
Analisa : program di atas merupakan tampilan yang menampilkan Untuk
melihat berapa banyak perintah history yang ada pada file ketik berikut dan
output yang keluar seupa.
8. Output mnunjukan bahwa 1000 perintah history di simpan pada file strory.
Untuk melihat jangkauan (limit) perintah history di gunakan variable
HISTSIZEE. Untuk melihat jangkauan history ketik sebagai berikut
$ set|grep HISTSIZE
9. Bila ingin memprbesar jangkauan file history, maka ubah variable HISTSIZE
pada skrip startup yang disebut.bashrc pada home directory.
$ echo ‘HISTSIZE=5000’ >> .bashrc
Analisa: program di atas merupakan tampilan Untuk melihat jangkauan
history
81
Analisa: program di atas merupakan tampilan Untuk memprbesar jangkauan
file history
10. Logout dan lougin kembali sebagai user yang sama. Lihat perubahan variable
HISTSIZE
$ set|grep HISTSIZE
11. Krikan printah history beberapa kali, maka perintah ini akan di simpan pada
bash history mskipun yang di ketikan perintah nya sama.
12. Anda dapat melakukan konfigursi bash agar tidak menambah perintah ke
history jika perintah yang di ketikan sama dengan yang sebelumnya. Hal ini
dilakukan dengan menambhkan variable HISTCONTROL dan diberikan
nilai ignoredups pad file.bashrc
$ echo ‘HISTCONTROL=ignoredups’ >> .bashrc
Analisa: program di atas merupakan tampilan konfigursi bash agar tidak
menambah perintah ke history jika perintah yang di ketikan sama dengan yang
sebelumnya
13. Log out dan log in kembali sebagai user yang sama ketikan history beberapa
kali dan perintahkan beberapa kali history muncul.
Percobaan 4: Mengubah prompt shell
1. Prompt bash sell dikonfigurasi dengan men-setting nilai variable PS1. Selain
menampilkan string static sebagai prompt, anda dapat menampilakan menjadi
dinamis. Contohnya, apabila ingin menunjukan current distory atau current
time. Ketik PS1=’1\t:’ dan tekan enter. Untuk manampilkan waktu system
dalam format 24 jam sebagai prompt bash. Format dalam HH:MM:SS
82
$ PS1=’\t:’
2. Untuk dalam menampilkan format 12 jam dengan indicator AM dan FM ketik
sebagai berikut
$ PS1=’\t:’
3. Kebanyak orang menginginkn prompt bash menampilkan current working
directory karakter \w mnampilkan hany nama directory.
~:
$ PS1=’\w:’
4. Ketik cd/usr/bin untuk melihat prompt /usr/sbin:
5. Ketik PS1 =’\W:’
6. Ada beberapa prompt bash line yang dapat diubah yaitu PS2,PS3,dan PS4
$ echo ‘Hello
7. Anda dapat mengubah prompt PS2 seperti mngubah PS1
$ PS2=’selesai memasukan perintah anda:’
8. Kemudin ketik echo ‘Hello dan tekan enter, baris berikut muncul selesai
memasukan perintah anda:.
$ echo ‘Hello
9. Prompt bash dapat menampilkan warna dengan setting colorsetting string.
$ PS1=’\033[0;34m\w\$ \033[0;37m’
10. Warna merah
$ PS1=’\033[0;31m\w\$ \033[0;37m’
Beberapa warna
$ PS1=’\033[0;31m\w\033[0;32m\$ \033[0;37m’
11. Ganti beberapa warna dengan tambah angka 1
$ PS1=’\033[1;34m\w\033[1;32m\$ \033[0;37m’
12. Ganti beberapa warna dengan tambah angka 7
$ PS1=’\033[7;34m\w\033[7;32m\$ \033[0;37m’
13. Ganti beberapa warna dengan tambah angka 5
$ PS1=’\033[5;34m\w\033[5;32m\$ \033[0;37m’
83
Percobaan 5: Menambah otomatis ke prompt shell
1. Pastikan anda berada directory home
$ cd~
2. Buatlah skrip sederhana untuk mengurut daftar file. Anda dapat menggunakan
text editor, ttapi karena hanya satu baris, gunakan echo untuk membuat file