Jumat, 14 Desember 2012

SHELL INTERAKTIF dan SKRIP



Shell dapat dikatakan sebagai tempat interaksi antara pengguna dan sistem Linux yang sedang digunakan. Shell juga bertugas menerjemahkan atau mengeksekusi program.  
      Shell menyediakan suatu antarmuka teks (command line). Shell dapat diguakan untuk mengelola (administering) sistem Linux seperti menambah pengguna, mengatur file dan direktori dan memantau kerja dari sistem operasi. Shell Linux ditandai oleh $ (user reguler) atau # (root). 
Shell Bash dapat digunakan dalam dua modus, yaitu modus interaktif dan modus skrip.
    Pada modus interaktif,  anda menuliskan satu baris perintah disamping prompt dan mengakhirinya dengan ENTER. Hasil eksekusi akan ditampilkan langsung pada layar dan anda kembali disediakan prompt untuk memasukkan perintah-perintah berikutnya.  Pada modus skrip, anda menuliskan skrip atau kode program, berisi perintah-perintah  Linux, menyimpannya ke dalam sebuah file dengan ekstensi .sh. Selanjutnya file ini dijalankan pada modus Interaktif.  

Shell Interaktif 
Bagian   ini   memperlihatkan   bagaimana   memanfaatkan   shell   interaktif   untuk mengadministrasi sistem Linux yang digunakan.  Sebagai latihan awal, coba tulis (akhiri dengan enter) setiap perintah di bawah ini dan  perhatikan luaran yang dihasilkan (‘$’ tidak diketik, itu hanya menandakan prompt): 
$ date; whoami; pwd 
$ ps 
$ top 
$ ls -la 
$ echo ”Kereeeen” 
$ a=10; echo $a 
$ b=109; echo "B bernilai :" $b 
Secara garis besar anda mengetahui apa fungsi dari perintah di atas, dengan melihat  luarannya. Perintah date untuk mendapatkan tanggal dan jam, whoami (who am i) untuk  mengetahui   nama   login   dari   pengguna,   pwd (print   working   directory)   untuk  mendapatkan nama direktori aktif (dimana anda berada). Perintah top (table of processes)  untuk  memperoleh  daftar  proses  yang  sedang  berjalan.  Perintah  ls (list)  untuk  mendapatkan daftar file dan direktori dimana pengguna aktif berada.
Bagaimana dengan perintah-perintah lainnya? Anda belum tahu kegunaannya? Luaran dari eksekusi di atas belum jelas? Anda dapat mengetahui fungsi dan cara menggunakan perintah di Linux memanfaatkan perintah man, singkatan dari manual. 
$ man ls 
$ man ps 
$ man file 
Perintah ‘man ls’ digunakan untuk mendapatkan manual dari perintah ls. Manual berisi fungsi dari perintah, cara pemanggilan perintah bersama dengan parameter-parameter yang mungkin disertakan dan penjelasan lebih lanjut mengenai setiap cara penggunaan dan sering disertai beberapa contoh.  

Bagaimana mencari file dengan ekstensi tertentu? Misalnya *.jpg? Silakan gunakan perintah ‘man find, baca dokumentasinya secara teliti dan selesaikan masalah ini.
Sekarang  jalankan  perintah-perintah  di  bawah  ini,  satu  demi  satu  dan  jelaskan maksudnya!  
$ find . -name '*.jpg' $
file nama_file 
$ echo “belajar shell linux” > nama_file $
echo “keren abis” >> nama_file 
$ echo “OK...sepakat  ....  te o pe deh” >> nama_file
$ cat nama_file
$ more nama_file 
$ grep keren nama_file $
man grep 

Apa kegunaan dari perintah grep? Coba jalankan dua baris perintah yang mengandung perintah grep. Samakah hasilnya? Apa perbedaannya? 
$ cat nama_file | grep "OK" 
$ grep "OK" nama_file   

2.2 Pipeline dan Redirection 
Pipeline  (garis pipa, |) dapat digunakan untuk mengirimkan luaran dari suatu perintah ke perintah lain. Menggunakan  pipe, luaran dari perintah di sebelah kiri  pipe  akan dijadikan masukan bagi perintah di sebelah kanan pipe. 
Jalankan baris demi baris di bawah ini dan cermati hasilnya! 
$ echo ”aris joko faza fenny ubaid” 
$ echo ”aris joko faza fenny ubaid” | tr ” ” ”\n” 
$ echo ”aris joko faza fenny ubaid” | tr ” ” ”\n” | sort 
$ echo ”aris joko faza fenny ubaid” | tr ” ” ”\n” | sort -r 
Anda tentu telah paham manfaat dari perintah echo, yaitu hanya mencetak teks yang dijadikan parameter saat pemanggilannya. Perintah tr digunakan untuk mentranslasi daftar string.  Parameter “ “ “\n” pada pemanggilan tr mengatakan bahwa ganti spasi (“ “) dengan  karakter  baris  baru (newline, \n).  Perintah  sort  dapat  digunakan  untuk  mengurutkan baris-baris string (teks). Apa yang dihasilkan oleh baris ke-4 di atas? Apa perbedaannya dengan baris ke-3? 
Redirection atau pengalihan digunakan untuk mengalihkan luaran eksekusi dari suatu perintah. Secara default, luaran dari suatu perintah adalah layar (screen). Kita dapat mengalihkan luaran tersebut ke suatu file dengan menggunakan operator > atau >>. Operator > digunakan untuk membuat file baru dan memasukkan teks baru ke dalamnya.
Operator >> digunakan untuk menambahkan entri selanjutnya ke dalam file yang dibuat oleh operator > sebelumnya.  
Sekarang,  jalankan perintah di  bawah  ini  secara benar dan perhatikan  hasil  yang diperoleh! 
$ date > sekarang.txt 
$ cat sekarang.txt 
$ date >> sekarang.txt 
$ cat sekarang.txt 
2.3 Skrip Shell Pertama 
Pada bagian ini anda akan belajar menuliskan sebuah skrip yang sekedar menampilkan pesan "Halo dunia". Gunakan Text Editor dan buat file teks bernama pertama.sh seperti dibawah ini: 
#!/bin/bash 
# Nama file skrip: pertama.sh 
# Skrip ini menampilkan teks menggunakan perintah echo 
echo Halo dunia  # mencetak teks Halo dunia 
Baris pertama memberitahukan sistem Linux bahwa file  akan dieksekusi oleh program bernama /bin/bash. Ini merupakan lokasi standard dari shell Bash pada banyak distribusi GNU/Linux. Pada beberapa distribusi Linux, ada perintah /bin/sh yang merupakan link simbolik ke bash. Baris pertama dari setiap skrip harus dan hanya mencantumkan “

