Jumat, 28 Januari 2011

DASAR-DASAR UNIX dengan SHELLDASAR-DASAR UNIX dengan SHELL

DIRECTORY dan FILE

Perintah cd

Perintah untuk berpindah-pindah ke berbagai tempat dalam struktur directory adalah cd, yaitu kependekan dari change directory. Anda akan menyadari bahwa perintah-perintah Unix seringkali disingkat dalam dua atau tiga huruf. Penggunaan perintah cd dapat dilihat berikut ini:
cd
menunjukkan nama directory yang ingin dituju.
Begitu menyelesaikan login, directory tempat Anda mulai adalah home directory. Ketika Gatut ingin melihat directory saat itu, adalah:
#pwd
/home1/gatut
Lihat isi directory dengan perintah ls, maka:
home # ls -l total 1906
drwx------ 2 gatut wheel 512 Mar 3 16:46 Mail
-rw-r--r-- 1 gatut wheel 4735 Mar 8 12:16 fire
drwxr-xr-x 8 gatut wheel 1024 Mar 4 09:08 lynx2-6
drwx------ 2 gatut wheel 512 Mar 10 08:28 mail
-rw------- 1 gatut staff 931 Mar 5 12:06 mbox
-rw-r--r-- 1 gatut wheel 1925913 Mar 6 15:25 perl-5.002.tgz
drwxr-xr-x 2 gatut wheel 512 Mar 8 17:02 public_html
gatut:/home1/gatut
home #
Pada tampilan di atas, isian tiap kolomnya dijelaskan:
  • drwxrwxrwx, masing-masing berarti
    • d baris ini menunjukkan bahwa baris tersebut sebuah directory
    • rwx, tiga isian berikutnya menunjukkan status terhadap pemilik
    • rwx, tiga isian berikutnya menunjukkan status terhadap group pemilik
    • rwx, tiga isian terakhir menunjukkan status terhadap user lain
    • masing-masing tiga isian tersebut, yaitu
      • r berarti hak untuk membaca
      • w hak untuk menulis
      • x hak untuk diproses
  • kolom kedua
  • kolom ketiga menyatakan pemilik (owner) file.
  • kolom keempat menyatakan group pemilik. Seseorang dapat masuk ke dalam beberapa group yang berbeda, tetapi sebuah file hanya dapat dimiliki oleh satu group.
  • Kolom kelima menyatakan besar file dalam ukuran byte (1 byte setara dengan 1 huruf/angka).
  • Kolom keenam menyatakan tanggal terakhir file diupdate.
  • Kolom ketujuh menyatakan nama file. Berbeda dengan sistem operasi DOS, nama file dalam unix dapat terdiri dari sejumlah 255 huruf/angka/simbol. Harap diingat bahwa penamaan membedakan huruf besar atau huruf kecil (lihat kembali bagian sebelumnya).
Uraian lebih jauh untuk perintah ls akan dibahas dalam bagian berikutnya. Untuk saat ini, yang perlu diketahui adalah keberadaan 'd' pada kolom pertama. Perpindah ke dalam subdirectory public_html, digunakan perintah:
gatut:/home1/gatut home # cd public_html
gatut:/home1/gatut/public_html
home # _
Seperti terlihat, prompt mengalami perubahan yang menyatakan directory kerja yang baru (dengan demikian Gatut tahu di mana dia bekerja). Lihatlah isi directorynya.
gatut:/home1/gatut/public_html home # ls -l
total 6
-rw-r--r-- 1 gatut wheel 132 Mar 3 17:03 index.html
-rwxr--r-- 1 gatut wheel 4451 Mar 8 17:02 rc.firewall
gatut:/home1/gatut/public_html
home #
Sekarang lihatlah bagaimana Gatut menampilkan sebuah file bernama index.html.
gatut:/home1/gatut/public_html home # more index.html
<html> <body> Sorry...I do not yet move here, see <a href="http://www2.unpar.ac.id">pages.. I create and manage</a> </body> </html>
gatut:/home1/gatut/public_html
home #
Dari directory public_html tersebut, sekarang Gatut bermaksud kembali ke directory di atasnya (sebelumnya, leluhurnya?), menggunakan perintah:
gatut:/home1/gatut/public_html home # cd ..
gatut:/home1/gatut
home #
(Pastikan adanya spasi antara 'cd' dan '..').
Cara lain untuk berpindah directory, meskipun agak melelahkan, tetapi mungkin lebih mudah dimengerti adalah dengan menyebutkan nama lengkap dari directory yang dituju. Contoh:
gatut:/home1/gatut home # cd /usr/bin
gatut:/usr/bin
home #
Menggunakan cd tanpa argument akan mengembalikan ke home directory pemakai.
gatut:/usr/bin home # cd
gatut:/home1/gatut
home #

Perintah ls

