Praktikum 5 Bekerja dengan Bash Shell

POKOK BAHASAN
  • History pada Bash Shell
  • Membuat Bash Shell Script

TUJUAN BELAJAR

Setelah mempelajari materi dalam bab ini, mahasiswa diharapkan mampu :

  • Memahami shell pada sistem operasi Linux.
  • Menggunakan feature history pada Bash Shell.
  • Mengubah 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 sedehana melalui editor vi.
  • Memahami job control.
  • Memahami stack.
  • Menggunakan alias.
DASAR TEORI 

SHELL
    Shell merupakan Command excecutive yang merupakan program menunggu isntruksi dari pemakai, memeriksa sintak dari instruksi yang diberikan, kemudian mengeksekusi perintah tersebut. Shell ditandai dengan prompt. Untuk menggunakan prompt $ dan untuk seperuser menggunakan prompt #.
    
    Beberapa macam shell :
  • /bin/sh
  • /bin/csh
  • /bin/bash
    Perbedaan mendasar antar shell hampir tidak ada kecuali pada fasilitas pemograman dan editing.

PROFILE
    Pada saat login beberapa program yang dijalankan diantaranya :
  • /etc/profile berisikan shell script yang berlaku untuk seluruh pengguna Linux.
  • Profile untuk setiap pemakai
  • .bashrc merupakan file yang dieksekusi untuk perpindahan antar shell dengan instruksi su.
  • .bash_logout merupakan fule yang akan dieksekusi sebelum logout.
    Pada profile terdapat PATH yang merupakan daftar nama direktori. PS1 merupakan prompt yang dimana \u sebagai nama user, \h sebagai nama host, dan \W sebagai nama working direktori.

HISTORY
    History diadaptasi dari C-shell yang merupakan catatan dari semua instruksi yang sejauh ini sudah dilakukan. Catatan ini dapat dilihat sebagai history yang dapat dipilih kembali, diedit, dan dieksekusi. History memudahkan user untuk mengedit kembali instruksi kompleks dan panjang, terutama bila terjadi kesalahan pada penulisan instruksi maupun parameter.

    Navigasi pada daftra history menggunakan karakter kontrol sebagai berikut :
  • ^P ( ctrl-P ) untuk melihat instruksi sebelumnya
  • ^N( ctrl-N ) untuk melihat instruksi berikutnya
  • !! berfungsi untuk eksekusi kembali instruksi sebelumnya
  • !!-3 sebagai 3 instruksi sebelumnya akan diulang
  • !!88 untuk mengulangi instruksi nomor 88

BASH - SCRIPT
    Bash - script adalah file yang berisi koleksi program yang dapat dieksekusi. Untuk eksekusi bash script gunakan titik . sebelum file bash-script yang berarti eksekusi shell dan tanda ./ berarti file bash-script berada pada direktori actual.

JOB CONTROL
    Job adalah sebuah eksekusi program yang diberikan kepada kernel. Sebuah job dianggap selesai, nila eksekusi program tersebut berakhir. Eksekusi Job adalah sama dengan eksekusi program, baik proses background maupun foreground.

EDITOR vi
    Vi adalah full screen editor artinya editor tersebut dapat memanfaatkan fasilitas satu layar penuh. Vi mempunyai 2 modus, yaitu :
  • Command line
          Editor vi mengitepretasikan input sebagai intruksi untuk dieksekusikan oleh editor, contohnya seperti mencari teks, menggati teks secara otomatis dan lainnya.
  • Editing
          Editor vi mengitepretasikan 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.

    Berikut merupakan tabel untuk kunci teks pada editor vi :


TUGAS PENDAHULUAN

1. Apa yang dimaksud dengan shell dan sebutkan shell yang ada di system operasi Linux.
    
    Shell merupakan Command executive artinya program yang menunggu instruksi dari pemakai, memeriksa sintak dari instruksi yang diberikan, kemudian mengeksekusi perintah tersebut. Berikut ini merupakan shell yang ada pada sistem operasi Linux :
  • /bin/sh merupakan bourne shell yang dirancang oleh Steve Bourne dari AT&T
  • /bin/csh dikembangkan oleh UNIX Barkeley yang dikenal juga dengan C-Shell
  • /bin/bash kompatibel dengan Bourne shell dan mengadapatasi kemampuan korn-shell
