Pos

rt

Sistem Operasi – Bekerja Dengan Bash Shell (Praktikum)

Tujuan Praktikum:

  • 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.

 

BEKERJA DENGAN BASH SHELL

 

Tugas Pendahuluan:

Jawablah pertanyaan-pertanyaan di bawah ini:

1. Apa yang dimaksud dengan shell dan sebutkan shell yang ada di system operasi linux

2. Apa yang dimaksud dengan profile pada Bash Shell

3. Apa yang anda ketahui mengenai file .bashrc.

4. Apa yang dimaksud dengan history pada Bash Shell. Apa kegunaan perintah history, sebutkan cara-cara untuk mengetahui history peritah-perintah yang pernah digunakan oleh user!

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 katadan per baris), simpan file dan keluar dari editor vi.

JAWABAN:

1. Shell adalah Command executive, artinya program yang menunggu intruksi dari pemakai, memeriksa sintak dari instruksi yang diberikan, kemudian mengeksekusi perintah tersebut. Shell ditandai dengan prompt. Untuk pemakai menggunakan prompt $ dan untuk superuser menggunakan prompt #.
Beberapa macam shell:
• /bin/sh : Bourno shell, dirancang oleh Steve Bourne dari AT&T
• /bin/csh : Dikembangkan oleh UNIX Beerkeley yang dikenal dengan C -Shell
• /bin/bash : Kompatibel dengan Bourne Shell dan juga mengadaptasi kemampuan Kom-Shell.

2. Profile pada bash shell merupakan profil untuk setiap pemakai pada home directory.

3. File .bashrc adalah file yang akan dieksekusi untuk perpindahan dari satu shell ke shell yang lain melalui intruksi su

4. 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

LAPORAN RESMI

1. Analisa hasil percobaan yang anda lakukan
2. Kerjakan latihan diatas dan analisa hasil tampilannya
3. Berikan kesimpulan dari praktikum ini

Jawaban: Analisa Hasil Percobaan

1. Percobaan 1 : Profile

• File .bash_profile dijalankan pada home direktori pemakai yang login. File .bash_profile adalah hidden file, sehingga untuk melihatnya gunakan opsi a pada instruksi ls

1

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 .profile yaitu menampilakan sebuah informasi tentang peraturan yang berhubungan dengan .profile dimana terdapat pesan running bash dan private bin. Di dalam praktikum bagian ini kita menjumpai adanya pesan file not found pada saat mengakses .bash_profile, hal ini terjadi karena di sistem operasi linux distro redhat (fedora, dll) dan debian (debian, ubuntu, dll) tidak menyertakan file ini dalam system data mereka dan mengalihkan segala informasi tentang management user ke file .profile

• File .bash_logout akan dieksekusi sesaat sebelum logout, berfungsi sebagai house clearing jobs, artinya membersihkan semuanya, misalnya menghapus temporary file atau job lainnya.

2

Analisa: Tampilan diatas merupakan tampilan pada saat file .bash_logout akan dieksekusi sesaat sebelum logout, berfungsi untuk membersihkan job yang terdapat di terminal tersebut

2. Percobaan 2 : Menggunakan Feature History Bash

• Bash shell menyimpan “history” perintah yang digunakan sebelumnya. Anda dapat mengakses history dalam beberapa cara. Cara paling mudah adalah menggunakan Panah Atas. Maka perintah sebelumnya akan ditampilkan

3

Analisa: Dengan menggunakan panah atas maka pengguna akan lebih cepat untuk mengakses perintah yang sebelumnya sudah pernah dieksekusi dan mepersingkat waktu komputasi

• Berikutnya, berikan Bash shell beberapa perintah untuk diingat. Masukkan perintah berikut dan tekan enter pada setiap baris

4
5

Analisa: Tampilan diatas menampilkan jumlah file dan root yang sedang aktif. Dan menampilkan beberapa tipe file yang sudah menjadi executable, kemudian menampilkan pemakai yang sedang login dan terdapat waktu dan tanggal pada saat login.

• Untuk memeriksa apakah perintah ini ditambahkan pada history, dapat menggunakan perintah history untuk melihat semua perintah yang pernah dimasukkan

6
7

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.

• Anda dapat memilih 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, masukkan kunci! Diikuti nomor perintah

8

Analisa: Perintah ini digunakan untuk menampilkan perintah yang dipilih dan mengeksekusi perintah berdasarkan nomor yang diinputkan, masukkan keyword ! diikuti nomor perintah.

