|
Pengenalan Shell Programing Dan Text Editor | Sistem Operasi Modul 6 Dan 7 |
A. TUJUAN
Menggunakan shell pada system operasi linux. Menggunakan pipeline, regular expression dan redirection. Menggunakan teks editor vi, dan mengerti fungsi dari tiap kunci yang ada dalam teks editor ini.
B. DASAR TEORI
Apa itu shell ? shell adalah program (penterjemah perintah) yang menjembatani user dengan sistem operasi dalam hal ini kernel (inti sistem operasi), umumnya shell menyediakan prompt sebagai user interface, tempat dimana user mengetikkan perintah-perintah yang diinginkan baik berupa perintah internal shell (internal command), ataupun perintah eksekusi suatu file progam (eksternal command), selain itu shell memungkinkan user menyusun sekumpulan perintah pada sebuah atau beberapa file untuk dieksekusi sebagai program.
C. Macam – macam shell
Tidak seperti sistem operasi lain yang hanya menyediakan satu atau 2 shell, sistem operasi dari keluarga unix misalnya linux sampai saat ini dilengkapi oleh banyak shell dengan kumpulan perintah yang sangat banyak, sehingga memungkinkan pemakai memilih shell mana yang paling baik untuk membantu menyelesaikan pekerjaannya, atau dapat pula berpindah-pindah dari shell yang satu ke shell yang lain dengan mudah, beberapa shell yang ada di linux antara lain:
- Bourne shell(sh),
- C shell(csh),
- Korn shell(ksh),
- Bourne again shell(bash), dsb.
Masing – masing shell mempunyai kelebihan dan kekurangan yang mungkin lebih didasarkan pada kebutuhan pemakai yang makin hari makin meningkat, untuk dokumentasi ini shell yang digunakan adalah bash shell dari GNU, yang merupakan pengembangan dari Bourne shell dan mengambil beberapa feature (keistimewaan) dari C shell serta Korn shell, Bash shell merupakan shell yang cukup banyak digunakan pemakai linux karena kemudahan serta banyaknya fasilitas perintah yang disediakan.
D. Pemrograman Shell
Yaitu menyusun atau mengelompokkan beberapa perintah shell (internal atupun eksternal command) menjadi kumpulan perintah yang melakukan tugas tertentu sesuai tujuan penyusunnya. Kelebihan shell di linux dibanding sistem operasi lain adalah bahwa shell di linux memungkinkan kita untuk menyusun serangkaian perintah seperti halnya bahasa pemrograman (interpreter language), melakukan proses I/O, menyeleksi kondisi, looping, membuat fungsi, dsb. adalah proses – proses yang umumnya dilakukan oleh suatu bahasa pemrograman, jadi dengan shell di linux kita dapat membuat program seperti halnya bahasa pemrograman, untuk pemrograman shell pemakai unix atau linux menyebutnya sebagai script shell.
E. Kebutuhan dasar Shell
Sebelum mempelajari pemrograman Bash shell di linux sebaiknya anda telah mengetahui dan menggunakan perintah – perintah dasar shell baik itu internal command yang telah disediakan shell maupun eksternal command atau utility, seperti
- cd, pwd, times, alias, umask, exit, logout, fg, bg, ls, mkdir, rmdir, mv, cp, rm, clear, …
- utilitas seperti cat, cut, paste, chmod, lpr,…
- redirection (cara mengirim output ke file atau menerima input dari file), menggunakan operator redirect >, >>, <, <<, contohnya:ls > data hasil ls dikirim ke file data, jika file belum ada akan dibuat tetapi jika sudah ada isinya akan ditimpa. ls >> data hampir sama, bedanya jika file sudah ada maka isinya akan ditambah di akhir file.
- cat <>
file data dijadikan input oleh perintah cat
- pipa (output suatu perintah menjadi input perintah lain), operatornya : | , contoh:ls -l | sort –s ouput perintah ls -l (long) menjadi input perintah sort -s (urutkan secara descending), mending pake ls -l -r saja 🙂 ls -l | sort -s | more cat databaru
- Wildcard dengan karakter *, ?, [ ], contohnya:ls i* tampilkan semua file yang dimulai dengan i ls i?i
tampilkan file yang dimulai dengan i, kemudian sembarang karakter tunggal, dan diakhiri dengan i
ls [ab]*
tampilkan file yang dimulai dengan salah satu karakter a atau b
Pipeline
Pipeline ( | ) adalah fasilitas di shell UNIX yang berfungsi untuk memberikan input dari suatu proses dari output proses yang lain. Tanda vertical ( | ) adalah tanda yang digunakan untuk pipeline. Penggunaan pipeline pada perintah-perintah Linux tidak terbatas. Misalkan sebagai contoh :
Sebelum kita gunakan pipeline. Formatnya:
$ find *
dead.letter
mbox
test
Setelah kita gunakan pipeline
$ find * | grep test
Test
Pada contoh pipeline di atas, mempunyai arti bahwa output dari perintah find menjadi input dari perintah grep yang kemudian hanya mengambil kata “test” dari output find.
Regular Expression
Regular expresion adalah cara untuk menentukan sebuah pola karakter untuk pencarian dan pemfilteran. Dengan regular expresion, kita tidak harus menentukan pola karakter yang eksak. Untukmenggunakan regular ekspression, kita harus mengenal karakter-karakter khusus yang memiliki arti tersendiri jika digunakan di dalam pola regular ekspression.
Karakter Arti
. Cocok dengan sembarang satu karakter
* Cocok dengan sembarang lebih dari satu karakter
^ Cocok dengan awal baris
$ Cocok dengan akhir baris
\< Cocok dengan awal kata
\> Cocok dengan akhir kata
[ ] Cocok dengan salah satu karakter yang terdapat di dalam kurung siku
[^ ] Cocok dengan salah satu karakter yang tidak terdapat pada kurung siku
\ Karakter selanjutnya akan dianggap literal
Redirection
Redirection dalam sistem unix dan Linux merupakan salah satu cara untuk melewatkan output dari suatu program ke program lain, dengan redirection kita bisa menyimpan output suatu file baik kedalam sebuah file atau diproses dengan program lain. Fasilitas redirection memungkinkan kita untuk dapat menyimpan output dari sebuah proses untuk disimpan ke file lain (Output Redirection) atau sebaliknya menggunakan isi dari file sebagai input dalam suatu proses (Input redirection). Komponen-komponen dari redirection adalah <, >, < <, > > Untuk lebih jelasnya akan di berikan contoh untuk masing-masing redirection :
o Output Redirection
Kita akan menggunakan perintah cat yang telah tersedia secara default di shell linux. Syntax-nya sbb $ cat >
Contohnya:
- Membuat File dengan nama test
$ cat > test
ini hanya sebuah test dari output redirection
- Melihat isi file test
$ cat test
ini hanya sebuah test dari output redirection
- Penambahan untuk file test
$ cat >> test
baris ini tambahan dari yang lama…
- Melihat kembali isi file test setelah ditambahkan beberapa kata
$ cat test
ini hanya sebuah test dari output redirection
baris ini tambahan dari yang lama…
Disini kita melihat bahwa output dari perintah cat akan di belokkan (redirect) ke sebuah file dengan nama test.
Pengeditan Perintah
Dengan bash shell, kita dapat mengedit suatu baris perintah cukup dengan tombol panah dan panah kanan pada keyboard. Setelah selesai mengedit, kita dapat langsung menekan tombol [ENTER] untuk menjalankan perintah.
History
Dengan bash shell, kita dapat memanggil kembali perintah-perintah yang pernah diketikkan sebelumnya dengan menggunakan tombol panah atas dan bawah pada keyboard. Setelah menemukan perinta yang dimaksud, kita dapat langsung menekan tombol [ENTER] untuk menjalankan perintah ini.
Editor vi
Editor VI (vee eye, dibaca vi ai) adalah editor berbasis text yang digunakan oleh banyak pemakai UNIX/LINUX. Editor ini pertama kali dikembangkan oleh William (Bill) Joy sewaktu ia menjadi graduate student di University of California at Berkeley pada tahun 1976.
Perintah “vi” adalah perintah di dalam shell linux untuk mengedit teks, kalau di dalam Windows pada shell MS-Dos dengan perintah “edit”. Yang keduanya hampir mempunyai kesamaan, perbedaannya di dalam dos bisa langsung dari windows dan dapat mouse dapat dijalankan tetapi di dalam vi mouse tidak bisa digunakan untuk memilih option tersebut seperti file, edit, help dll.
Editor VI memiliki dua mode, yaitu :
- Command mode (mode perintah) Editor vi mengintepretasikan input sebagai instruksi untuk dieksekusi oleh editor, contoh seperti mencari teks, mengganti teks secara otomatis dan lainnya.
- Insert mode (mode penyisipan) Editor vi mengintepretasikan input sebagai teks yang akan dimasukkan ke dalam bufer 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.
Pertama kali memulai editor VI, secara default kita menemukan Command mode (mode perintah). Untuk mengaktifkan insert mode kita tinggal mengetikkan huruf i. Bila kita menekan tombol [Escape], maka kita akan kembali ke mode perintah. Selain huruf i kita juga dapat menekan tombol insert.
Untuk memulai Editor VI kita dapat mengetikan perintah :
# > vi namafile.txt
Jika file namafile.txt ditemukan, maka editor akan membuka dokumen tersebut. Tetapi jika tidak ditemukan, maka editor VI akan membuat file baru dengan nama tersebut (namafile.txt) jika disimpan. Untuk itu jangan sampai salah mengetikkan nama sebuah file yang akan diedit.
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 Pindah kursor ke atas
L Pindah kursor ke bawah
O Menyisipkan teks (satu baris setelahposisi kursor)
i Menyisipkan teks (di sebelah kiriposisi kursor)
a Menyisipkan teks (di sebelah kananposisi kursor)
I (shift i) Menyisipkan teks (di posisi awalbaris)
A (shift a) Menyisipkan teks (di posisi akhirbaris)
Note : untuk keluar dari 5 model kunci insert diatas ( yaitu o, i, a,I, A) tekan ESC
KUNCI KETERANGAN
X Menghapus 1 huruf (di sebelah kananposisi kursor)
Dw Manghapus 1 kata (di sebelah kananposisi kursor)
Dd Menghapus 1 baris (di sebelah kananposisi 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 ditulisdi sebelah kanan posisi kursor dengan kata lain
Cc Mengganti 1 baris kalimat yang telahditulis di sebelah kanan posisikursor dengan kalimat lain
ctrl-b Mundur satu layar
ctrl-f Maju satu layar
ctrl-d Maju setengah layarB Menggerakkan kursor ke kiri satukata
W Manggerakkan kursor ke kanan satukata
^ Pergi ke awal baris
$ Pergi ke akhir baris
u Membatalkan perintah yang terakhir kali
U Membatalkan seluruh perubahan tekspada 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
o Meneruskan pencarian untuk arah yang sama
N Meneruskan pencarian untuk arah yang berbeda
Editor Nano
GNU Nano adalah text editor berbasis console atau terminal teks sederhana. Nano pada awalnya diciptakan untuk pengganti bebas UW Pico text editor non-bebas. Sehingga tampilan Nano dibuat semirip mungkin dengan Pico. Walaupun masih kalah kuat dengan text editor setingkat Vi/Vim dan Emacs tapi nano cukup diminati oleh pengguna Linux.
Ada satu hal yang membedakan Nano dari text editor lainnya, yaitu penggunaan “Shortcut” atau kombinasi tombol (seperti halnya dim sword) yang akan memudahkan kita dalam mengedit file. Shortcut ini sendiri dapat digunakan dengan cara menekan “Esc” duakali atau menekan “Ctrl” sambil menekanshortcut yang diinginkan.
Untuk membuka Nano sendiri kita dapat mengetikkan command “nano” pada terminal atau “nano ” jika ingin langsung membuat file baru.
Nano adalah text editor yang berjalan di system UNIX. editor ini tak seperti editor kebanyakan yang berjalan di tampilan visual jendela melainkan pada tampilan terminal, nano tidak berkerja menggunakan moouse , tetapi masih memiliki banyak fitur yang sangat powerfull. Untuk menginstall nano pada Linux Fedora tinggal mengetikkan di shell dengan perintah
Kebanyakan dari perintah nano, dipanggil dengan menekan tombol Ctrl (tombol kontrol), dan menekan salah satu kunci lainnya(tombol berikutnya). Dalam teks ini, kunci pengendalian menampilkan ^ . Sebagai contoh ^ X berarti, tahan tombol CTRL dan tekan kunci x .Sebagian besar perintah-perintah umum yang penting tercantum di bagian bawah terminal anda.
nano : untuk memulai
^G : untuk bantuan
^ R : untuk membaca file-file yang ada, ke editor nano (disisipkan pada posisi kursor)
^ T : untuk membuka browser yang memungkinkan anda, dapat memilih nama file dari daftar file dan direktori
Pada navigasi, mouse biasa yang berbasis point-and-klik tidak didukung oleh nano. Jadi untuk menggunakan arah kursor shape, Gunakan tombol panah untuk bergerak di sekitar halaman nano.
Navigasi Perintah yang lain:
^ A : pindah ke awal baris
^ E : pindah ke akhir baris
^ Y : bergerak ke bawah halaman
^ V : bergerak ke atas halaman
^ _ : Pindah ke baris tertentu
^ C : mengetahui apa garis kursor berada pada
^ W : mencari beberapa teks.
Hapus perintah.
^ D : untuk menghapus karakter saat ini di bawah kursor
BackSpace menghapus karakter saat ini di depan kursor
^ K : menghapus seluruh baris
^ \ : Mencari (dan mengganti)
Potong dan sisipkan
^ U : untuk digunakan untuk mensimulasikan memotong dan menyisipkan:
Menyimpan dan Keluar
^ O : untuk menyimpan isi tanpa keluar (Anda akan diminta nama filenya apa, dan menyimpannya di mana)
^ X : untuk keluar nano (nano meminta untuk menyimpan file, jika anda telah mengubah isi atau file tersebut belum tersimpan )
^ T : saat menyimpan file, dapat melihat daftar untuk memungkinkan anda dapat memilih nama file dan direktori penyimanan.
Gedit
Gedit adalah aplikasi default text-editor dari Ubuntu khususnya desktop gnome. Jika di windows anda mengenal notepad sebagai text-editor, maka di Ubuntu dikenal gedit. Sepintas hanya terlihat seperti text editor sederhana untuk editing dasar. Pada kenyataanya gedit lebih powerfull, selain sebagai peng-edit dokumen juga sebagai peng-edit source code bagi developers atau programmers karena menyediakan fitur-fitur serta plugins. Selain itu tampilan yang friendly user juga menjadi kelabihan text editor ini.
Untuk menjalankan gedit dapat melalui dua cara yaitu melalui GUI (Graphical User Interface) dari menu Application à Accecoris à Gedit Text Editor. Atau dapat juga diakses melalui terminal dengan mengetikkan command “gedit” atau “gedit untuk membuat langsung nama file.
Beberapa fitur berguna yang dimiliki gedit:
1) Dukungan penuh untuk teks yang ada didunia (UTF-8)
2) Sintaks highlighting yang bisa dikonfigurasi untuk berbagai macam bahasa seperti (C, C++,
Java, HTML, XML, Python, Perl dan masih banyak lagi\
3) Undo / Redo
4) Edit file secara remote
5) File reverting
6) Dukungan print dan print preview
7) Dukungan clipboard (cut/copy/paste)
8) Search dan replace
9) Menuju baris spesifik
10) Auto indentation
11) Teks rata (Align)
12) Penomoran baris
13) Highlinght (‘sorot’) baris saat ini
14) Pencocokan tanda kurung
15) Backup file
16) Font dan warna yang bisa dikonfigurasi
17) User manual online yang lengkap
Dengan fitur-fitur diatas gedit telah lebih dari sekedar text editor biasa. Namun, ada satu lagi letak kekuatan riil dari gedit yaitu Plugins. Gedit dilengkapi dengan plugins yang sangat membantu serta dapat ditambahkanm sesuai kebutuhan dari end user.
Untuk mengakses daftar dari plugins, pilih menu edit → preferences, dan pilih tab plugins. Anda bisa mengaktifkan atau men-disable serta konfigurasi plugins yang tersedia. Plugins gedit bisa ditambahkan dengan cara menginstall gedit-plugins, dengan menjalankan perintah di bawah ini melalui terminal. Sudo apt-get install gedit-plugins
Bagi Anda yang tidak memiliki akses internet, bisa mendownload plugins secara manual di gedit-plugins package (http://live.gnome.org/GeditPlugins). Di bawah ini ditunjukkan beberapa plugins yang umum digunakan dan memiliki fungsionalitas yang baik
Penjelasan beberapa plugins gedit antara lain :
- Snippets. Plugin ini dapat mempercepat kerja para programmer, snippets dapat memasukkan code yang sering digunakan pada gedit dengan cepat. Dengan menekan tombol pilihan snippets yang akan dimasukkan (tergantung text trigger yang diketikkan). Dalam plugin ini sudah tersedia snippets untuk beberapa bahasa pemrograman seperti css, javascript, html dan ruby. Anda juga dapat menambahkan sendiri snippets yang diinginkan, pilih menu Tools → Manage Snippets.
- File Browser. Ini merupakan plugin yang sangat baik, dengan menampilkan sebuah file browser di sidebar sebelah kiri , tekan F9 untuk mengaktifkan. Plugin ini hampir mirip file browser milik Dreamweaver atau Textmate. Plugin ini terkoneksi dengan nautilus (explorer gnome/ubuntu), artinya Anda bisa menghubungkannya melalui FTP, SFTP, SSH, Windows Share dan lain-lain. Anda hanya perlu mengaktifkan plugin ini, dengan cara yang telah dijelaskan di atas.
- Session Saver. Sebuah plugin yang sangat berguna, khususnya jika Anda bekerja pada suatu proyek dan memerlukan multiple file yang dibuka secara bersamaan. Dengan plugin ini session bisa di simpan (save) dan di load, dari menu File → Saved session.
- Color Picker. Bagi Anda yang sedang belajar web dan pemrogramannya atau seorang web developer. Mungkin plugin ini akan sangat berguna, tentunya akan terasa menyusahkan bila harus menemukan nilai hexa decimal suatu warna. Namun, dengan color picker ini anda cukup mengklik apapun di desktop dan anda akan segera melihat Hue, Saturation, Nilai RGB kode dan kode Hex untuk warna yang diklik sebelumnya. Klik tombol memasukkan dan warna itu akan dimasukkan.
- Document Words Completion. Plugin ini memiliki fungsionalitas sebagai auto-complete bagi gedit. Ketika Anda sedang mengetik, plugin ini akan melengkapi huruf yang barusan anda ketik, berdasarkan huruf yang muncul atau telah ada sebelumnya di dokumen yang sama. Anda dapat mengkonfigurasikannya ke auto-complete atau memberikan saran ketika menekan Ctrl+Enter.
Masih banyak lagi plugin yang disediakan oleh gedit, jika Anda adalah seorang yang selalu ingin mencoba sesuatu yang baru, anda bisa menemukan plugin-plugin yang sesuai bagi anda sendiri
PERCOBAAN
a. percobaan 1: menggunakan Shell
1. Buka editor vi atau nano simpan dengan berekstensi .sh
|
Pengenalan Shell Programing Dan Text Editor | Sistem Operasi Modul 6 Dan 7 |
2. Ketikan source code berikut
|
Pengenalan Shell Programing Dan Text Editor | Sistem Operasi Modul 6 Dan 7 |
b. Percobaan 2: menggunakan Shell
1. Buka editor vi atau nano simpan dengan berekstensi .sh
2. ketikan source code berikut
|
Pengenalan Shell Programing Dan Text Editor | Sistem Operasi Modul 6 Dan 7 |
Hasilnya:
|
Pengenalan Shell Programing Dan Text Editor | Sistem Operasi Modul 6 Dan 7 |
c. Percobaan 3: menggunakan vi
1. memulai vi
$ vi latihan
|
Pengenalan Shell Programing Dan Text Editor | Sistem Operasi Modul 6 Dan 7 |
2. Sisipkan teks sebagai awal dari editing.
|
Pengenalan Shell Programing Dan Text Editor | Sistem Operasi Modul 6 Dan 7 |
3. Sisipkan judul pada awal kalimat, diatas kalimat pertama. Gunakan kursor.
4. Sisipkan pada "kalimat kedua" dengan kata "yang" ditengah kedua kata tersebut
|
Pengenalan Shell Programing Dan Text Editor | Sistem Operasi Modul 6 Dan 7 |
5. Sisipkan kata pada awal baris kedua. Arahkan kursor ke awal baris dengan tanda ^ kemudian i untuk insert dan tulis "ini adalah".
|
Pengenalan Shell Programing Dan Text Editor | Sistem Operasi Modul 6 Dan 7 |
6. Arahkan kursor pada huruf p, lalu gunakan tombol R untun mengganti huruf dengan huruf yang diketik sampai <esc> ditekan Rawal yang ditulis <esc>
|
Pengenalan Shell Programing Dan Text Editor | Sistem Operasi Modul 6 Dan 7 |
7. Arahkan kursor ke depan kata "kalimat" (huruf K), kemudian gunakan intruksi cw, setelah itu tulis "Baris".
|
Pengenalan Shell Programing Dan Text Editor | Sistem Operasi Modul 6 Dan 7 |
8. Hasil yang diperoleh adalah.
|
Pengenalan Shell Programing Dan Text Editor | Sistem Operasi Modul 6 Dan 7 |
Kesimpulan
Dari praktikum ini dapat kta simpulkan bahwa kita dapat mengetahui macam-macam text editor pada linux, yaitu nano dan vi. terdapat perbedaan penggunnaan antara text editor vi dan nano. text editor vi ,merupakan text editor yang awal digunakan sehingga perintah-perintah untuk memasukan, menambahkan data nya sedikit sulit dipahami, dan sedikit sulit untuk melakukan text editing di text editor ini. hal ini berbanding terbalik dengan text editor nano yang mudah dipahami untuk penggunaannya dan tidak berbeda jauh dengan text editor yang berbasis GUI.
Daftar Pustaka