#!/bin/bash” atau “#!/bin/sh”. 
Baris kedua dimulai dengan simbol khusus, #. Ini menandakan baris tersebut sebagai suatu komentar. Shell akan mengabaikannya, tidak memroses komentar tersebut.
Satu-satunya pengecualian  adalah simbol #!  yang diletakkan di baris pertama dari file skrip - seperti pada contoh di atas. Ini adalah direktif khusus.
Jika anda terbiasa dengan Perl, tentu telah menjumpai adanya  #!/usr/bin/perl    pada baris pertama setiap skrip Perl untuk memberitahukan shell interaktif bahwa program tersebut akan dieksekusi oleh Perl. Pada pemrograman shell Bash adalah #!/bin/sh. 
Baris ketiga menjalankan suatu perintah  echo  dengan dua parameter atau argumen  - pertama adalah "Halo" dan kedua adalah "dunia".  Perintah  echo  akan secara otomatis  meletakkan spasi tunggal di antara parameter-parameternya. 
Simbol # menandakan komentar. Karakter # dan apapun yang mengikutinya, pada baris yang sama, diabaikan oleh shell. 
Sekarang  jalankan  chmod  755   pertama.sh  atau  (chmod  +x   pertama.sh)  untuk membuat file teks executable dan jalankan skrip dengan ./pertama.sh.
Pada jendela shell (terminal) terlihat sebagai berikut:
$ chmod 755 pertama.sh $
./pertama.sh 
Halo dunia 

2.4 Perintah echo 
Apakah hanya untuk menampilkan dua kata tersebut kita harus menulis skrip? TIDAK. Anda dapat menggunakan shell interaktif untuk memperoleh hasil yang sama. Tuliskan langsung perintah echo Halo dunia di shell dan perhatikan luarannya: 
$ echo Halo dunia 
Halo dunia 
Sekarang buat sedikit perubahan. Pertama, ingat bahwa  echo  meletakkan SATU spasi antara  parameter-parameternya.  Tempatkan  beberapa  spasi  antara  teks  "Halo"  dan "dunia". Hasil seperti apa yang diharapkan? Bagaimana jika anda meletakkan karakter TAB di antaran dua kata tersebut? 
Bagaimana   luaran   dari   perubahan   tersebut?   Output   skrip   sama   persis   dengan sebelumnya.  Kita   memanggil  program    echo   dengan  dua  argumen;    echo   tidak menghiraukan  berapa pun jumlah spasi di antaranya. Sekarang, coba ubah lagi skrip tersebut menjadi: 
#!/bin/sh 
# Ini baris komentar! 
echo "Halo  dunia"  # Ini juga komentar

Kali ini spasi yang ditambahkan tampil sebagai output. Mengapa? Karena echo dipanggil dengan hanya SATU argumen yang diapit oleh petik ganda “Halo  dunia”.
Tampilan di layar tepat sama dengan yang dituliskan dalam skrip. Perlu dipahami bahwa shell mem-parse  argumen SEBELUM  melewatkannya ke program yang dipanggil. Shell menghilangkan tanda petik dan melewatkan string tersebut sebagai satu argumen.
Contoh kedua, masih berkaitan dengan perintah  echo. Tulis skrip berikut. Perkirakan luarannya sebelum menjalankannya: 

#!/bin/sh 
# Nama file skrip: kedua.sh 
# Apa yang dihasilkan skrip ini?
echo "Halo  dunia "
echo "Halo dunia "
echo "Halo * dunia "
echo Halo * dunia
echo Halo  dunia
echo "Halo" dunia
echo Halo "  " dunia
echo "Halo \"*\" dunia "
echo `halo` dunia
echo 'hello' dunia
# mencetak teks Halo dunia 
Apakah luarannya sesuai yang diharapkan? Jika  tidak, jangan khawatir! Ini hanya beberapa hal yang akan dibahas pada bagian-bagian lanjut dalam panduan ini. Dan tentu anda akan belajar perintah-perintah lain yang lebih powerful daripada echo.


Tidak ada komentar:

Posting Komentar

About Me

Foto saya
Aku hanyalah seseorang yang selalu berkeinginan menjadi lebih baik dari hari kemarin...:)

Pinky_zahra

Popular Posts

Diberdayakan oleh Blogger.
 
 

Blogger news

Templates by Nano Yulianto | CSS3 by David Walsh | Powered by {N}Code & Blogger