• Anda dapat mencari perintah dengan menyertakan perintah yang diinginkan. Misalnya !?etc?! akan menjalankan perintah ls –l /etc/ yang sebelumnya digunakan

9

Analisa: Perintah ini digunakan untuk mengeksekusi perintah yang pernah diinputkan dengan menyertakan keyword perintah yang diinginkan

• Kemudian gunakan perintah history, maka akan terlihat perintah ls –l /etc/yang kedua dan bukan !?etc?

10

Analisa: Yang terlihat ls –l /etc/ karena perintah ini mengandung keyword yang sesuai dengan kata kunci yang dimasukkan yaitu !?etc? pada daftar history

• Apabila string tidak ditemukan pada perintah history maka akan terdapat pesan error

11

Analisa: Terdapat pesan error karena kata kunci !?wombat99? tidak terdapat pada beberapa list yang dikandung dalam history karena sebelumnya kita tidak pernah mengeksekusi keyword tersebut

• Jia diketikkan !who maka yang dijalankan adalah perintah who. Tetapi bila anda ketikkan !whoa maka yang dijalankan adalah perintah whoami

12

Analisa: Keyword !who ada kesamaan dengan perintah keyword yang dicari yaitu who, dan keyword !whoa ada kesamaan dengan perintah keyword yang dicari yaitu whoami

• Anda bisa menggantikan 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 peritnah yang panjang lagi, tetapi cukup ketik ^shell^alias^ dan tekan Enter maka akan menggantikan kata “shell” dengan “alias”.

13
14
15
16
17

Analisa: cat /bin/bash | strings | grep shell | less akan menampilkan semua string pada file /bin/bash yang berisi kata “shell”. Jika ingin menampilkan kata “alias”, maka cukup ketik ^shell^alias^ dan perintah akan menggantikan kata “shell” dengan “alias”.

3. Percobaan 3 : Mengubah Feature History Bash

• 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

18

Analisa: Karena file .bash_history terdapat dalam direktori home maka jika kita ingin melihat file ini kita harus berpindah direktori aktif ke direktori home dengan cara mengetikkan perintah cd (change directory) untuk berpindah direktori

• Lihat beberapa baris pada file .bash_history dengan ketik tail .bash_history dan tekan Enter. File ini bukan file yang up to date.

19

Analisa: Perintah ini digunakan untuk menampilkan beberapa baris pada file .bash_history, file ini merekam perintah-perintah yang user masukkan namun hanya perintah-perintah yang berhubungan dengan management user dan system

• 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 system.

20

Analisa: Perintah ini digunakan untuk menampilkan baris terakhir pada history dan perintah sebelum history dieksekusi adalah tail .bash_history. File history merekam semua perintah yang user eksekusi mulai dari perintah umum hingga perintah yang berhubungan dengan system

• Ketik perintah berikut

21

Analisa: Perintah diatas digunakan untuk memasukkan argument yang diketikkan user dalam hal ini kita mencontohkan mengetikkan kalimat “ini perintah saya” dan dilanjutkan dengan menampilkan kalimat yang diketikkan tadi di layar

• 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 tersebut akan terdapat pada file .bash_history

22
23
24
25

Analisa: Perintah diatas merupakan perintah untuk menampilkan isi history baik melalui perintah history maupun perintah .bash_history, perbedaannya hanya terdapat pada management yang ditangani kedua file tersebut. Pada history mencakup semua keyword yang dimasukkan user namun pada .bash_history hanya keyword yang berhubungan dengan management user dan management system

• Ketik history|less untuk melihat perintah history terakhir pada screen. Tekan spacebar untuk melihat file lebih banyak. Untuk keluar tekan q

26
27

Analisa: Perintah di atas digunakan untuk melihat perintah history terakhir pada screen. Kita dapat menekan spacebar untuk melihat file lebih banyak dan menekan q untuk keluar

• Untuk melihat berapa banyak perintah history yang ada pada file ketik perintah berikut dan output yang keluar serupa di bawah ini

28

Analisa: Perintah di atas untuk melihat berapa banyak perintah yang sudah di tampung history yang ada pada file .bash_history, pada contoh diatas banyaknya perintah yang sudah ditampung sebanyak 596 keyword

• Output menunjukkan bahwa 1000 perintah history disimpan pada file history. Untuk melihat jangkauan (limit) perintah history digunakan variable HISTSIZE. Untuk melihat jangkauan history ketik perintah sebagai berikut

29

Analisa: Perintah di atas digunakan untuk melihat jangkauan dari perintah history yang dapat disimpan dan ternyata jangkauan jumlah perintah yang dapat disimpan oleh history yaitu 1000 perintah (default pada umumnya)