Perintah ls tanpa argumen akan memberikan hasil seperti di bawah ini.
gatut:/home1/gatut home # ls
Mail lynx2-6 mbox public_html
fire mail perl-5.002.tgz
gatut:/home1/gatut
home #
Pada tampilan di atas tidak dapat diketahui status file. Menambahkan argumen -l pada perintah ls, akan memberikan hasil seperti pada bagian sebelumnya.
Dengan mengetahui pemilik file dan hak yang berlaku pada file tersebut, kita dapat mencegah (atau membiarkan) pemakai lain untuk membuka atau mengganti isi sebuah file. File fire dengan status -rwxr-xr-- dan pemilik gatut.wheel berarti
  • fire adalah sebuah file dimiliki oleh Gatut
  • file tersebut dapat dibaca, diganti/ditulis ulang, dihapus, dan dieksekusi oleh pemilik
  • file tersebut dapat dibaca dan dieksekusi oleh setiap pemakai anggota group wheel
  • file tersebut dapat dibaca oleh pemakai yang lain (bukan anggota group wheel).
Karena dapat dieksekusi, pemilik dapat memberikan perintah yang sesuai dengan nama file tersebut:
gatut:/home1/gatut home # fire
Hi, ini program untuk menembak.
[E]xit [S]tart fire [H]elp
Pilihan: e
gatut:/home1/gatut
home #
Pada contoh di atas program berjalan dan memberikan menu, dipilih e untuk keluar. Program selesai dan kembali ke prompt. File-file yang dapat dieksekusi hampir semua pemakai biasanya terletak di dalam directory:
  • /sbin
  • /bin
  • /usr/bin
  • /usr/sbin
  • /usr/local/bin
  • /usr/local/sbin
Periksalah apa saja yang tersedia dalam directory tersebut.
Simbol d di awal baris yang diberikan oleh perintah 'ls -l' menunjukkan adanya sebuah directory. Kode 'x' pada directory menunjukkan hak untuk masuk ke dalam directory tersebut, bukan untuk dieksekusi. Contoh berikut ini menyatakan tidak adanya hak pemakai untuk masuk ke dalam directory.
gatut:/home1/gatut home # cd /root
gatut:/root
home # ls -l
total 1
drwx------ 2 root wheel 512 Mar 3 16:51 mail
gatut:/root
home # cd mail
mail: Permission denied.
gatut:/root
home #
(Untuk pemakai MS-DOS, harap diperhatikan bahwa namafile dalam UNIX dapat melebihi 8 karakter dan dapat menggunakan beberapa titik di berbagai posisi, seperti 'perl-5.002.tgz').
Perintah-perintah lain yang berkaitan dengan pengelolaan file:
Perintah Arti contoh
cp copy, menyalin file cp index.html bukan-index.html
mv move, memindahkan mv index.* bukan-index.*
rm !!! remove (delete) rm index.html
     
Ada aplikasi penunjang seperti norton commander (NC) bernama midnight commander (MC), yang sangat populer di unix. Sayangnya, beberapa jenis terminal tidak mendukung kunci pengendali MC.

Membaca Pertolongan (HELP)

Pemakai dapat membaca petunjuk penggunaan setiap perintah UNIX dari manual yang tersedia di sistem.
Perintah berikut ini akan menampilkan petunjuk penggunaan perintah cd.
gatut:/home1/gatut home # man cd

Variabel ENVIRONMENT

Variabel environment mendefiniskan keadaan lingkungan yang ditujukan untuk kemudahan shell. Anda dapat merubah isinya, menambahkan, atau menghapus sendiri. Setiap pemakai memiliki environment masing-masing. Untuk mengetahui variabel apa saja yang telah ada, gunakan perintah set atau env.
gatut:/home1/gatut
home # env
HOME=/home/gatut
LOGNAME=gatut
MAIL=/home/gatut/mail
MANPATH=/usr/man:/usr/contrib/man:/usr/local/man
PATH=./:/bin:/usr/bin:/usr/local/bin
SHELL=/usr/local/bin/tcsh
TERM=vt100

home # echo $HOME
/home/gatut
Beberapa variabel penting dan artinya:
variabel Pemakaian
HOME Directory basis untuk seorang pemakai
MAIL Directory tempat penyimpanan email
PATH Directory tempat file yang dapat dieksekusi
TERM Jenis terminal emulasi

File-file Konfigurasi

Aplikasi UNIX biasanya menyimpan konfigurasi untuk masing-masing user dalam file yang namanya diawali dengan titik ('."). File-file tersebut biasanya berupa file text yang dapat ditampilkan (perintah: cat) atau diedit (vi, pico, dsb).

Utilitas Penguji Sistem

Perintah-perintah penguji sistem
Perintah Arti contoh
ps menampilkan proses sistem ps ax
top menampilkan proses sistem secara terus menerus dan terurut berdasarkan pemakaian prosesor top
uname menampilkan versi dan jenis sistem operasi uname -a