Praktikum
1
Perintah Dasar Shell
A. T U J U A N 1. Menggunakan Pipeline untuk mengetahui hasil keluaran suatu proses program yang diberikan sebagai input pada proses lainnya. 2. Menggunakan Regular Expression dengan menentukan sebuah pola karakter untuk pencarian dan pemfilteran. 3. Menggunakan Redirection untuk membelokkan standart input, standart output dan standart error menuju ke tujuan lain.
B. DASAR TEORI 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. Perintah-peritah yang diketikkan oleh user dari input standart yaitu keyboard akan ditafsirkan oleh shell, jika yang diketikkan oleh user merupakan program yang dapat di eksekusi maka shell akan menjalankan program tersebut. Contoh : $ ls test
1
$ hello bash: hello: command not found $ Berdasarkan contoh diatas dapat dilihat bahwa ketika user mengetikan ls maka program ls dijalankan, sedangkan apabila user mengetikkan dan
program
hello
memang
tidak
ada
maka
shell
tidak
hello dapat
mengeksekusinya. Pengeditan Perintah Dengan bash shell, user dapat mengedit suatu baris perintah cukup dengan tombol panah kiri dan panah kanan pada keyboard. Setelah selesai mengedit, hanya dengan menekan tombol [ENTER] untuk menjalankan perintah. Pipeline Pipeline dengan tanda vertical bar ( | ) adalah fasilitas di shell UNIX yang berfungsi untuk memberikan input dari suatu proses yang brasal dari output proses yang lain. Misalkan sebagai contoh : •
Sebelum kita gunakan pipeline $ find * dead.letter mbox test
•
Setelah kita gunakan pipeline $ find * | grep test test $
Pada contoh diatas output perintah find menjadi input dari perintah grep yang kemudian hanya mengambil kata “test” dari output find. Regular Expression Regular Expression adalah cara untuk menentukan sebuah pola karakter untuk pencarian dan pemfilteran. Pola karakter yang eksak atau karakter-karakter khusus yang memiliki arti tersendiri. Penggunaan karakter khusus dalam pola regular exspression dapat dilihat pada tabel 1.
2
Tabel 1. Karakter khusus dalam pola regular exspression Karakter
Arti
.
Cocok dgn sembarang satu karakter
*
Cocok dgn sembarang lebih dari satu karakter
^
Cocok dengan awal baris
$
Cocok dengan akhir baris
\<
Cocok dengan awal kata
\>
Cocok dengan akhir kata
[]
Cocok dgn salah satu karakter yg terdapat di dalam kurung siku
[^]
Cocok dgn salah satu karakter yg tidak terdapat pada kurung siku
\
Karakter selanjutnya dianggap literal
Redirection Pada UNIX terdapat istilah standard input, standard output, dan standard error. Standart input adalah masukkan atau input standard dari suatu perintah atau program. Input standard ini adalah keyboard. Standard output adalah keluaran atau output standard dari suatu perintah atau program. Output standard ini adalah monitor atau terminal. Standard error adalah keluaran atau output standard jika pada program atau perintah terjadi error. Keluaran ini berupa pesan-pesan kesalahan yang berguna bagi pembuat program atau orang lain yang membutuhkan. Standard error biasanya adalah layar console. Proses pembelokkan ini disebut redirection, menggunakan symbol > (membelokkan standard output ke file), symbol < (membelokkan standard input dari file). Dengan fasilitas redirection memungkinkan user untuk dapat menyimpan output dari sebuah proses untuk disimpan ke file lain (Ouput Redirection) atau sebaliknya menggunakan isi dari file sebagai input dalam suatu proses (Input Redirection). Komponen-kmponen dari redirection adalah symbol-simbol berikut: <, >, <<. >>. Standard input, output dan error, yaitu untuk mengalihkan file descriptor dari 0, 1 dan 2.
Linux berkomunikasi dengan file melalui file descriptor yang
direpresentasikan melalui angka yang dimulai dari 0, 1, 2 dan seterusnya. Tiga buah file descriptor standar yang lalu diciptakan oleh proses adalah :
3
0 = keyboard (standar input) 1 = layar (standar output) 2 = layar (standar error) Simbol untuk pembelokan adalah : 0<
atau
< pengganti standard input
1>
atau
> pengganti standard output
2>
atau
> pengganti standard error
C. PROSEDUR 1. Masuk ke sistem operasi Linux. 2. Login sebagai stD3XXYYY. 3. Gunakan perintah-perintah pada shell :
,
, wildcard, pipeline,
redirection 4. Catatlah hasil dari setiap perintah pada prosedur no.3 sebagai laporan sementara.
D. PERCOBAAN Percobaan 1 : Menggunakan pipeline $ls –l /etc | more $ls –l /etc | sort | more Percobaan 2 : Mengulang perintah sebelum atau sesudah 1. Gunakan tombol panah atas
untuk mengulang perintah sebelumnya,
maka didapatkan hasil sebagai berikut : $ls –l /etc | more 2. Gunakan tombol panah atas
untuk mengulang perintah sesudahnya,
maka didapatkan hasil sebagai berikut : $ls –l /etc | sort | more Percobaan 3 : Menggunakan regular expression/wilcard dengan karakter 1. Tanda * digunakan untuk mencocokkan sejumlah karakter dengan panjang bebas $cd
4
$touch contoh1 contoh2 contoh3 $ls $ls c* $rm c* $ls c* 2. Tanda ? digunakan untuk mencocokkan dengan karakter sebanyak jumlah karakter ? $touch cth1 cth2 cth3 $ls $ls cth? $rm cth? $ls cth? 3. Tanda [ ] untuk mencocokan sembarang karakter tunggal yang terdapat dalam tanda kurung siku $touch cth4 cth5 cth6 $ls $rm cth[456] $ls 4. Tanda [ - ] untuk mencocokan sembarang karakter tunggal yang terdapat di antara tanda [ - ] dan sesudahnya $touch cth7 cth8 cth9 $ls $rm cth[7-9] $ls cth? Percobaan 4 : Menggunakan redirection 1. Menyalin suatu file teks dengan menggunakan perintah cat $cat > test1 Baris pertama dari file test1 Baris kedua dari file test1 A B C . . [lanjutkan] ^D [Ctrl-d] $cat test1 $cat test1 > test2 $ls $cat test2 2. Menggabung suatu file teks dengan menggunakan perintah cat $cat test1 >> test2
5
$cat test2 3. Menggabungkan beberapa file teks dengan menggunakan perintah cat $cat > test2 Baris pertama dari file test2 Baris kedua dari file test2 ^D [Ctrl-d] $cat test1 test2 > test3 $ls $cat test3 $cat test1 test2 >> test3 $cat test3 4. Membuat file baru dengan nama test meggunakan output redirection (>) $cat > test ini hanya sebuah test dari output redirection ^D [Ctrl-d] $cat test 5. Penambahan untuk file test $cat >> test Baris ini tambahan dari yang lama ……. 6. File test dijadikan input oleh perintah cat / input redirection (<) $cat < test Percobaan 5 : Menggunakan redirection (Standard input, output dan standard error) 1. Pembelokan standar output $cat 1> myfile.txt Ini adalah teks yang saya simpan Ke file myfile.txt 2. Pembelokan standar input, yaitu input dibelokkan dari keyboard menjadi file $cat 0< myfile.txt $cat myfile.txt 3. Pembelokan standar error untuk disimpan di file $mkdir mydir (Terdapat pesan error) $mkdir mydir 2> myerror.txt $cat myfile.txt 4. Notasi >> (append) $echo “kata $echo “kata $echo “kata $cat surat $echo “kata $cat surat
pertama” > surat kedua” >> surat ketiga” >> surat keempat” > surat
6
7. Notasi here document (<<++ …. ++) digunakan sebagai pembatas input dari keyboard. Perhatikan bahwa tanda pembatas dapat digantikan dengan tanda apa saja, namun harus sama dan tanda penutup harus diberikan pada awal baris $cat <<++ Hallo, apa kabar ? Baik-baik saja ? Ok! ++ $cat <<%%% Hallo, apa kabar ? Baik-baik saja ? Ok! %%% 8. Notasi – (input keyboard) adalah representan input dari keyboard. Artinya menampilkan file 1, kemudian menampilkan input dari keyboard dan menampilkan file2. Perhatikan bahwa notasi “-“ berarti menyelipkan input dari keyboard $cat myfile.txt – surat
E. Latihan 1. Buatlah sebuah file dengan nama latihan1 dan isinya berupa teks seperti dibawah ini : Selamat belajar shell dasar pada Linux Di Laboratorium Komputer Jurusan Teknik Telekomunikasi PENS –ITS a. gunakan redirection b. salinlah file latihan1 ke file tujuan latihan2 c. gabunglah kedua file tersebut dan hasilnya simpan pada file latihan3 2. Tampilkan isi file latihan1 dan latihan2 secara urut dengan menggunakan perintah cat. 3. Lihat daftar secara lengkap pada direktori aktif, belokkan tampilan standard output ke file baru. 4. Jelaskan perbedaan antara perintah touch dengan cat dalam hal pembuatan file baru ?
7