2. Apa yang dimaksud dengan profile pada Bash shell
    
    Profile pada bash shell merupakan profil untuk setiap pemakai pada home direktori.

3. Apa yang adan ketahui mengenai file .bashrc
    
    File .bashrc merupakan file yang akam dieksekusi untuk perpindahan dari satu shell ke shell yang lain menggunakan instruksi 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!
    
    Hisory merupakan catatan dari semua instruksi yang sejauh ini telah dilakukan. History memudahkan oemakai untuk mengedit kembali instuksi kompleks dan panjang, terutama bila terjai kesalahan pada penulisan instruksi maupun parameter.

    Langkah - langkah untuk mengetahui histroy :
  • ^P (ctrl-P) melihat instruksi sebelumnya
  • ^N (ctrl-N) melihat instruksi berikutnya
  • !! eksekusi kembali instruksi sebelumnya
  • !!-3 3 instrksi sebelumnya akan diulang
  • !!88 ulangi instruksi no 88
HASIL PERCOBAAN

PERCOBAAN 1

1. Melihat file .bash_profile


   
    .bash_profile merupakan file yang tersembunyi pada home direktori pemakai yang sedang login. Pada percobaan ini dilakukan dengan menjalankan perintah $ls a terlebih dahulu kemudian saya menggunakan opsi pilihan menjalankan perintah $ more .profile untuk menampilkan bash profile tersebut karena pada saat menjalakan perintah $ more .bash_profile output yang dihasilkan adalah no such file or firektori.

2. File .bash_logout

    
    Menjalankan file .bash_logout dapat menggunakan perintah $ cash .bash_logout, yang dimana file tersebut akan dieksekusi sebelum logout dan berfungi sebagai house clearing job artinya membersihkan semuanya contohnya seperti menghapus temporary file atau job lainnya.

PERCOBAAN 2

1. Memberikan bash shell beberapa perintah untuk diingat


    Perintah $ cd berfungsi untuk memastikan sedang berada pada direktori home. Perintah $ ls-l /etc berfungsi untuk menampilkan output file atau direktori secara lengkap yaitu terdiri dari nama file, ukuran, tanggal dimodifikasi, pemilik, group dan mode atau atributnya.


    Tampilan diatas merupakan hasil perintah menggunakan feature history bash yang dimana perintah $ ls -l berfungsi untuk menampilkan daftar file pada direktori yang sedang aktif yaitu direktori home.


    Sama seperti sebelumnya ini merupakan tampilan dari feature history bash yang dimana perintah $ whoami dan $who berfungsi untuk menampilkan user yang sedang aktif.

2. Perintah history



    Perintah $ history dapat menampilkan semua perintah yang pernah dijalankan dan termasuk juga perintah $ history tersebut ditambahkan pada list dari history yang ada.

3. Mengeksekusi perintah dengan memasukkan kunci ! diikuti nomor perintah


    Dengan menggunakan Perintah $ !<nomor perintah> berfungsi untuk memudahkan mencari perintah history, pada percobaan tersebut saya mencoba !703 yang berarti akan mengeksekusi perintah pstree | grep mingetty.

4. Perintah $ !>etc?


    Menggunakan perintah $ !?etc? maka akan menjalankan perintah ls -l / etc yang sebelumnya pernah digunakan.

5. Menjalankan perintah history


    Perintah history tersebut akan menampilkan perintah $ ls - l / etc dan tidak menampilkan perintah $ !?etc? yang sudah dijalankan sebelumnya.

6. Perintah !?wombat99?

    
    Terdapat pesan error dikarenakan pada history tersebut tidak ditemukan adanya string sehingga output dari perintah $ !?wombat99? menjadi error.

7. Menjalankan perintah !who dan !whoa


    Pada percobaan ini ketika menjalankan perintah !who maka akan dihasilkan output dari perintah ! who tersebut namun ketika menjalankan perintah !who maka akan dihasilkan output dari perintah whoami.

8. 

    Ketika menjalankan perintah $ cat /bin/bash | strings grep shell | less maka akan menampilkan output semua string yang berada pada file /bin/bash yang berisikan kata "shell".
    

    Kemudian dengan menjalankan perintah $ ^shell^alias^ berfungsi untuk menampilkan kata "alias" untuk menggatikan kata "shell" yang dimana tidak perlu mengetikan perintah yang panjang seperti sebelumnya.

PERCOBAAN 3