• Bila ingin memperbesar jangkauan file history, maka ubahlah variable HISTSIZE pada skrip startup yang disebut .bashrc pada home directory

30

Analisa: Perintah di atas digunakan untuk memperbesar jangkauan file history yaitu dari 1000 (default) menjadi 5000 (custom). Setelah mengetikkan perintah di atas user perlu log out dan log in kembali agar variabel HISTSIZE berubah.

• Log out dan log in kembali sebagai user yang sama. Lihat perubahan variabel HISTSIZE.

31
32
33

Analisa: Setelah logout dan login kembali jumlah jangkauan perintah yang dapat disimpan history bertambah menjadi 5000

• Ketikkan perintah history beberapa kali, maka perintah ini akan disimpan pada BASH history meskipun yang diketikkan perintahnya sama.

34
35

Analisa: Perintah history apabila diketikkan berulang kali sebanyak apapun maka di file .bash_history hanya akan bernilai 1 perintah dan tidak disimpan dalam beberapa baris yang berbeda

• 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

36

Analisa: Perintah di atas merupakan tampilan konfigursi bash agar tidak menambah perintah ke history jika perintah yang di ketikan sama dengan yang sebelumnya

• Log out dan log in kembali sabagai user yang sama. Ketikkan history beberapa kali dan perhatikan berapa kali history muncul

37

Analisa: Perintah history apabila diketikkan berulang kali sebanyak apapun maka di file .bash_history hanya akan bernilai 1 perintah dan tidak disimpan dalam beberapa baris yang berbeda sehingga jumlah baris perintah yang sudah ditampung adalah sama

 

4. Percobaan 4 : Mengubah Prompt Shell

• Prompt Bash shell dikonfigurasi dengan men-setting nilai variabel PS1. Selain menampilkan string static sebagi prompt, anda dapat menampilkan menjadi dinamis. Contohnya, apabila ingin menunjukkan current directory atau current time. Ketik PS1=’\t:’ dan tekan Enter untuk menampilkan waktu system dalam format 24 jam sebagai prompt Bash. Format dalam HH:MM:SS

39

Analisa: Perintah di atas digunakan untuk menampilkan waktu system dalam format 24 jam, dalam contoh diatas waktu yang ditampilkan adalah jam 12 menit 36 dan detik 17

• Untuk menampilkan format 12 jam dengan indikator am dan pm

39

Analisa: Perintah di atas digunakan untuk menampilkan waktu system dalam format 12 jam, dalam contoh diatas waktu yang ditampilkan adalah jam 12 menit 39 dan detik 20

• Kebanyakan orang menginginkan prompt Bash menampilkan current working directory. Directory dapat ditampilkan dalam bentuk keseluruhan path atau hanya nama directory. Karakter \w menampilkan hanya nama directory. Jika current directory adalah home directory, maka tampilan prompt ~:

40

Analisa: Perintah di atas digunakan untuk menampilkan direktori namun hanya nama directory-nya saja, tidak beserta nama localhost dan user yang sedang aktif

• Ketik cd /usr/sbin untuk melihat prompt /usr/sbin:

41

Analisa: perintah di atas digunakan untuk berpindah direktori dari direktori ~ menuju direktori /usr/sbin namun dalam bentuk prompt karena user sedang aktif sebagai ~

• Ketik PS1=’\W:’ untuk melihat prompt sbin:

42

Analisa: Perintah di atas digunakan untuk melihat prompt sbin dimana user sedang aktfi sebagai ~

• Ada beberapa prompt BASH lain yang dapat diubah, yaitu PS2, PS3 dan PS4. Prompt PS2 digunakan sebagai prompt sekunder. Untuk melihat bagaimana penggunaanya, 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.

43

Analisa: Perintah di atas digunakan untuk memasukkan kata Hello melalui beberapa prompt BASH yaitu PS2 dan PS1 yang sedang berada di prompt direktori /usr/sbin

• Anda dapat mengubah prompt PS2 seperti mengubah prompt PS1.

44

Analisa: Perintah di atas digunakan untuk memasukkan argument melalui metode prompt BASH PS2, dalam contoh diatas argument yang dimasukkan melalui prompt BASH PS2 adalah ‘Selesai memasukkan perintah Anda:’

• 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

45

Analisa: Perintah di atas digunakan untuk memasukkan kata Hello melalui beberapa metode prompt BASH yaitu PS2 dan PS1 dimana kita sedang aktif di direktori /usr/sbin dan aktif sebagai ~

