Total Tayangan Halaman

Kamis, 26 Maret 2015

Perintah Dasar pada Linux, contoh Shell Programming dan Bash Script


Perintah Dasar pada Linux

Banyak user merasa kesulitan dengan perintah dasar pada Linux karena di anggap asing dan user belum terbiasa memakainya. Namun di bawah ini akan memberikan sedikit informasi tentang berbagai macam perintah dasar yang ada di Linux. Sebelum membahas perintah dasar Linux, ada beberapa hal yang perlu di ketahui agar user, yaitu :
Format instruksi linux
Instruksi Linux standar mempunyai format sebagai berikut :
$ NamaInstruksi [pilihan] [argumen]
Pilihan adalah option yang dimulai dengan tanda – (minus). Argumen dapat kosong, satu atau beberapa argumen (parameter).
Sebagai contoh:
$ ls                                   Tanpa Argumen
$ ls –l                                Option adalah –l, tanpa argumen
$ ls /bin                             Tanpa option, argumen adalah /bin
$ ls /bin /etc /usr               Ada 3 argumen
$ ls –l /usr                         1 option dan 1 argumen l = long list

Melihat identitas diri (nomor id dan group id) :
$ id
Melihat tanggal dan kalender dari system :
1. Melihat tanggal saat ini
$ date
2. Melihat kalender
$ cal 9 2002
$ cal –y
Keterangan : Melaporkan atau mengatur tanggal dan waktu sistem. Bila tidak ada argumen yang ditentukan, akan dilaporkan tanggal dan waktu sekarang.
Melihat identitas mesin :
$ hostname
$ uname
$ uname -a

Melihat siapa yang sedang aktif :
$ w
$ who
$ whoami
 Mengubah informasi finger :
$ chfn <user>
Melihat informasi finger :
$ finger
$ finger <user>
Menggunakan manual :
$ man ls
$ man man
$ man –k file
$ man 5 passwd
Menghapus layar :
$ clear

Mencari perintah yang deskripsinya mengandung kata kunci
yang dicari :
$ apropos date
$ apropos mail
$ apropos telnet

Mencari perintah yang tepat sama dengan kunci yang dicari :
$ whatis date

Manipulasi berkas (file) dan direktori :
·         Menampilkan current working directory
$ ls
·         Melihat semua file lengkap
$ ls –l
·         Menampilkan semua file atau direktori yang tersembunyi
$ ls –a
·         Menampilkan semua file atau direktori tanpa proses sorting
$ ls –f
·         Menampilkan isi suatu direktori
$ ls /usr
·         Menampilkan isi direktori root
$ ls /
Melihat tipe file :
$ file
$ file *
$ file /bin/ls

Menyalin file :
Mengkopi suatu file. Berikan opsi –i untuk pertanyaan interaktif bila file suda ada.
$ cp /etc/group f1
$ ls –l
$ cp –i f1 f2
$ cp –i f1 f2
Mengkopi ke direktori :
$ mkdir backup
$ cp f1 f3
$ cp f1 f2 f3 backup
$ ls backup
$ cd backup
$ ls
Keterangan : cp akan meng-copy satu file ke file lain atau meng-copy satu file atau lebih, ke sebuah direktory.

Melihat isi file :
Menggunakan instruksi cat
$ cat f1
·      Menampilkan file per satu layar penuh
$ more f1
$ pg f1
 
Mengubah nama file :
Menggunakan instruksi mv
$ mv f1 prog.txt
$ ls

Menghapus file :
$ rm f1
$ cp mydir/f1 f1
$ cp mydir/f2 f2
$ rm f1
$ rm –i f2

Mencari kata atau kalimat dalam file :
$ grep root /etc/passwd
$ grep “:0:” /etc/passwd
$ grep student /etc/passwd



Bash 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 < data
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 <data | sort > 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

Script Bash Sederhana
Langkah awal sebaiknya periksa dulu shell aktif anda, gunakan perintah ps (report process status)
[fajar@linux$]ps
 PID TTY          TIME CMD
  219 tty1     00:00:00 bash
  301 tty1     00:00:00 ps