1. Home Direktori


    Perintah $cd merupakan perintah untuk memastikan bahwa kita berada di direktori home.

2. Perintah $ tail .bash_history


    Tampilan diatas merupakan tampilan dari beberapa baris pada file .bash_history dan file .bash_history merupakan tipe file yang bukan up to date.

3. Menjalankan perintah $ history

    
    Perbedaan dengan tail .bash_history dan perintah $ history adalah history merupakan perintah yang bersifat up to date sehingga akan ada terus pembaruan dari perintah yang dijalankan dan disimpan pada memory sistem.

4. Perintah $ echo 'ini perintah'

    
    Dengan bantuan perintah $ echo maka akan megashilkan output kalimat tersebut.

5. Perintah $ history dan $ tail .bash_history



    Pada tampilan pertama output yang dihasilkan yaitu echo "ini perintah saya" pada baris pertama pada perintah $ history dan tampilan kedua untuk menampilkan output yang berhubungan dengan bash.

6. Perintah history|less

    
    Dengan menggunakan perintah history|less tersebut output yang ditampilkan yaitu history terakhir yang ada pada screen untuk melihat history yang lebih banyak dapat menekan spacebar dan tekan q untuk keluar dari history tersebut.

7. Untuk melihat berapa banyak perintah history yang ada pada file.


    Ketika menjalankan perintah $ wc -l -bash_history terlihat bahwa terdapat 743 history yang ada pada file -bash_history tersebut.

8. Penggunaan HINTSIZE


    HINTSIZE menunjukkan untuk jangkauan limit perintah history yang dapat disimpan pada file history dan gambar diatas menunjukkan bahwa limit perintah history yang dapat disimpan pada file history tersebut sebanyak 1000.

9. Memperbesar jangkauan file history


     Mengubah variable HINTSIZE  pada skrip startup yang disebut .bashrc pada direktori home kemudian perintah $ set|grep HINTSIZE digunakan untuk melihat jangkauan atau limit perintah history yang terbaru yaitu sebesar 5000 .

10. Perintah HISTCONROL


        Variable HISTCONTROL dan nilai ingoredups pada file .bashrc berguna untuk melakukan konfigurasi BASH agar tidak menambah perintah ke history jika perintah yang diketikan sama dengan sebelumnya. Sebelumnya juga saya sudah mencoba menjalankan perintah history beberapa kali namun dengan adanya konfigurasi bash tersebut sehingga perintah history yang dijalankan beberapa kali tersebut tidak muncul semuanya hanya satu saja yang berada pada list di file history tersebut.

PERCOBAAN 4

1. Menunjukkan current directory dalam format 24 jam


    Tampilan diatas merupakan hasil dari prompt bash dengan sistem format waktu 24 jam yaitu dalam format HH : MM : SS menunjukkan waktu jam 12 malam dengan 13 menit 30 detik.

2. Menampilkan format 12 jam dengan am dan pm


    Dengam menambahkan PS1='\t;' maka akan ditampilkan formar 12 jam .

3. Menampilkan perintah $ PS1-'\w:'


    Perintah $ PS1='\w:' untuk menampilkan current working direktori. Fungsi dari \w hanya untuk menampilkan nama direktori. Setelah memasukkan perintah tersebut ketika dienter maka akan ditampilkan prompt ~: yang menandakan bahwa sudah berada di home direktori.