• 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:

46

Analisa: Perintah di atas digunakan untuk mengubah tampilan warna pada prompt BASH menjadi warna biru, namun keyword yang kita ketikkan tetap berwarna putih

• Untuk mendapatkan prompt warna merah ketikkan berikut:

47

Analisa: Perintah di atas digunakan untuk mengubah tampilan warna pada prompt BASH menjadi warna merah, namun keyword yang kita ketikkan tetap berwarna putih

• Bila mengingnkan beberapa warna, ketikkan perintah berikut:

48

Analisa: Perintah di atas digunakan untuk mengubah tampilan warna pada prompt BASH menjadi warna kolaborasi yaitu warna merah dan warna hijau, namun keyword yang kita ketikkan tetap berwarna putih

• 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:

49

Analisa: Perintah di atas digunakan untuk mengubah tampilan warna pada prompt BASH menjadi warna biru yang lebih terang dan warna hijau yang lebih terang, namun keyword yang kita ketikkan tetap berwarna putih

• Untuk menampilkan prompt dengan warna berkebalikan, atribut control diganti 7, seperti perintah berikut:

50

Analisa: Perintah di atas digunakan untuk mengubah tampilan warna pada prompt BASH menjadi warna biru pada warna latarnya dan warna transparan pada warna hurufnya, namun keyword yang kita ketikkan tetap berwarna putih

• Untuk menampilkan prompt berkedip, atribut control diganti 5, seperti perintah berikut:

51

Analisa: Perintah di atas digunakan untuk mengubah tampilan warna pada prompt BASH menjadi warna kolaborasi yaitu warna biru dan warna hijau, namun keyword yang kita ketikkan tetap berwarna putih

 

5. Percobaan 5 : Menambahkan otomatisasi ke Prompt Shell

• Pastikan anda berada di home directory

52

Analisa: Perintah di atas digunakan untuk mengubah direktori aktif ke home direktori dari ~

• Buatlah skrip sederhana untuk mengurut daftar file. Anda dapat menggunakan teks editor, tetapi karena hanya satu baris, gunakan perintah echo untuk membuat file

53

Analisa: Perintah di atas digunakan untuk mengurutkan daftar file dan perintah echo untuk membuat file

• Buatlah file skrip diatas menjadi file executable

54

Analisa: Perintah di atas digunakan untuk mengubah file skrip menjadi file executable

• Jalankan program sorter diatas setiap shell Bash menampilkan prompt PS1. Untuk melakukannya, buatlah variabel PROMPT_COMMAND dimana nilainya adalah nama dari program sorter.

55

Analisa: Perintah di atas digunakan untuk mengurutkan daftar file list, namun perintah menjadi error dikarenakan kita belum membuat file atau direktori bernama list

• 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

56

Analisa: perintah di atas digunakan untuk membuat file bernama list dan memasukkan argument ‘John Smith:13001 di dalamnya

• 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.

57

Analisa: Perintah di atas digunakan melihat isi file list yang isinya John Smith:13001

• Masukkan beberapa perintah serupa dengan point 5 tetapi dengan nama dan nomor yang berbeda. Kemudian ketik cat list dan tekan Enter.

58

Analisa: Perintah di atas digunakan untuk memasukkan beberapa argument ke dalam file list dengan tambahan perintah cat list untuk melihat isi file list yang sudah ditambahkan beberapa argument sebelumnya

• Apabila anda tidak menginginkan Shell Bash menampilkan file terurut sepanjang waktu, anda tidak perlu menambahkan variabel PROMPT_COMMAND=~/sorter pada file konfigurasi seperti .bashrc. Bila anda ingin BASH berhenti menjalankan program sorter, maka ketikkan variabel PROMPT_COMMAND= dan tekan Enter atau log out dan login kembali.

59

Analisa: Perintah di atas digunakan agar BASH berhenti menjalankan program sorter

6. Percobaan 6: Membuat Bash-Script dan menjalankannya

• Membuat file p1.sh

60
61

Analisa: Perintah di atas digunakan untuk membuat file script bernama p1.sh menggunakan teks editor vi yang isinya echo “program bash Script”

• Mengubah program menjadi executable

62

Analisa: Perintah di atas digunakan untuk mengubah file p1.sh menjadi file executable sehingga nantinya file ini dapat dieksekusi oleh bash

• Menjalankan script

63