bash adalah shell aktif di system saya, jika disystem anda berbeda misalnya csh atau ksh ubahlah dengan perintah change shell
[fajar@linux$]chsh
Password:
New shell [/bin/csh]:/bin/bash
Shell changed
atau dengan mengetikkan bash
[fajar@linux$]bash
sekarang coba anda ketikkan perintah dibawah ini pada prompt shell
echo "Script shell pertamaku di linux"
[fajar@linux$]echo "Script shell pertamaku di linux"
Script shell pertamaku di linux

string yang diapit tanda kutip ganda (double quoted) akan ditampilkan pada layar anda, echo adalah statement (perintah) built-in bash yang berfungsi menampilkan informasi ke standard output yang defaultnya adalah layar. jika diinginkan mengulangi proses tersebut, anda akan mengetikkan kembali perintah tadi, tapi dengan fasilitas history cukup menggunakan tombol panah kita sudah dapat mengulangi perintah tersebut, bagaimana jika berupa kumpulan perintah yang cukup banyak, tentunya dengan fasilitas hirtory kita akan kerepotan juga mengulangi perintah yang diinginkan apalagi jika selang beberapa waktu mungkin perintah-perintah tadi sudah tertimpa oleh perintah lain karena history mempunyai kapasitas penyimpanan yang ditentukan. untuk itulah sebaiknya perintah-perintah tsb disimpan ke sebuah file yang dapat kita panggil kapanpun diinginkan.
coba ikuti langkah - langkah berikut:
  1. Masuk ke editor anda, apakah memakai vi,pico,emacs,dsb...
  2. ketikkan perintah berikut
3.  #!/bin/bash
4.  echo "Hello, apa khabar"
  1. simpan dengan nama file tes
  2. ubah permission file tes menggunakan chmod
7.  [fajar@linux$]chmod 755 tes
  1. jalankan
9.  [fajar@linux$]./tes

kapan saja anda mau mengeksekusinya tinggal memanggil file tes tersebut, jika diinginkan mengeset direktory kerja anda sehingga terdaftar pada search path ketikkan perintah berikut :
PATH=$PATH:.
setelah itu script diatas dapat dijalankan dengan cara :
[fajar@linux$]tes
Hello, apa khabar

Tanda #! pada /bin/bash dalam script tes adalah perintah yang diterjemahkan ke kernel linux untuk mengeksekusi path yang disertakan dalam hal ini program bash pada direktory /bin, sebenarnya tanpa mengikutkan baris tersebut anda tetap dapat mengeksekusi script bash, dengan catatan bash adalah shell aktif. atau dengan mengetikkan bash pada prompt shell.
[fajar@linux$]bash tes
tentunya cara ini kurang efisien, menyertakan path program bash diawal script kemudian merubah permission file sehingga dapat anda exekusi merupakan cara yang paling efisien.

      Sekarang coba kita membuat script shell yang menampilkan informasi berikut :
  1. Waktu system
  2. Info tentang anda
  3. jumlah pemakai yang sedang login di system
contoh scriptnya:
#!/bin/bash
#myinfo

#membersihkan tampilan layar
clear          

#menampilkan informasi
echo -n "Waktu system   :"; date
echo -n "Anda           :"; whoami
echo -n "Banyak pemakai :"; who | wc -l
sebelum dijalankan jangan lupa untuk merubah permission file myinfo sehingga dapat dieksekusi oleh anda
[fajar@linux$]chmod 755 myinfo
[fajar@linux$]./myinfo
Waktu system   : Sat Nov 25  22:57:15 BORT 2001
Anda           : fajar
Banyak pemakai : 2

Tentunya layout diatas akan disesuaikan dengan system yang anda gunakan statement echo dengan opsi -n akan membuat posisi kursor untuk tidak berpindah ke baris baru karena secara default statement echo akan mengakhiri proses pencetakan ke standar output dengan karakter baris baru (newline), anda boleh mencoba tanpa menggunakan opsi -n, dan lihat perbedaannya. opsi lain yang dapat digunakan adalah -e (enable), memungkinkan penggunaan backslash karakter atau karakter sekuen seperti pada bahasa C atau perl, misalkan :
echo -e "\abunyikan bell"
jika dijalankan akan mengeluarkan bunyi bell, informasi opsi pada statement echo dan backslash karakter selengkapnya dapat dilihat via man di prompt shell.
[fajar@linux$]man echo