SistemOperasi_4611414043_Pertemuan8

download SistemOperasi_4611414043_Pertemuan8

of 26

Transcript of SistemOperasi_4611414043_Pertemuan8

  • 8/10/2019 SistemOperasi_4611414043_Pertemuan8

    1/26

    LAPORAN PRAKTIKUM SISTEM OPERASI

    PRAKTIKUM 5B

    Bekerja Dengan Bash Shell

    DISUSUN OLEH

    NAMA : HENDI SUSANTO

    NIM : 4611414043

    PROGRAM STUDI TEKNIK INFORMATIKA

    JURUSAN ILMU KOMPUTER

    FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

    UNIVERSITAS NEGERI SEMARANG

    2014

  • 8/10/2019 SistemOperasi_4611414043_Pertemuan8

    2/26

    PERCOBAAN 6: MEMBUAT BASH-SCRIPT DAN MENJALANKANNYA

    1. Buat file p1.sh dan tambahkan text echo Program bash Script didalamnya.

    Analisa: Masukkan perintah vip1.sh, tulis echo Program bash Script, kemudian ketik

    :w!untuk menyimpan, dan ketik :q!untuk keluar. Vidisini salah satu adalah aplikasi text

    editor pada linux.

    2. Merubah program menjadi executable, masukkan perintah:

    $ lsl p1.sh

    $ chmod +x p1.sh

    $ lsl p1.sh

    Analisa: Perintah ls l p1.sh digunakan untuk melihat detail dari file p1.sh, sedangkan

    perintah chmod +x p1.sh digunakan untuk menambah atribut eksekusi pada file p1.sh,

    sehingga file p1.sh dapat dieksekusi.

    3. Menjalankan script, masukkan perintah berikut:

    $ bash p1.sh

    $ sh p1.sh

  • 8/10/2019 SistemOperasi_4611414043_Pertemuan8

    3/26

    $ . p1.sh

    $ ./p1.sh

    Analisa: Untuk menjalankan suatu bash script, kita dapat menggunakan beberapaperintah, yaitu: $ bash , $ sh , $ ., $ ./.

    4. Tambahkan baris #! /bin/bashdiatas baris echo Program bash scriptpada file p1.sh

    dengan perintah $ vi p1.sh, dan tambahkan #! /bin/bash, kemudian ketikkan :wq untuk

    menyimpan dan keluar dari editing.

    Analisa: Text #! /bin/bash merupakan konvensi dalam pembuatan sript shell.

    5. Buat file p2.sh, dan isikan text dibawah, masukkan perintah:

    $ vi p2.sh

    Isikan text berikut:

    #! /bin/bash

    echo Program 2 bash script

  • 8/10/2019 SistemOperasi_4611414043_Pertemuan8

    4/26

    Analisa: Pembuatan file p2.sh pada praktikum kali ini bertujuan untuk menjadi

    pendukung untuk praktikum selanjutnya.

    6. Jalankan 2 program shell yang sudah kita buat, ketikkan perintah:

    $ cat p1.sh ; cat p2.sh

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

    Analisa: Pada percobaan kali ini, saat menjalankan program p2.sh terjadi kesalahan,

    kesalahannnya yaitu file p2.sh belum executable atau belum bias dieksekusi, untuk dapat

    mengeksekusinya, kita harus menambahkan atribut execute pada file p2.sh, yaitu dengan

    perintah chmod +x p2.sh. Dan untuk menjalankan beberapa program, menggunakan

    format ; , dan seterusnya sesuai dengan kebutuhan.

    PERCOBAAN 7: JOB CONTROL

  • 8/10/2019 SistemOperasi_4611414043_Pertemuan8

    5/26

    1. Masukkan perintah $ ps x

    Analisa: Pada praktikum ini, kita membuat proses foreground, yaitu prosesps x.

    2. Masukkan perintah $ ps x > hasil &.

    Analisa: Penambahan option & pada akhir perintah berguna untuk membuat proses

    berjalan pada background.

    3.

    Ketikkan perintah $ jobs.

  • 8/10/2019 SistemOperasi_4611414043_Pertemuan8

    6/26

    Analisa: Pada praktikum diatas, diketahui bahwa nomor PID untuk ps x > hasiladalah

    23959, dan saat kita akan melihat semua jobs yang berjalan, proses tadi berhenti, jasi

    tidak ada proses atau jobs yang sedang berjalan.

    4. Buat file ploop.sh dengan perintah $ vi ploop.sh, kemudian masukkan text berikut:

    #! /bin/bash

    while [ true ]

    do

    sleep 10

    echo Hallo

    done

    Analisa: Text diatas merupakan isi dari file ploop.sh, yang berisi script shell dari fileploop.sh itu sendiri.

    5. Masukkan perintah $ chmod +x ploop.shkemudian $ ./ploop.sh

  • 8/10/2019 SistemOperasi_4611414043_Pertemuan8

    7/26

    Analisa: Perintah $ chmod +x ploop.sh digunakan untuk membuat file ploop.sh menjadiexecutable, sedangkan perintah $ ./ploop.sh untuk menjalankan atau mengeksekusi fileploop.sh, pada saat file ploop.sh dijalanakan, akan muncul pesan Hallo setiap 10 detik,untuk mengakhirinya tekan tombol Ctrl+C.

    PERCOBAAN 8: MANIPULASI STACK UNTUK DIREKTORI

    1. Masukkan perintah $ dirs

    Analisa: Perintah $ dirs digunakan untuk melihat stack direktori, pada output hditampilkan direktori home

    2. Masukkan perintah $ mkdir marketing sales support

    Analisa: Perintah $ mkdir marketing sales support digunakan untuk membuat 3 direktoridengan nama marketing, sales dan support. Untuk mengecek apakah direktori sudahdibuat, ketikkan perintah ls.

  • 8/10/2019 SistemOperasi_4611414043_Pertemuan8

    8/26

    PERCOBAAN 9: ALIAS

    1. Masukkan perintah $ alias

    Analisa: Alias merupakan mekanisme untuk memberikan nama lain untuk suatu

    command atau perintah. Untuk menampilkan alias yang sudah terdaftar pada system yaitu

    dengan mengetikkan perintah $ alias.

    2.

    Ketikkan perintah $ alias del=rm -i tekan Enter. Kemudian masukkan lagi perintah $

    h=history

    Analisa: Praktikum diatas bertujuan untuk membuat alias baru, yaitu alias del untuk

    perintah rm -i dan h untuk perintah history.

    3. Gunakan perintah hasil alias.

    $ ls

    $ del hasil

    $ h | more

  • 8/10/2019 SistemOperasi_4611414043_Pertemuan8

    9/26

    Analisa: Saat kita mengetikkan command atau perintah del, system akan membacanya

    sebaga perintah rmi, dan saat mengetikkan perintah h, system akan menggangap atau

    membacanya sebagai perintah history.

    4. Untuk menghapus alias gunakan perintah $ unalias . Hapus alias del!

  • 8/10/2019 SistemOperasi_4611414043_Pertemuan8

    10/26

    Analisa: Sesudah alias del dihapus, ketika kita memasukkan kembali perintah del, akan

    muncul pesan error, yaitu command not found, artinya tidak ada perintah yang bernama

    del, karena pada dasarnya tidak ada command del pad alinux dan alias del sudah dihapus.

    LATIHAN

    1. Eksekusi seluruh profile yang ada.

    a. Edit file/etc/profiledan tambahkan baris echo Profile dari /etc/profile.

  • 8/10/2019 SistemOperasi_4611414043_Pertemuan8

    11/26

    Analisa: Edit file /etc/profile menggunakan perintah vi /etc/profile, tambahkan

    baris baru yang berisi echo Profile dari /etc/profile.

    b. Edit semua file profile yang ada pada home directory user, masukkan perintah:

    /home/hendi/.bash_profile

    /home/hendi/.bash_login

    /home/hendi/.profile

    /home/hendi/.bashrc

    Analisa: File profile yang ada pada home directory user ada 4, yaitu file

  • 8/10/2019 SistemOperasi_4611414043_Pertemuan8

    12/26

    .bash_profile, .bash_login, .profile dan .bashrc.Untuk mengedit file-file diatas,

    tambahkan perintah vi didepan perintah diatas.

    c. Tambahkan instruksi echo Profile dari .bash_profilepada file .bash_profile.

    Analisa: Edit file .bash_profile dengan perintah vi .bash_profile. Penambahan

    baris pada praktikum ini bertujuan untuk menambahkan program bash pada file

    .bash_profile.

    d. Lakukan hal yang sama untuk semua file profle.

  • 8/10/2019 SistemOperasi_4611414043_Pertemuan8

    13/26

    Analisa: Perintah yang digunakan untuk mengubah file dan penambahannya sama

    dengan praktikum sebelumnya, yang membedakan hanyalah nama file dan isi dari

  • 8/10/2019 SistemOperasi_4611414043_Pertemuan8

    14/26

    perintah didalam file harus disesuaikan sebagaimana mestinya.

    2. Masukkan perintah $ su hendi lalu tekan Enter, kemudian ketikkan exit dan tekan Enter.

    Kemudian gunakan opsi $ suhendi lalu tekan Enter, kemudian ketikkan exit dan tekan

    Enter.

    Analisa:Ketika menggunakan perintah $ su hendi, bash program yang berjalan ketika

    login hanya file .bashrcsaja. Sedangkan jika dengan perintah $ suhendi, program yang

    berjalan saat login ada dua file atau program, yaitu program dari file /etc/profile dan

    .bash_profile. Dan pada saat perintah exit yaitu untuk logout dijalankan, pada praktikum

    pertama program yang berjalan ketika logout yaitu exit, sedangkan pada praktikumkedua, program yang berjalan saat logout yaitu logout.

    3. Logout

    a. Edit file .bash_logout, tambahkan baris berikut:

    echo Terima kasihatas sesi yang diberikan

    sleep 5

    clear

  • 8/10/2019 SistemOperasi_4611414043_Pertemuan8

    15/26

    Analisa: Edit file menggunakan perintah vi .bash_logout, pesan Terima kasih

    atas sesi yang diberikanakan muncul apabila file .bash_logout dijalankan, dan

    pesan tersebut akan otomatis hilang jika dibiarkan selama 5 detik, dan perintah

    clear akan berjalan setelahnya.

    b.

    Edit file .bash_logout, tampilkan pesan dan tahan selama 4 detik sebelumeksekusi logout.

    Analisa: Untuk menahan selama 4 detik sebelum logout, baris sleep 5 diganti

    dengan sleep 4 pada file.bash_logout, kemudian simpan.

  • 8/10/2019 SistemOperasi_4611414043_Pertemuan8

    16/26

    4. History

    a. Ganti nilai HISTSIZE menjadi 20 dengan mengetikkan perintah $ HISTSIZE=20,

    kemudian masukkan perintah $ hlalu Enter.

    Analisa: Ketika nilai HISTSIZE diubah menjadi 20, history hanya akan

    menyimpan 20 perintah terakhir yang digunakan oleh user.

    b. Masukkan perintah $ !-5kemudian Enter.

    Analisa: Perintah $ !-5 digunakan untuk menjalankan perintah kelima dari

    perintah yang terakhir dijalankan.

  • 8/10/2019 SistemOperasi_4611414043_Pertemuan8

    17/26

    c. Masukkan perintah $ !!.

    Analisa: Perintah $ !! digunakan untuk mengulangi perintah terakhir yang

    dijalankan oleh user. Untuk bernavigasi pada history buffer dapat denganmenekan Ctrl+P untuk keatas dan Ctrl+N untuk kebawah.

    d. Ulangi instruksi dengan perintah $ !contoh $ !618

    Analisa: Perintah diatas digunakan untuk mengulang perintah yang tersimpan

    pada history dengan nomor sebagai identitas perintahnya.

  • 8/10/2019 SistemOperasi_4611414043_Pertemuan8

    18/26

    e. Masukkan perintah $ !lskemudian Enter, lalu $ !?ls?.

    Analisa: Perintah $ !lsdigunakan untuk mengulang perintah ls yang terakhir kali

    dilakukan. Sedangkan perintah $ !?ls? digunakan untuk mengulang perintah

    terakhir yang mengandung kata ls pada perintah tersebut.

    5. Prompt String (PS)

    a. Masukkan perintahperintah berikut:

  • 8/10/2019 SistemOperasi_4611414043_Pertemuan8

    19/26

    PS1=>

    export PS1

    Kemudian lakukan eksperimen berikut:

    $ PS1=\! >

    644 > PS1=\d >

    Kam Okt 23 > PS1=\t >

    11:24:19 > PS1=Saya=\u >

    Saya=Hendi > PS1=\w >

    ~ > PS1=\h

    Analisa: Perintah perintah diatas merupakan kustomisasi dari PS1. Format

    perintah dari PS1 adalah $ PS1=. Untuk menampilkan PS1 menjadi

    nomor urut history, ganti menjadi \!, untuk menunjukan tanggal diganti

    menjadi \d,untuk menunjukkan waktu diganti menjadi \t, untukmenunjukkan user

    diganti menjadi \u,untuk menunjukkan directory aktif diganti menjadi \w, untuk

    mengembalikan seperti semula, ganti menjadi \h.

    b. Mengubah shell prompt menjadi warna biru dan berkedip.

  • 8/10/2019 SistemOperasi_4611414043_Pertemuan8

    20/26

    Analisa: Untuk mengubah shell prompt menjadi warna biru dan berkedip

    gunakan perintah $PS1=\033[5;34m\w\$ \033[0;37m

    6. Bash script

    a.

    Buat 3 buah file dengan isi masingmasing :

    P1.sh

    #! /bin/bash

    echo Program P1

    lsl

    P2.sh

    #! /bin/bash

    echo Program P2

    who

    P3.sh

    #! /bin/bash

    echo Program P3

    ps x

  • 8/10/2019 SistemOperasi_4611414043_Pertemuan8

    21/26

    Analisa: Buat file dengan perintah $ vi masukkan text diatas sesuai

    dengan nama filenya.

    b. Jalankan script tersebut sebagai berikut:

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

    $ ./p1.sh &

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

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

  • 8/10/2019 SistemOperasi_4611414043_Pertemuan8

    22/26

  • 8/10/2019 SistemOperasi_4611414043_Pertemuan8

    23/26

  • 8/10/2019 SistemOperasi_4611414043_Pertemuan8

    24/26

    Analisa: Untuk dapat menjalankan file file tersebut diperlukan untuk

    mengubah mode dari semua file menjadi executable dengan perintah $ chmod +x

    p1.sh p2.sh p3.sh. Pada praktikum diatas, perintah pertama digunakan untuk

    mengeksekusi file p1.sh, p2.sh dan p3.sh dengan urutan p1.sh, kemudian p3.sh

    lalu p2.sh. Perintah kedua digunakan untuk mengeksekusi file p1.sh dalam

    background, tetapi script bash tetap dijalankan. Perintah ketiga digunakan untuk

    menjalankan ketiga file dengan attribute p1.sh dalam foreground, p2.sh dan p3.sh

    dijalankan dalam background. Perintah keempat digunakan untuk menjalankan

    file p1.sh dan p3.sh dalam satu proses dan pada background.

    7. Jobs

    a. Buat file pwaktu.sh, dan masukkan script dibawah:

    #! /bin/bash

    while [ true ]

    do

    date >> hasil

    sleep 10

    done

    Analisa: Buat file pwaktu.sh dengan perintah $ vi pwaktu.sh.

  • 8/10/2019 SistemOperasi_4611414043_Pertemuan8

    25/26

    b. Jalankan pwaktu.sh sebagai background, kemudian masukkan perintah berikut:

    $ jobs

    $ find / -print > files 2>/dev/null &

    $ jobs

    Analisa: Buat file pwaktu menjadi executable dengan perintah $ chmod +x

    pwaktu.sh, jalankan pwaktu sebagai background dengan perintah $ ./pwaktu.sh &.

    Perintah $ jobsdigunakan untuk melihat program yang sedang berjalan. Jalankan

    salah satu program find sebagai background dengan perintah $ find / -print > files

    2>/dev/null &. Gunakan perintah jobs untuk memastikan kedua program berjalan.

    c. Jadikan program ke 1 menjadi foreground kemudian kembalikan ke background.

    Analisa: Untuk mengubah program ke 1 menjadi foreground gunakan perintah $

    fg %1, untuk menghentikan sementara tekan Ctrl+Z, untuk mengubahnya ke

    background kembali, gunakan perintah $ bg.

    d. Masukkan perintah $ ps xkemudian stop salah satu program background dengan

    perintah $ kill .

  • 8/10/2019 SistemOperasi_4611414043_Pertemuan8

    26/26

    Analisa: Perintah $ ps x digunakan untuk melihat semua proses yang sedang

    berjalan. Pilih salah satu proses yang akan dihentikan, hentikan dengan perintah $

    kill .

    KESIMPULAN

    Shell adalah suatu program yang di buat oleh user yang biasanya digunakan untukmemasukkan beberapa perintah secra bersamaan yang menunggu di compile dan akandijalankan sesuai sintak yang ada dalam shell bash. File .bash_logout, .bash_profile,.bashrc dan /etc/profile merupakan contoh dari file bash.

    Job control adalah sebuah program eksekusi yang diberikan kepada kernel.Eksekusi dalam job sama dengan eksekusi program, baik background maupunforeground.

    . Bash-script adalah file yang berisi koleksi program yang dapatdieksekusi. Untuk eksekusi bash script gunakan tanda . sebelum file bash-script yang

    berarti eksekusi shell dan tanda ./ berarti file bash-script berada pada direktori actual.

    Alias adalah utilitas untuk membuat shortcut untuk suatu perintah, sebagaicontoh, kita dapat mengubah del menjadi perintah yang sama dengan rm. Caranya denganperintah alias =, sebagai contoh kita akan menambah perintahdel pada system dengan fungsi sama seperti rmi. Perintahnya yaitu $ alias del=rm -i.