Analisa: Perintah di atas digunakan untuk mengeksekusi file p1.sh yang sudah menjadi file executable, ada banyak cara mengeksekusi file executable yaitu diantaranya: bash p1.sh, sh p1.sh, .p1.sh dan ./p1.sh

• Konvensi dalam pembuatan script shell dinyatakan sebagai #! /bin/bash. Tambahkan pada file p1.sh konvensi tersebut

64
65

Analisa: Perintah di atas digunakan untuk menambahkan konvensi pada file p1.sh melalui editor vi, konvensi yang dimasukkan yaitu #! /bin/bash

• Buatlah file p2.sh

66
67

Analisa: Perintah di atas digunakan untuk membuat file p2.sh dengan cara mengcopy file p1.sh dimana isi kedua file tersebut adalah sama dan kita hanya perlu mengubah namanya dari p1.sh menjadi p2.sh dalam metode pengcopyannya yaitu melalui keyword cp p1.sh p2.sh

• Menjalankan beberapa program shell dalam satu baris instruksi yang dipisahkan dengan tanda ;

68

Analisa: Perintah di atas digunakan untuk melihat isi file p1.sh dan p2.sh sekaligus yang dipisahkan dengan tanda ; (semicolon) , tanda ini digunakan untuk melakukan eksekusi banyak perintah sekaligus (multitasking). Setelah itu kita mengeksekusi script dari file p1.sh dan p2.sh secara bersamaan

 

7. Percobaan 7 : Job Control

• Proses foreground

69

Analisa: Perintah di atas digunakan untuk melihat proses yang sedang berjalan di latar depan

• Proses background

70

Analisa: Perintah di atas digunakan untuk menginputkan daftar proses yang berjalan di latar depan ke dalam file bernama hasil yang dieksekusi melalui latar belakang. Ps x mengartikan latar depan dan tanda & mengartikan latar belakang

• Setiap job mempunyai PID yang tunggal (unique). Untuk melihat jobs yang aktif

71

Analisa: Perintah di atas digunakan untuk melihat jobs atau pekerjaan yang sedang aktif. Pada contoh di atas jobs yang sedang aktif adalah pembelokan daftar proses di latar depan ke dalam file bernama hasil

• Buatlah file plop.sh. file ini tidak akan pernah berhenti kecuali ditekan Ctrl-C

72
73

Analisa: Perintah di atas digunakan untuk membuat file ploop.sh melalui teks editor vi yang isinya memuat output kata “Hallo” dimana kata akan dimunculkan setelah delay selama 10 detik setelah file ploop.sh dieksekusi

• Buatlah file ploop.sh menjadi executable. Jalankan program, akan ditampilkan kata Hallo setiap 10 detik. Untuk keluar program, tekan Ctrl-C (^C)

74
75

Analisa: Perintah di atas digunakan untuk mengubah file ploop.sh menjadi file executable sehingga file script tersebut nantinya dapat dieksekusi melalui bash dengan perintah ./ploop.sh

 

8. Percobaan 8 : Manipulasi Stack untuk Direktori

• Instruksi dirs digunakan untuk melihat stack direktori, pada output h ditampilkan direktori home ~

76

Analisa: Perintah di atas digunakan untuk melihat tumpukan yang ada di direktori aktif, pada contoh di atas direktori aktif sedang berada di ~

• Membuat 3 buah direktori

77

Analisa: Perintah di atas digunakan untuk membuat 3 buah direktori sekaligus yaitu marketing, sales dan support

 

9. Percobaan 9 : Alias

• Alias adalah mekanisme untuk memberi nama alias pada satu atau sekelompok instruksi. Untuk melihat alias yang sudah terdaftar pada system:

78

Analisa: Perintah di atas digunakan untuk melihat daftar nama alias (nama samaran) pada satu atau sekelompok instruksi

• Membuat beberapa alias

79

Analisa: Perintah di atas digunakan untuk membuat alias, contohnya yaitu kita ingin membuat alias del yang saat kita mengetikkan kata del maka seolah-olah kata del adalah suatu perintah ‘rm –i’ yaiut untuk menghapus file dan kita juga ingin membuat alias h yang saat kita mengetikkan huruf h maka seolah-olah huruf h adalah suatu perintah ‘history’

• Gunakan instruksi hasil alias

80

Analisa: Perintah di atas digunakan untuk menguji apakah alias yang sudah kita buat sebelumnya dapat berjalan ataukah tidak, pada contoh di atas kita ingin menghapus file hasil yang terdapat di direktori home. Kita cukup mengetikkan del hasil yang artinya menghapus file hasil dengan alias del. Kemudian kita menguji juga apakah alias h berjalan atau tidak, dimana alias h adalah perintah yang digunakan untuk menampilkan history dan ternyata kedua alias yang sudah kita buat sebelumnya dapat berjalan sukses

