PRAKTIKUM 5-B BEKERJA DENGAN BASH SHELL
NAMA : FATIA YASMIN HENDRY
KELAS : BM-5A
NIM : 2023000032
- Pokok Bahasan
- History pada Bash Shell
- Membuat Bash Shell Script
- 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.
- Abstrak
Bash Shell adalah salah satu lingkungan baris perintah yang paling umum digunakan dalam sistem operasi berbasis Unix dan Linux. Bash Shell memungkinkan pengguna untuk berinteraksi dengan sistem operasi dan melakukan berbagai tugas, seperti menjalankan perintah, mengelola file, mengotomatisasi tugas, dan banyak lagi. Abstrak ini akan membahas beberapa aspek utama dari bekerja dengan Bash Shell.
1. Pengenalan Bash Shell : Bash adalah singkatan dari "Bourne Again Shell" dan merupakan penerus dari shell asli Unix yang dikenal sebagai Bourne Shell. Ini adalah lingkungan baris perintah yang kuat dan fleksibel.
2. Perintah Dasar Bash : Penggunaan Bash dimulai dengan memahami perintah dasar seperti `ls` (untuk daftar direktori), `cd` (untuk berpindah direktori), `mkdir` (untuk membuat direktori), `rm` (untuk menghapus file), dan lainnya.
3. Variabel dan Lingkungan : Bash memungkinkan pengguna untuk mendefinisikan dan menggunakan variabel serta mengatur lingkungan mereka. Ini penting untuk mengotomatisasi tugas dengan skrip Bash.
4. Skrip Bash : Dengan menggunakan Bash, pengguna dapat membuat skrip (file dengan ekstensi `.sh`) untuk mengotomatisasi tugas-tugas yang kompleks. Skrip ini dapat mengandung rangkaian perintah yang dieksekusi secara berurutan.
5. Pipes dan Redirection : Bash mendukung penggunaan pipe (`|`) untuk mengalirkan keluaran satu perintah ke masukan perintah lainnya. Redireksi juga memungkinkan pengguna untuk mengarahkan keluaran atau masukan perintah ke atau dari file.
6. Manajemen Proses : Bash memungkinkan pengguna untuk mengelola proses, seperti menjalankan perintah dalam latar belakang, menghentikan proses yang sedang berjalan, dan melihat daftar proses yang sedang berjalan.
7. Eksekusi Perintah dengan Izin Root Beberapa perintah Bash memerlukan izin superuser (root). Pengguna perlu berhati-hati saat menggunakan perintah ini, karena kesalahan dapat menyebabkan kerusakan sistem.
8. Pengayaan Bash : Ada banyak alat pihak ketiga dan pengaya Bash yang dapat digunakan untuk meningkatkan fungsionalitas Bash Shell, seperti `oh-my-zsh` untuk mengatur tampilan shell Anda atau `bash-completion` untuk penyelesaian otomatis perintah.
- Teori Singkat
1 SHELL
Shell adalah Command executive, artinya program yang menunggu instruksi dari pemakai, memeriksa sintak dari instruksi yang diberikan, kemudian mengeksekusi perintah tersebut. Shell ditandai dengan prompt. Untuk pemakai menggunakan prompt $ dan untuk superuser menggunakan promp #.
Beberapa macam shell :
- /bin/sh
- /bin/csh
- /bin/bash
2 PROFILE
Pada saat login, program akan menjalankan beberapa program yaitu :
1. /etc/profile
Berisi shell script yang berlaku untuk seluruh pengguna Linux.
2. Profil untuk setiap pemakai
Pada home directory, login pertama kali akan memeriksa file .bash_profile . Bila tidak ada, maka file. bash_login akan dicari. Bila .bash_login tidak ada, maka dicari file bernama .profile .
3. .bashrc
File ini akan dieksekusi untuk perpindahan dari satu shell ke shell yang lain melalui instruksi su.
4. .bash_logout
Pada saat logout, maka bash akan mencari file .bash_logout. Bila ada, file tersebut akan dieksekusi sebe lum logout
Isi dari /etc/profile:
# System wide environment and startup programs
# Functions and aliases go in /etc/bashrc
PATH=”$PATH:/usr/X11R6/bin”
PS1=”[\u@\h \W]\\$ “
umask 022
USER=’id –un’
LOGNAME=$USER
MAIL=”/var/spool/mail/$USER”
HOSTNAME=’/bin/hostname’
HISTSIZE=1000
HISTFILESIZE=1000
Export PATH PS1 HOSTNAME HISTSIZE HISTFILESIZE USER LOGNAME MAIL
PATH merupakan daftar nama direktori. Bila sebuah instruksi diberikan dari prompt shell, maka instruksi tersebut akan dicari pada daftar tersebut.
PS1 adalah prompt dimana
\u = Nama User
\h = Nama Host
\W = Nama working direktory
3 HISTORY
History diadaptasi dari C-Shell, yaitu catatan dari semua instruksi yang sejauh ini telah dilakukan. Catatan ini dapat dilihat sebagai history, kemudian dapat dipilih kembali, diedit dan dieksekusi. History memudahkan pemakai untuk mengedit kembali instruksi kompleks dan panjang, terutama bila terjadi kesalahan pada penulisan instruksi maupun parameter.
Navigasi pada daftar history menggunakan karakter kontrool sebagai berikut :
^P (Ctrl-P) melihat instruksi sebelumnya
^N (Ctrl-N melihat instruksi berikutnya
!! eksekusi kembali instruksi sebelumnya
!! –3 3 instruksi sebelumnya akan diulang
!!88 ulangi instruksi no 88
4 BASH-SCRIPT
Bash-script adalah file yang berisi koleksi program yang dapat dieksekusi. Untuk eksekusi bash script gunakan . sebelum file bash-script yang berarti eksekusi shell dan tanda ./ berarti file bash-script berada pada direktori actual.
5 JOB CONTROL
Job adalah sebuah eksekusi program yang diberikan kepada kernel. Sebuah Job dianggap selesai, bila eksekusi program tersebut berakhir. Eksekusi Job adalah sama dengan eksekusi program, baik proses Background maupun proses Foreground.
6 EDITOR vi
Vi adalah full screen editor, artinya editor tersebut dapat memanfaatkan fasilitas satu layar penuh. Vi mempunyai 2 buah modus, yaitu :
- Command line
Editor vi mengintepretasikan input sebagai instruksi untuk dieksekusi oleh editor, contoh seperti mencari teks, mengganti teks secara otomatis dan lainnya.
- Editing
Editor vi mengintepretasikan input sebagai teks yang akan dimasukkan ke dalam buffer editor. Pada bagian bawah layar akan tampil teks “INSERTING”.
Pada awal vi dijalankan, maka program memasuki command mode. Dengan menekan tombol “i” maka akan memasuki editing. Untuk kembali ke command mode, tekan tombol Esc.
Kunci-kunci teks editor vi dapat dilihat pada tabel sebagai berikut :
|
Kunci |
Keterangan |
|
|
H |
Pindah
kursor ke kiri satu karakter |
|
|
J |
Pindah
kursor ke kanan satu karakter |
|
|
K |
Pinda
h kursor ke atas |
|
|
L |
Pindah kursor ke bawah |
|
|
O |
Menyisipkan teks (satu baris setelah posisi kursor) |
Untuk keluar dari 5 model kunci insert di samping ini dan mengaktifkan kunci- kunci lain, maka kita harus menekan tombol Esc terlebih dahulu. |
|
I |
Menyisip kan teks (di sebelah kiri posisi kursor) |
|
|
A |
Menyisipkan teks (di sebelah kanan posisi kursor) |
|
|
I (shift i) |
Menyisipkan teks (di posisi awal baris) |
|
|
A (shift a) |
Menyisipkan teks (di posisi akhir baris) |
|
|
X |
Menghapus 1 huruf (di sebelah kanan posisi k ursor) |
|
|
Dw |
Manghapus 1 kata (di sebelah kanan
posisi kursor) |
|
|
Dd |
Menghapus 1 baris (di sebelah kanan
posisi kursor |
|
|
Yy |
Mengkopi 1 baris |
|
|
2yy |
Mengkopi 2 baris |
|
|
P |
(Paste) Menampilkan baris kalimat yang sudah dikopi dengan kunci yy |
|
|
Cw |
Mengganti 1 kata yang telah ditulis
di sebelah kanan
posisi kursor dengan
kata lain |
|
|
Cc |
Mengganti 1 baris kalimat yang telah ditulis di sebelah kanan posisi kursor dengan kalimat lain |
|
|
ctrl-b |
Mundur
satu layar |
|
|
ctrl- f |
Maju satu layar |
|
|
ctrl-d |
Maju setengah layar |
|
|
B |
Menggerakkan kursor ke kiri satu kata |
|
|
W |
Manggerakkan kursor ke kanan
satu kata |
|
|
^ |
Pergi ke awal baris |
|
|
$ |
Pergi
ke akhir baris |
|
|
U |
Membatalkan perintah yang terakhir kali |
|
|
U |
Membatalkan seluruh perubahan teks pada baris tempat kursor berada |
|
|
:! |
Keluar untuk sementara dari editor vi dan menjalankan perintah yang lain |
|
|
:wq |
Write dan quite, simpan berkas dan keluar |
|
|
:q! |
Keluar vi tanpa menyimpan |
|
|
:se all |
Menampilkan semua pilihan set status |
|
|
:se nu |
Menampilkan nomor baris pada kiri layar |
|
|
/string |
Mencari string ke arah depan |
|
|
?string |
Mencari string ke arah belakang |
|
|
N |
Meneruskan pencarian untuk arah yang sama |
|
|
N |
Meneruskan pencarian untuk arah yang berbeda |
|
- Percobaan
Percobaan 6 : Membuat Bash-script dan menjalankannya
1. Membuat file p1.sh
$ vi p1.sh
echo “Program bash Script”
Analisa : Instruksi tersebut digunakan untuk membuat file p1.sh dengan isi ‘program bash script’, sebelumnya untuk menginput sebuah kalimat gunakan perintah i (insert), jika sudah selesai tekan esc pada keyboard, ketik :wq (write dan quit).
2. Mengubah program menjadi executable
$ ls –l p1.sh
$ chmod +x p1.sh
$ ls –l p1.sh
Analisa : Instruksi diatas digunakan untuk mengubah program semula menjadi executable.
3. Menjalankan script
$ bash p1.sh
$ sh p1.sh
$ . p1.sh
$ ./p1.sh
Analisa : Perintah-perintah diatas adalah perintah untuk menjalankan script yang telah dibuat sebelumnya.
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 : #!/bin/bash merupakan konversi dalam pembuatan script shell. Konversi tersebut selalu ada saat melakukan penginputan.
5. Buatlah file p2.sh
$ vi p2.sh
#!/bin/bash
echo “Program 2 bash script”
Analisa : Diatas merupakan instruksi untuk membuat file dengan nama p2.sh, tahapannya sama seperti instruksi sebelumnya yaitu terlebih dahulu menggunakan instruksi ‘vi’.
6. Menjalankan beberapa program shell dalam satu baris instruksi yang dipisahkan dengan tanda ;
$ cat p1.sh ; cat p2.sh
$ ./p1.sh ; ./p2.sh
Analisa : Instruksi diatas digunakan untuk menjalankan beberapa script yang telah diinput sebelumnya dengan pemisahan tanda menggunakan ( ; ).
Percobaan 7 : Job Control
1. Proses foreground
$ ps x
Analisa : Instruksi diatas yaitu untuk menampilkan isi file yang berada pada foreground.
2. Proses background
$ ps x > hasil &
3. Setiap job mempunyai PID yang tunggal (unique). Untuk melihat jobs yang aktif
$ jobs
Analisa 2 & 3 : Instruksi diatas digunakan untuk melihat jumlah job yang sedang berjalan (prosesnya pada background).
4. Buatlah file ploop.sh. File ini tidak akan pernah berhenti kecuali ditekan Ctrl-C
$ vi ploop.sh
#!/bin/bash
while [ true ]
do
sleep 10
echo “Hallo”
done
Analisa : Instruksi diatas digunakan untuk menampilkan kata ‘Hallo’ yang akan muncul setiap 10 detik ( sleep = 10 ). Gunakan perintah Ctrl+C untuk berhenti.
5. Buatlah file ploop.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
Analisa : Untuk hasilnya sama seperti perintah sebelumnya yaitu menampilkan kata ‘Hallo’ setiap 10 detik
Percobaan 8 : Manipulasi stack untuk Direktori
1. Instruksi dirs digunakan untuk melihat stack direktori, pada output hanya ditampilkan direktori home ~
$ dirs
Analisa : Instruksi diatas digunakan untuk melihat stack direktori.
2. Membuat 3 buah direktori
$ mkdir marketing sales support
3. Instruksi dirs digunakan untuk melihat stack direktori, pada output hanya ditampilkan direktori home ~
$ dirs
4. Membuat 3 buah direktori
Analisa 2, 3 & 4 : Instruksi diatas digunakan untuk melihat stack direktori, kemudian kita akan membuat 3 buah direktori yaitu marketing, sales dan support. Ketika perintah ls untuk melihat file yang digunakan.
Percobaan 9 : Alias
1. Alias adalah mekanisme untuk memberi nama alias pada satu atau sekelompok instruksi. Untuk melihat alias yang sudah terdaftar pada system :
$ alias
Analisa : Intruksi diatas digunakan untuk memberi nama pengganti yang sama agar pada proses pemanggilannya menggunakan kata yang mudah dan cepat.
2. Membuat beberapa alias
$ alias del=’rm –i’
$ alias h=’history’
3. Gunakan instruksi hasil alias
$ ls
$ del hasil
$ h | more
Analisa 2 & 3 : Instruksi diatas digunakan untuk membuat alias dari rm –i dan history. Kemudian gunakan instruksi yang telah menggunakan alias tadi, coba hapus file hasil, maka muncul pertanyaan untuk menghapus yaitu ya atau tidak. Kemudian lihat history dari instruksi yang digunakan terakhir.
4. Untuk menghapus alias gunakan instruksi unalias
$ unalias del
$ del files (Terdapat Pesan Kesalahan, mengapa ?)
Analisa : Instruksi diatas digunakan untuk menghapus alias yang telah dibuat dengan unalias. Karena file yang dimaksud tidak ada, maka muncul pesan error.
- Latihan
- Kesimpulan
- 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.
- Daftar Pustaka/Referensi

















Comments
Post a Comment