4. Melihat prompt /usr/sbin:

    
  Tampilan diatas merupakan perintah untuk mengubah prompt shell. Perintah cd /usr/sbin berfungsi untuk membuka direktori sbin kemudian ketikan di enter dilanjutkan dengan mengetik PS1='\W:' untuk melihat prompt sbin:.

  5. Perintah $ echo 'Hello >'


    Pada perintah sbin: kita masukkan perintah echo 'Hello >' yang dimana simbol lebih besar dari (>) hal ini memberitahukan bahwa BASH akan menunggu menyelesaikan perintah. Ketik penutup quote (') untuk menyelesaikan perintah di prompt maka kata "Hello: akan diikuti dengan prompt PS1 pada baris baru.

6. Mengubah prompt PS2 seperti mengubah prompt PS1


    Pada direktori sbin untuk mengubah prompt PS2 dengan cara sbin:PS2='Selesai memasukkan perintah anda:'.

7. 


8. Program BASH dengan melakukan setting color


        Dengan menggunakan perintah tersebut maka akan mengubah prompt menjadi warna biru. Kode 34 merupakan untuk mengubah warna prompt menjadi biru.

9. Mengubah prompt menjadi warna merah


    Dengan mengubah kode menjadi 31 maka tampilan prompt tersebut akan menjadi berwarna merah.

10. Untuk mengubah tampilan prompt menjadi beberapa warna.


11. Menampilkan prompt menjadi atribut visual menjadi lebih terang

    
    Terlihat bahwa tampilan prompt menjadi lebih terang dan terdapat juga perpaduan warna.

12. Promt menjadi warna berkebalikan

    
    Dengan menjalankan tersebut terlihat tampilan prompt terdii dari berbagai warna dan warna tersebut juga terdapat dibagian background dari prompt tersebut yang dimana atribut control diganti menjadi angka 7.

13. Menampilkan prompt berkedip


    Tampilan pada prompt akan berkedip-kedip dengan menggantikan atribut control menjadi angka 5.

PERCOBAAN 5 

1. Pastikan berada pada direktori home dan membuat skrip sederhana untuk mengurut daftar file


    Pertama pastikan bahwa kita berada di direktori home dengan menjalankan perintah $ cd ~ kemudian. Perintah echo digunakan untuk membuat file yang dikarenakan hanya satu baris dan perintah $ echo 'sort ~/list > ~/r13; mv ~/r13 ~/liat' > -/sorter berfungsi untuk membuat deretan file yang terurut.

2. Membuat executable file dan program sorter

    
    Perintah $ chmod +x sorter merupakan perintah untuk membuat file skript diatas menjadi excutable dan perintah $ PROMPT_COMMAND=~/sorter merupakan perintah untuk menjalankan program sorter pada setiap shell Bash prompt PS1.

3. Membuat file list dan melihat isi file list


    Perintah echo "John Smith:13001' >> List digunakan untuk membuat file list secara otomatis kemudian untuk melihat isi dari file list tersebut dapat menggunakan perintah $ cat list yang disini output dari file list yang dihtampilkan adalah John Smith:13001

4. Memasukkan beberapa perintah dan menggunakan cat list

    
    Membuat beberapa file list menggunakan perintah echo dan list.

   
    Kemudian ketika memasukkan perintah $ cat list maka ouput yang ditampilkan berupa isi file dari list yang sudah sesuai urutan abjad.

5. Membuat BASH berhenti menjalankan program sorter


    Untuk membuat berhenti menjalankan proram sorter dapat menjalankan perintah $ PROMPT_COMMAND= yang kemudian dilakukan log out dan log in kembali.

PERCOBAAN 6

1. Membuat file p1.sh

    Disini saya membuat file p8.sh dan menggunakan editor o untuk menyisipkan baris yang digunakan untuk mengetik echo "program bash script".

2. Mengubah program menjadi executable

    
    Perintah $ chmod +x p8.sh digunakan untuk memberikan izin akses untuk mengaktikan file p8.sh agar dapat dieksekusi.

3. Menjalankan script


    Setelah melakukan perintah chmod tadi maka semua perintah pada file p8.sh dapat dieksekusi. Pada percobaan ini ketika menampilkan script atau isi yang berapa dapa file p8.sh yaitu kalimat program bash Script.

4. Konvensi dalam pembuatan script shell dinyatakan sebagai #!/bin/bash


    Gambar diatas merupakan tampilan dari command mode maka untuk menambahkan #!/bin/bash kita dapat menggunakan editor vi yaitu mengetik O maka akan disisipkan baris baru untuk bagian menulis #!/bin/bash.

5. Membuat file p2.sh

    Untuk file yang kedua saya membuat file p10.sh dan sama seperti langkah-langkah yang dilakukan pada file p8.sh dibagian command modenya saya menuliskan #!/bin/bash dan echo "program 2 bash script" menggunakan editor vi.

6. Menjalankan beberapa program shell dalam satu barus instruksi yang dipisahkan dengan tanda;


    Ketika menjalankan perintah $ ./p8.sh ; ./p10.sh terdapat permisson denied pada bash file p10.sh ini disebabkan karena file p10.sh tersebut belum dibuat menjadi executable file maka solusinya dapat menjalankan perintah $ chmod +x p10.sh. Kemudian jalankan kembali perintah ./p8.sh ; ./p10.sh kembali dan output dari kedua file tersebut sudah bisa ditampilkan.

PERCOBAAN 7

1. Proses foreground


    Proses foreground dengan menggunakan perintah ps x, maka akan ditampilkan output daftar file yang sedang dijalankan. Perintah foreground hanya diperuntukkan untuk satu job pada satu waktu dah job pada foreground akan mengontrol shell menerima input dari keyboard dan mengirim output ke layar.

2. Proses background 

    
    Perintah pada background  tidak menerima input dari terminal. Biasanya berjalan tanpa memerlukan interaksi dan menampilkan job number 1 dan nomor PID 3440.

3. Melihat jobs yang aktif

    
    Ketika menjalankan perintah $ jobs maka akan ditampilkan output job yang tadi sedang dijalankan yaitu $ ps x > hasil.

4. Membuat file ploop.sh dan menghentikannya dengan ctrl+c

   
    Setelah membuat file ploop dengan perintah $ vi ploop.sh maka akan langsung dibawa ke halaman command mode dan pada command mode tersebut kita menuliskan script yang nantinya akan dijalankan. Pada program tersebut dibuat agar kata hello muncul setelah 10 detik.

5. Membuat file ploop.sh menjadi executable


    Ketika file ploop.sh sudah menjadi executable menggunkan perintah $ chmod +x ploop.sh maka jika file tersebut dijalankan output yang dihsilkan yaitu kata "Hello" yang tampil setiap 10 detik sekali dan tidak akan berhenti kecuali jika kita menekan ctrl+c.

PERCOBAAN 8 

1. Perintah $ dirs


    Perintah $ dirs tersbut dapat melihat stack direktori, pada output hanya ditampikan direktori home ~, maka akan muncul output direktori yang diingat.

2. Membuat 3 buah direktori

    


      
      Gambar diatas merupakan perintah manipulasi stack untuk direktori dan dengan melakukan perintah tersebut merupakan cara membuat tiga direktori dengan satu perintah.

3. Instruksi dirs

    
    Perintah $ dirs digunakan untuk melihat stack direktori, output yang hanya ditampilkan yaitu direktori home ~.

PERCOBAAN 9

1. Perintah Alias


    Dengan menjalankan perintah $ alias maka akan ditampilkan output yang memberi tahu informasi nama alias yang sudah terdaftar pada sistem.

2. Membuat beberapa alias


    Pada percobaan ini membuat 2 buah alias yaitu del='rm -i' yang menggunakan alias del dan mengerjakan perintah rm -i. Kemudian untuk alias h akan menjalankan perintah history.

3. Gunakan instruksi hasil alias


        Pertama menjalankan alias del ketika menjalankan perintah $ ls terlihat semua file dan direktori yang ada lalu dijalankan perintah $ alias del hasil dan muncul konfirmasi untuk penghapusan untuk file hasil tersebut. Setelah itu menjalankan kembali perintah $ ls terlihat bahwa file hasil sudah berhasil dihapus.


    Menjalankan alias dari h berupa perintah $ h | more dan berhasil dilakukan untuk menampilkan history yang ada.

4. Menghapus alias menggunakan instruksi unalias

    
    Untuk menghapus alias menggunakan perintah $ unalias. Perintah $ unalias del digunakan untuk menghapus alias del yang tadi dibuat. Lalu ketika menjalankan perintah $ del files tterjadi error karena alias del sudah tidak berfungsi lagi karena sudah dihapus alias del tersebut menggunakan perintah $ unalias del.

    
LATIHAN

1. Eksekusi seluruh profile yang ada :

    a. Edit file profile /etc/profile dan tampilkan pesan echo 'profile dari /etc/profile'



    
       Pertama untuk masuk ke bagian prompt script /etc/profile kita dapat mengetikkan perintah $ sudo vi /etc/profile kemudian masukkan password. Setelah itu kita sudah berada di halaman prompt script dari /et/profile tekan i agar dapat mengetikkan perintah echo "Profile dari /etc/profile". Jika sudah tekan tombol esc + shift + ; dan ketikkan wq agar dapat keluar dari bagian command mode script tersebut. Kemudian ketika mengesekusi bash /etc/profile maka akan ditampilkan kalimat yang dibuat dengan menggunakan perintah $ echo.

    b. Asumsi nama anda student, maka edit semua profile yang ada


        Sama seperti sebelumnya pembuatan file menggunakan perintah $ sudo dan vi digunakan untuk editornya. Kemudian untuk student digantikan sesuai dengan nama user.

    c. Ganti nama /home/student dengan nama sendiri. Pada setiap file tersebut, cantumkan instruksi echo sesuai dengan nama filenya.

    




        Ketika sudah masuk ke bagian prompt script masing masing file maka edit dan menuliskan kalimat tersebut dengan perintah $ echo. Jika sudah dilakukan maka keluar dari halaman prompt script tersebut. 

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


        Ketika manjalankan atau eksekusi bash pada setiap file tersebut maka akan ditampilkan output kalimat yang telah dibuat menggunakan perintah $ echo dari masing - masing file tersebut. Ketika menjalankan perintah bash ./profile kalimat yang berada di file .bashrc juga ikut ditampilkan karena pada file ./profile tersebut terdapat script include .bashrc.

2. Jalankan instruksi subtitute user, kemudia keluar dengan perintah exit :



        Perintah su atau switch user digunakan untuk menjalankan perintah dengan sistem meminta password admin. Ketika menjalankan perintah $ su - student selain memintas password admin namun juga menampilkan 2 buah file yang menggunakan perintah $ echo. Untuk mengakhirinya dapat menggunakan perintah $ exit. Perbedaan dari perintah $ su dan $ su - adalah jumlah file yang dibuka dan akhiran yang menggunakan logout.

3.  Log out

    a. Edit file .bash_logout, tampilkan pesan dan tahan selama 5 detik, sebelum eksekusi logout dengan menuliskan script :
       
            echo "Terima kasih atas sesi yang diberikan"
        sleep 5
        clear

    
        Untuk masuk kehalaman command mode promt script file tersebut sama seperti sebelumnya menggunakan sudo vi dan menjalankan perintah vi editor.



        Kemudian kita eksekusi file .bash_logput tersebut maka akan ditampilkan kalimat yang dibuat dengan perintah $echo dan terjadi sleep selama 5 detik, lalu perintah $clear akan dijalankan yang membuat layar bersih kembali.

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


        Tampilan pada command mode promt ketika kita menjalankan perintah editor vi dan kita menuliskan program yang ada.


        Sebelum menjalankan file .bash_logout maka kita perlu membuat file tersebut menjadi executable dengan manjalankan perintah $ chmod +x .bash_logout. Kemudian setelah menjalankan perintah $ bash ./.bash_logout maka akan ditampilkan kalimat yang dibuat menggunakan perintah $ echo dan 
setelah melakukan sleep selamat 4 detik maka akan dilakukan log out dan clear tampilan layar.

4. History

    a. Ganti nilai HISTSIZE dari 1000 menjadi 20 menggunakan perintah :

                   $ HISTSIZE=20
        $ h

        Pada percobaan ini menggunakan perintah $ HISTSIZE menjadi 20 yang berarti jangkauan limit dari perintah history menjadi 20. Untuk memastikan apakan ukuran histsize kita sudah 20 dapat kembali dipastikan dengan menjalankan perintah $ set |grep HISTSIZE.

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


      Perintah $ !-5 digunakan untuk menampilkan atau mengeksekusi kembali history pada 5 perintah terakhir yang ada pada di history.

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

       

        Fungsi dari perintah $ ! ! adalah untuk mengulangi perintah yang terakhir dilakukan.

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


        Perintah $ !150 berfungsi untuk memanggil perintah dari history dengan nomor PID 150. Namun pada percobaan tersebut terjadi not found karena PID tersebut tidak tersedia.

    e. Ulangin instruksi dengan prefix "ls"

        $ !ls
        $ !?ls?
 

5. Prompt String (PS)

    a. Edit file .bash_profil, ganti prompt PS1 dengan '>'. Instruksi export diperlukan dengan parameter nama variable tersebut, agar perubahan variable PS1 dikenal oleh semua sehell
        
        PS='>'
        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 >"


        Menggunakan editor vi untuk mengedit file .bash_login.


        Menggati prompt PS1 dengan '>' dan menggunakan instruksi export yang menggunakan parameter dengan nama variable tersebut. Tampilan prompr PS1 dengan perintah (\!), time(\t) untuk menunjukkan format waktu dalam HH:MM:SS, who(\u) untuk memberitahukan nama user, dan (\w) untuk working direktori.

    b. Ubahlah warna shell prompt dengan warna biru dan berkedip

        
        Untuk mengganti warna prompt menajdi biru dapat menggunakan kode 34 m dan atribut angka 5 untuk membuat prompt menjadi 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

        p2.sh
        #! /bin/bash
        echo "Program p2"
        who

        p3.sh
        #! /bin/bash
        echo "Program p3"
        ps x
        



        Tampilan diatas merupakan membuat program file yang menggunakan vi editor. Kemudian setiap file tersebut diinputkan script masing - masing.

b. Jalankan script tersebut sebagai berikut dan perhatikan hasilnya :

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



        Pada percobaan ini terlihat output yang ditampilkan merupaka hasil file p1.sh dan p2.sh yang sudah dieksekusikan. Pada file p1 terlihat output untuk perintah $ ls dan kalimat yang diinput menggunakan $ echo, di file p2 juga terlihat output untuk perintah $ who dan kalimat yang diinput menggunakan perintah $ echo.

        $ ./p1.sh &


        Perintah ./p1.sh & digunakan untuk menampilkan file script dari p1.sh dengan adanya proses background .

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



        Perintah tersebut digunakan untuk menampilkan ketiga script dari ketiga file tersebut secara bersamaan dengan adanya proses background .
    
         $ ( ./p1.sh ; ./p3.sh ) &



        Perintah tersebut akan menampilkan kedua file script dari file p1.sh dan p3.sh dengan adanya proses background.

7. Jobs 

    a. Buat shell-script yang melakukan loop dengan nama pwaktu,sh setiap 10 detik, kemudia menyimpan tanggal dan jam pada hasil.

                   #!/bin/bash
        while [true]
        do
        date >> hasil
        sleep 10
        done



        Pertama membuat file pwaktu.sh dan mengedit file tersebut menggunakan vi editor. Sebelum menjalankan file tersebut pastikan untuk mengubah file tersebut dengan menggunakan perintah $ chmod +x pwaktu.sh agar file menjadi executable. Kemudian jalankan perintah $ bash pwaktu.sh dan untuk menghentikannya menggunakan ctrl+z. Karena file dibelokkan ke file hasil maka shell script tersebut melakukan loop dengan nama file pwaktu.sh. Kemudian perintah $ cat hasil berfungsi untuk menampilkan pengulangan pada program.

    b. Jalankan sebagai background  kemudian jalankan satu program di background

    
    Perintah jobs akan menampilkan program dari file pwaktu.sh yang diberhentikan. Kemudian menampabhakan satu program utilitas dengan mengguakan perintah $ find di background.

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

        Jobs nomor perintah 1 yaitu .pwaktu/sh akan dijalankan sebagai program foreground kemudian untuk menghentikannya dapat menggunakan ctrl+z. Setelah itu program ./pwaktu.sh ini akan dijalankan di background  dengan perintah bg.

d. Stop prpgram background dengan utilitas kill


        
        Perintah $ ps x digunakan untuk melihat status proses yang ada di foregorund untuk menghentikan atau stop program tersebut dapat menggunakan perintah $ kill PID contohnya disini saya menggunakan perintah $ kill 5126 yang dimana dengan menjalankan perintah tersebut maka proses dengan PID 5126 akan terhenti.

KESIMPULAN

Berdasarkan percobaan dan analisa yang telah dilakukan dapat disimpulkan bahwa :
  • Untuk membuat suatu file dapat menggunakan perintah $ sudo vi maupun vi. Penggunakaan $ sudo vi bila kita membuat file sebagai root.
  • Pada bagian common mode script suatu file dapat diedit digunakan menggunakan editor vi.
  • File dapat diubah menjadi dile yang executable dengan menggunakan perintah $ chmod +x
  • Tampilan pada prompt dapat diubah
  • HISTSIZE merupakan perintah yang digunakan untuk menentukan jumlah jangkauan atau limit perintah $ history yang digunakan dan besar dari HISTSIZE tersebut dapat kita ubah.
  • Pembuatan alias dapat ditambhakan selain alias yang sudah disediakan oleh sistem dan kita dapat menghapus kembali alias yang kita buat.




   




















  




    
















    











    


    



Komentar

Postingan populer dari blog ini

Praktikum 3 Operasi File dan Struktur Direktori

Praktikum 4 Proses dan Manajemen Proses

Praktikum 9 Manajemen Perangkat Keras