• Untuk menghapus alias gunakan instruksi unalias

81

Analisa: Perintah di atas digunakan untuk menghapus alias yang sudah kita buat sebelumnya yaitu alias del (untuk menghapus file) sehingga nantinya perintah ini sudah bukan lagi alias untuk menghapus file. Pada saat kita kembali mencoba menghapus file menggunakan alias del files hal ini akan menimbulkan error command not found karena sebelumnya kita sudah menghapus kata del dari daftar alias

 

Jawaban : Latihan dan Analisa

1. Eksekusi seluruh profile yang ada:
a. Edit file profile /etc/profile dan tampilkan pesan sebagai berikut:

82

Analisa: Perintah di atas digunakan untuk menampilkan pesan ‘profile dari /etc/profile’ menggunakan keyword echo

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

83

Analisa: Perintah di atas digunakan untuk mengecek ketersediaan file pada direktori yang ingin kita akses dan ternyata file .bash_profile dan .bash_login tidak tersedia pada file system linux Ubuntu dan yang tersedia hanyalah file .profile dan .bashrc

c. Ganti nama /home/student dengan nama anda sendiri. Pada setiap file tersebut, cantumkan instruksi echo, misalnya pada /home/student/.bash_profile:

84
85

Analisa: Perintah di atas digunakan untuk melakukan serangkaian tugas secara bersamaan yaitu membuka file .bash_profile yang dimiliki user prince46 melalui teks editor nano dan mengetikkan kata “profile dari .bash_profile” di dalamnya

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

86

Analisa: Perintah-perintah tersebut digunakan untuk mengedit file profile dan mengasumsikan home dengan nama kita sendiri serta menyisipkan suatu perintah dengan echo pada perintah nano di setiap file profilenya dan menampilkan hasil dari sisipan yang dilakukan.

 

2. Jalankan instruksi substitute user, kemudian keluar dengan perintah exit sebagai berikut:

87

Kemudian gunakan opsi – sebagai berikut:

88

Analisa: Perintah di atas digunakan untuk masuk ke super user kemudian kita keluar dari super user menggunakan perintah exit dan masuk kembali ke user prince46 menggunakan keyword su – prince46 setelah itu kita logout dari user prince46 dengan keyword exit

Jelaskan perbedaan kedua utilitas tersebut

Analisa: su merupakan perintah yang berfungsi untuk memasukkan perintah dalam user. Perbedaan nya hanyalah terletak pada bagian proses keluar. Jika user memasukan perintah “su username. Maka user akan diminta untuk mealakukan login, dan ketika perintah exit dimasukan, user akan langsung dikeluarkan tanpa proses logout. Artinya ketika keluar, program masih berjalan. Untuk perintah yang kedua, su – username. Ketika dilakukan exit, sistem akan melakukan logout terlebih dahulu, dalam artikata lain semua program yang berjalan akan di hentikan.

 

3. Logout

a. Edit file .bash_logout, tampilkan pesan dan tahan selama 5 detik, sebelum eksekusi logout

89

Analisa: Perintah di atas digunakan untuk membuka file .bash_logout yang terdapat pada user prince46 menggunakan perintah nano dan memasukkan pesan teks “Terima kasih atas sesi yang diberikan” di dalamnya dan menahan pesan tersebut selama 5 detik sebelum eksekusi logout

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

90

Analisa: Perintah-perintah tersebut merupakan perintah yang berfungsi untuk melakukan edit pada file bash_logut, digunakan perintah “nano”. Setelah itu maka akan muncul tampilan shell yang digunakan untuk mengedit file tersebut. User hanya memasukan string yang ber tuliskan. ”Terima kasih atas sesi yang telah diberikan”. Setelah itu dilakukan edit pada bagian metode penampilan script tersebut setelah user melakukan logout. Sesi pertama adalah dilakukan sleep 5 detik, sesi kedua dilakukan sleep 4 detik kemudian clear. Hasil akhir ketika user memasukan perintah exit, progam akan menampilkan string yang telah dipasangkan tadi.

 

4. History

a. Ganti nilai HISTSIZE dari 1000 menjadi 20

91

Analisa: Perintah-perintah tersebut digunakan untuk mengganti nilai HISTSIZE dari 1000 menjadi 20 dan melakukan pembelokkan ganda nilai HISTSIZE 20 ke file bernama .bashrc

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

92

Analisa: Perintah di atas digunakan untuk mengedit instruksi baris ke 5 dari instruksi yang terakhir dilakukan yaitu sebelum instruksi set|grep HISTSIZE=20

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

93

Analisa: Perintah di atas digunakan untuk mengulangi instruksi yang terakhir dilakukan yaitu echo ‘HISTSIZE=20’ >>.bashrc

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

94

Analisa: Perintah di atas digunakan untuk mengulangi instruksi pada history buffer nomor 120 yaitu terdapat perintah wc –l .bash_history yang apabila dieksekusi akan menampilkan output berupa 100 .bash_history

e. Ulangi instruksi dengan prefix “ls”

95

Analisa: Perintah di atas digunakan untuk mengulangi instruksi namun dengan menggunakan prefix ‘”ls” dan yang ditampilkan adalah alamat dari keberadaan file .profile yang berada di direkotri /home/prince46/.profile

Jelaskan perbedaan instruksi di atas
Analisa: Perbedaan instruksi di atas terdapat pada keyword yang diinputkan dan maksud dari keyword yang diinputkan. Jika mengetikkan !ls (keyword akan mencari kata pada daftar history yang berhubungan dengan kata ls termasuk daftar direktori dari user), jika mengetikkan !?ls? (keyword akan mencari kata pada daftar history dan .bash_history yang berhubungan dengan kata yang mengandung ls di dalamnya mulai dari direktori yang ada pada user hingga daftar history system yang pernah diakses user)

 

5. Prompt String (PS)

a. Edit file .bash_profile, ganti prompt PS1 dengan ‘>’. Instruksi export diperlukan dengan parameter nama variabel tersebut, agar perubahan variabel PS1 dikenal oleh semua shell

96

Analisa: Perintah di atas digunakan untuk mengeksport prompt PS1 dimana instruksi export memerlukan parameter nama variabel yaitu export PS1 agar perubahan variabel PS1 dikenal oleh semua shell

Eksperimen hasil PS1:

97

Analisa: Perintah di atas merupakan hasil eksperimen pada prompt PS1 dimana kita mencoba untuk mengetahui: jumlah perintah yang sudah terdaftar di history, mengetahui date (tanggal) hari ini, mengetahui waktu sekarang dan mengetahui user saya sebagai user yang sedang aktif yaitu user prince46

b. Ubahlah warna shell prompt dengan warna biru dan berkedip

98

Analisa: Perintah di atas digunakan untuk mengubah warna shell prompt menjadi warna biru dan berkedip. Kode warna biru adalah 34 dan kode untuk berkedip adalah 5 pada controller

6. Bash Script
a. Buat 3 buah script p1.sh, p2.sh, p3.sh dengan isi masing-masing:
p1.sh

99
100

Analisa: Perintah di atas digunakan untuk membuat script p1.sh melalui teks editor nano yang nantinya akan menampikan kata “Program p1” kemudian menampilkan daftar file yang ada di direktori aktif

p2.sh

101
102

Analisa: Perintah di atas digunakan untuk membuat script p2.sh melalui teks editor nano yang nantinya akan menampikan kata “Program p2” kemudian menampilkan nama pengguna yang sedang aktif

p3.sh

103
104

Analisa: Perintah di atas digunakan untuk membuat script p3.sh melalui teks editor nano yang nantinya akan menampikan kata “Program p3” kemudian menampilkan daftar proses yang sedang berjalan di latar depan

b. Jalankan Script tersebut sebagai berikut dan perhatikan hasilnya:

105

Analisa: Perintah-perintah di atas digunakan sebelum kita mengeksekusi file p1.sh yang akan kita rubah terlebih dahulu menjadi file executable agar nantinya file ini dapat dieksekusi. Perintah untuk mengubah file p1.sh menjadi file executable adalah chmod +x p1.sh

106

Analisa: Perintah-perintah di atas digunakan sebelum kita mengeksekusi file p2.sh yang akan kita rubah terlebih dahulu menjadi file executable agar nantinya file ini dapat dieksekusi. Perintah untuk mengubah file p2.sh menjadi file executable adalah chmod +x p2.sh

107

Analisa: Perintah-perintah di atas digunakan sebelum kita mengeksekusi file p3.sh yang akan kita rubah terlebih dahulu menjadi file executable agar nantinya file ini dapat dieksekusi. Perintah untuk mengubah file p3.sh menjadi file executable adalah chmod +x p3.sh

108
109
110

Analisa: Perintah-perintah di atas adalah perintah-perintah yang digunakan untuk mengeksekusi sebuah file script secara bersamaan yang dipisahkan menggunakan tanda semicolon (;). Urutan eksekusi di atas dimulai dari file p1.sh kemudian p3.sh dan terakhir p2.sh dan menampikan hasil eksekusi ketiganya ke layar

111

Analisa: Perintah di atas digunakan untuk mengeksekusi file script p1.sh di latar belakang yang ditandai dengan tanda & dibelakang perintahnya dan ketika kita mengetikkan keyword Program p1 maka output yang keluar adalah daftar file yang terdapat pada direktori aktif

112

Analisa: Perintah di atas digunakan untuk mengeksekusi ketiga file script secara bersamaan yaitu file p1.sh dieksekusi terlebih dahulu pada shell kemudian dilanjutkan dengan mengeksekusi file p2.sh pada latar belakang dan dilanjutkan dengan mengeksekusi file p3.sh pada latar belakang juga dan menampikan hasil output ketiganya ke layar

113
114

Analisa: Perintah di atas digunakan untuk mengeksekusi file p1.sh dan p2.sh secara bersamaan di latar belakang dan ketika user mengetikkan keyword Program p1 maka akan menampilkan hasil output berupa daftar file pada direktori aktif

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

115
116

Analisa: Perintah di atas digunakan untuk membuat file bernama pwaktu.sh dengan menggunakan teks editor nano dan mengisi file tersebut dengan perintah berupa perulangan dimana setiap 10 detik file pwaktu.sh akan menyimpan tanggal dan jam pada file bernama hasil

b. Jalankan sebagai background; kemudian jalankan satu program (utilitas find) di background sebagai berikut:

117

Analisa: Perintah-perintah di atas digunakan sebelum kita mengeksekusi file pwaktu.sh yang akan kita rubah terlebih dahulu menjadi file executable agar nantinya file ini dapat dieksekusi. Perintah untuk mengubah file pwaktu.sh menjadi file executable adalah chmod +x pwaktu.sh

118
119

Analisa: Perintah di atas digunakan untuk mengeksekusi file script pwaktu.sh di latar belakang dan melihat isi file hasil yang isinya berupa date (tanggal dan waktu sekarang). Kemudian kita mengetikkan perintah jobs untuk melihat pekerjaan yang sedang berjalan yaitu pengeksekusian file script pwaktu.sh di latar belakang. Setelah itu kita menggunakan keyword find untuk mencari dan menampikan isi baris 2 dari file bernama files yang dieksekusi di latar belakang. Kemudian yang terakhir kita kembali mengetikkan perintah jobs untuk melihat pekerjaan yang sedang berjalan yaitu pengeksekusian file script pwaktu.sh di latar belakang dan pengeksekusian utilitas find yang dilakukan di latar belakang juga

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

120

Analisa: Perintah di atas digunakan untuk menjalankan program ke 1 di latar depan dan kemudian kita mengembalikan program tersebut kembali berjalan di latar belakang

d. Stop program background dengan utilitas kill

121
122

Analisa: Perintah di atas digunakan untuk melihat daftar proses yang berjalan di latar depan dan dilanjutkan dengan perintah kill untuk mematikan proses yang sedang berjalan dimana pada contoh di atas kita memilih mematikan proses yang memiliki nomor PID 2438 dengan mengetikkan keyword kill 2438

 

Kesimpulan:

• Shell adalah Command executive, artinya program yang menunggu intruksi dari pemakai, memeriksa sintak dari instruksi yang diberikan, kemudian mengeksekusi perintah tersebut. Shell ditandai dengan prompt. Untuk pemakai menggunakan prompt $ dan untuk superuser menggunakan prompt #
• Profile pada bash shell merupakan profil untuk setiap pemakai pada home directory
• File .bashrc adalah file yang akan dieksekusi untuk perpindahan dari satu shell ke shell yang lain melalui intruksi su
• 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
• Perintah shell dapat dieksekusi asalkan dirubah terlebih dahulu menjadi file executable
• Cara eksekusi file shell yaitu bash, sh, ., dan ./
• Syntax di linux dapat dibuat alias command
• Masa berlaku background proses sampai komputer restart atau shutdown
• Apabila komputer hanya di logout maka background proses masih tetap berjalan

 

Jika anda ingin mengajukan pertanyaan seputar artikel terkait, silahkan masukkan pada kolom komentar. Anda dapat mengunduh Materi Lengkap dari artikel terkait dengan mengklik button download di bawah ini

[lockercat]

[/lockercat]