Pagi Para sahabat saya 2 TKJ 1,kali ini Inka gunawan mau share tugas yang saya dari guru kita...yaitu PAK JUNAIDI, dimana modul yang saya share ini nantinya dapat teman copy dan pelajari dirumah. Karena modul ini sebagai bahan untuk kita ujian mid sesudah liburan dangan Pak Junaidi .mungkin sekian keterangan dari saya.mudah-mudahan teman dapat mengerti dan "Selamat Belajar Ya" mudah-mudahan kita mendapatkan nilai sempurna ..OK
MODUL PRAKTIKUM LINUX
PERTEMUAN I
I. JARINGAN KOMPUTER
1. Apa itu Jaringan Komputer ?
JARINGAN komputer adalah sebuah kumpulan komputer, printer dan peralatan lainnya yang terhubung dalam satu kesatuan. Informasi dan data bergerak melalui kabel-kabel atau tanpa kabel sehingga memungkinkan pengguna jaringan komputer dapat saling bertukar dokumen dan data, mencetak pada printer yang sama dan bersama-sama menggunakan hardware/software yang terhubung dengan jaringan. Setiap komputer, printer atau periferal yang terhubung dengan jaringan disebut node. Sebuah jaringan komputer dapat memiliki dua, puluhan, ribuan atau bahkan jutaan node.
2. Jenis-Jenis Jaringan Komputer
Secara umum jaringan komputer dibagi atas lima jenis, yaitu ;
a. Local Area Network (LAN)
Local Area Network (LAN), merupakan jaringan milik pribadi di dalam sebuah gedung atau kampus yang berukuran sampai beberapa kilometer. LAN seringkali digunakan untuk menghubungkan komputer-komputer pribadi dan workstation dalam kantor suatu perusahaan atau pabrik-pabrik untuk memakai bersama sumberdaya (resouce, misalnya printer) dan saling bertukar informasi.
b. Metropolitan Area Network (MAN)
Metropolitan Area Network (MAN), pada dasarnya merupakan versi LAN yang berukuran lebih besar dan biasanya menggunakan teknologi yang sama dengan LAN. MAN dapat mencakup kantor-kantor perusahaan yang letaknya berdekatan atau juga sebuah kota dan dapat dimanfaatkan untuk keperluan pribadi (swasta) atau umum. MAN mampu menunjang data dan suara, bahkan dapat berhubungan dengan jaringan televisi kabel.
c. Wide Area Network (WAN)
Wide Area Network (WAN), jangkauannya mencakup daerah geografis yang luas, seringkali mencakup sebuah negara bahkan benua. WAN terdiri dari kumpulan mesin-mesin yang bertujuan untuk menjalankan program-program (aplikasi) pemakai.
d. Internet
Sebenarnya terdapat banyak jaringan didunia ini, seringkali menggunakan perangkat keras dan perangkat lunak yang berbeda-beda . Orang yang terhubung ke jaringan sering berharap untuk bisa berkomunikasi dengan orang lain yang terhubung ke jaringan lainnya. Keinginan seperti ini memerlukan hubungan antar jaringan yang seringkali tidak kompatibel dan berbeda. Biasanya untuk melakukan hal ini diperlukan sebuah mesin yang disebut gateway guna melakukan hubungan dan melaksanakan terjemahan yang diperlukan, baik perangkat keras maupun perangkat lunaknya. Kumpulan jaringan yang terinterkoneksi inilah yang disebut dengan internet.
e. Jaringan Tanpa Kabel
Jaringan tanpa kabel merupakan suatu solusi terhadap komukasi yang tidak bisa dilakukan dengan jaringan yang menggunakan kabel. Misalnya orang yang ingin mendapat informasi atau melakukan komunikasi walaupun sedang berada diatas mobil atau pesawat terbang, maka mutlak jaringan tanpa kabel diperlukan karena koneksi kabel tidaklah mungkin dibuat di dalam mobil atau pesawat. Saat ini jaringan tanpa kabel sudah marak digunakan dengan memanfaatkan jasa satelit dan mampu memberikan kecepatan akses yang lebih cepat dibandingkan dengan jaringan yang menggunakan kabel.
3. Topologi Jaringan Komputer
Topologi adalah suatu cara menghubungkan komputer yang satu dengan komputer lainnya sehingga membentuk jaringan. Cara yang saat ini banyak digunakan adalah bus, token-ring, star dan peer-to-peer network. Masing-masing topologi ini mempunyai ciri khas, dengan kelebihan dan kekurangannya sendiri.
6. Topologi BUS
Keuntungan
• Hemat kabel
• Layout kabel sederhana
• Mudah dikembangkan
Kerugian
• Deteksi dan isolasi kesalahan sangat kecil
• Kepadatan lalu lintas
• Bila salah satu client rusak, maka jaringan tidak bisa berfungsi.
• Diperlukan repeater untuk jarak jauh
7. Topologi TokenRING
Metode token-ring (sering disebut ring saja) adalah cara menghubungkan komputer sehingga berbentuk ring (lingkaran). Setiap simpul mempunyai tingkatan yang sama. Jaringan akan disebut sebagai loop, data dikirimkan kesetiap simpul dan setiap informasi yang diterima simpul diperiksa alamatnya apakah data itu untuknya atau bukan
Keuntungan
• Hemat Kabel
Kerugian
• Peka kesalahan
• Pengembangan jaringan lebih kaku
8. Topologi STAR
Kontrol terpusat, semua link harus melewati pusat yang menyalurkan data tersebut kesemua simpul atau client yang dipilihnya. Simpul pusat dinamakan stasium primer atau server dan lainnya dinamakan stasiun sekunder atau client server. Setelah hubungan jaringan dimulai oleh server maka setiap client server sewaktu-waktu dapat menggunakan hubungan jaringan tersebut tanpa menunggu perintah dari server.
Keuntungan
• Paling fleksibel
• Pemasangan/perubahan stasiun sangat mudah dan tidak mengganggu bagian jaringan lain
• Kontrol terpusat
• Kemudahan deteksi dan isolasi kesalahan/kerusakan
• Kemudahaan pengelolaan jaringan
Kerugian
• Boros kabel
• Perlu penanganan khusus
• Kontrol terpusat (HUB) jadi elemen kritis
9. Topologi Peer-to-peer Network
Peer artinya rekan sekerja. Peer-to-peer network adalah jaringan komputer yang terdiri dari beberapa komputer (biasanya tidak lebih dari 10 komputer dengan 1-2 printer). Dalam sistem jaringan ini yang diutamakan adalah penggunaan program, data dan printer secara bersama-sama. Pemakai komputer bernama Dona dapat memakai program yang dipasang di komputer Dino, dan mereka berdua dapat mencetak ke printer yang sama pada saat yang bersamaan. Sistem jaringan ini juga dapat dipakai di rumah. Pemakai komputer yang memiliki komputer ‘kuno’, misalnya AT, dan ingin memberli komputer baru, katakanlah Pentium II, tidak perlu membuang komputer lamanya. Ia cukup memasang netword card di kedua komputernya kemudian dihubungkan dengan kabel yang khusus digunakan untuk sistem jaringan. Dibandingkan dengan ketiga cara diatas, sistem jaringan ini lebih sederhana sehingga lebih mudah dipejari dan dipakai.
4. Manfaat Jaringan Komputer
Resource Sharing, dapat menggunakan sumberdaya yang ada secara bersamasama. Misal seorang pengguna yang berada 100 km jauhnya dari suatu data, tidak mendapatkan kesulitan dalam menggunakan data tersebut, seolah-olah data tersebut berada didekatnya. Hal ini sering diartikan bahwa jaringan komputer mangatasi masalah jarak.
Reliabilitas tinggi, dengan jaringan komputer kita akan mendapatkan reliabilitas yang tinggi dengan memiliki sumber-sumber alternatif persediaan. Misalnya, semua file dapat disimpan atau dicopy ke dua, tiga atu lebih komputer yangterkoneksi kejaringan. Sehingga bila salah satu mesin rusak, maka salinan di mesin yang lain bisa digunakan.
Menghemat uang. Komputer berukutan kecil mempunyai rasio harga/kinerja yang lebih baik dibandingkan dengan komputer yang besar. Komputer besar seperti mainframe memiliki kecapatan kira-kira sepuluh kali lipat kecepatan komputer kecil/pribadi. Akan tetap, harga mainframe seribu kali lebih mahal dari komputer pribadi. Ketidakseimbangan rasio harga/kinerja dan kecepatan inilah membuat para perancang sistem untuk membangun sistem yang terdiri dari komputer-komputer pribadi.
II. Sistem Operasi Linux.
1. Pengenalan LINUX.
Kata "Linux" untuk saat ini sudah tidak asing lagi bagi para pengguna internet dan komunitas mahasiswa yang memiliki hobby untuk mencoba software-software baru. Secara teknis dan singkat dapat dikatakan, Linux adalah suatu sistem operasi yang bersifat multi user dan multi tasking, yang dapat berjalan di berbagai platform termasuk prosesor Intel 386 maupun yang lebih tinggi. Sistem operasi ini mengimplementasikan standar POSIX. Linux dapat berinteroperasi secara baik dengan sistem operasi yang lain, termasuk Apple, Microsoft dan Novell. Nama Linux sendiri diturunkan dari pencipta awalnya, Linus Torvalds, yang sebetulnya mengacu pada suatu kumpulan software lengkap yang bersama-sama dengan kernel menyusun suatu sistem operasi yang lengkap. Lingkungan sistem operasi ini mencakup ratusan program, termasuk kompiler, interpreter, editor dan utilitas.
Perangkat bantu yang mendukung konektifitas, ethernet, SLIP dan PPP dan interoperabilitas. Produk perangkat lunak yang handal (reliable), termasuk versi pengembangan terakhir. Kelompok pengembang yang tersebar di seluruh dunia yang telah bekerja dan menjadikan Linux portabel ke suatu platform baru, begitu juga mendukung komunitas pengguna yang memiliki beragam kebutuhan dan juga pengguna dapat turut serta bertindak sebagai tim pengembang sendiri.
1.1. Perbedaan mendasar Linux
Satu hal yang membedakan Linux terhadap sistem operasi lainnya adalah harga. Linux ini lebih murah dan dapat diperbanyak serta didistribusikan kembali tanpa harus membayar fee atau royalti kepada seseorang. Tetapi ada hal lain yang lebih utama selain pertimbangan harga yaitu mengenai source code. Source code Linux tersedia bagi semua orang sehingga setiap orang dapat terlibat langsung dalam pengembangannya. Kebebasan ini telah memungkinkan para vendor perangkat keras membuat driver untuk device tertentu tanpa harus mendapatkan lisensi source code yang mahal atau menandatangani Non Disclosure Agreement (NDA). Dan itu juga telah menyediakan kemungkinan bagi setiap orang untuk melihat ke dalam suatu sistem operasi yang nyata dan berkualitas komersial. Karena Linux itu tersedia secara bebas di internet, berbagai vendor telah membuat suatu paket distrbusi yang dapat dianggap sebagai versi kemasan Linux. Paket ini termasuk lingkungan Linux lengkap, penagkat lunak untuk instalasi dan mungkin termasuk perangkat lunak khusus dan dukungan khusus.
1.2. Perbandingan Linux terhadap sistem operasi lainnya
Linux disusun berdasarkan standar sistem operasi POSIX yang sebenarnya diturunkan berdasarkan fungsi kerja UNIX. UNIX kompatibel dengan Linux pada level system call, ini berarti sebagian besar program yang ditulis untuk UNIX atau Linux dapat direkompilasi dan dijalankan pada sistem lain dengan perubahan yang minimal. Secara umum dapat dikatakan Linux berjalan lebih cepat dibanding UNIX lain pada hardware yang sama. Dan lagi UNIX memiliki kelemahan yaitu tidak bersifat free. MS-DOS memiliki kemiripan dengan Linux yaitu file sistem yang bersifat hirarkis. Tetapi MS-DOS hanya dapat dijalankan pada prosesor x86 dan tidak mendukung multi user dan multi tasking, serta tidak bersifat free. Juga MSDOS tidak memiliki dukungan yang baik agar dapat berinteroperasi dengan sistem operasi lainnya, termasuk tidak tersedianya perangkat lunak network, program pengembang dan program utilitas yang ada dalam Linux.
MSWindows menawarkan kemampuan grafis yang ada pada Linux termasuk kemampuan networking tetapi tetap memiliki kekurangan yang ada pada MS-DOS. Windows NT yang juga tersedia untuk Digital Alpha selain prosesor x86. Namun Windows NT ini masih juga memiliki beberapa kekurangan yang telah ada pada MS-DOS.Waktu untuk menemukan suatu bug dalam suatu sistem operasi ini tak sebanding dengan harga yang harus dibayar. Sistem operasi Apple untuk Macintosh hanya dapat berjalan di sistem Mac. Juga memiliki kekurangan dari sisi ketersediaan perangkat bantu pengembang (development tool) dan juga kurang dapat secara mudah untuk berintoperasi dengan sistem operasi lainnya. Apple juga telah memungkinkan Linux dapat dijalankan pada PowerMac.
1.3. Sejarah Linux
Linux pada awalnya dibuat oleh seorang mahasiswa Finlandia yang bernama Linus Torvalds. Dulunya Linux merupakan proyek hobi yang diinspirasikan dari Minix, yaitu sistem UNIX kecil yang dikembangkan oleh Andrew Tanenbaum. Linux versi 0.01 dikerjakan sekitar bulan Agustus 1991. Kemudian pada tanggal 5 Oktober 1991, Linus mengumumkan versi resmi Linux, yaitu versi 0.02 yang hanya dapat menjalankan shell bash (GNU Bourne Again Shell) dan gcc (GNU C Compiler).
Saat ini Linux adalah sistem UNIX yang sangat lengkap, bisa digunakan untuk jaringan, pengembangan software dan bahkan untuk pekerjaan sehari-hari. Linux sekarang merupakan alternatif sistem operasi yang jauh lebih murah jika dibandingkan dengan sistem operasi komersial (misalnya Windows 9.x/NT/2000/ME). Linux mempunyai perkembangan yang sangat cepat. Hal ini dapat dimungkinkan karena Linux dikembangkan oleh beragam kelompok orang. Keragaman ini termasuk tingkat pengetahuan, pengalaman serta geografis. Agar kelompok ini dapat berkomunikasi dengan cepat dan efisien, internet menjadi pilihan yang sangat tepat. Karena kernel Linux dikembangkan dengan usaha yang independent, banyak aplikasi yang tersedia, sebagai contoh, C Compiler menggunakan gcc dari Free Software Foundation GNU’s Project. Compiler ini banyak digunakan pada lingkungan Hewlett-Packard dan Sun. Sekarang ini, banyak aplikasi Linux yang dapat digunakan untuk keperluan kantor seperti untuk spreadsheet, word processor, database dan program editor grafis yang memiliki fungsi dan tampilan seperti Microsoft Office, yaitu Star Office. Selain itu, juga sudah tersedia versi Corel untuk Linux dan aplikasi seperti Matlab yang pada Linux dikenal sebagai Scilab. Linux bisa didapatkan dalam berbagai distribusi (sering disebut Distro). Distro adalah bundel dari kernel Linux, beserta sistem dasar linux, program instalasi, tools basic, dan program-program lain yang bermanfaat sesuai dengan tujuan pembuatan distro. Ada banyak sekali distro Linux, diantaranya :
· _ RedHat, distribusi yang paling populer, minimal di Indonesia. RedHat merupakan distribusi pertama yang instalasi dan pengoperasiannya mudah.
· _ Debian, distribusi yang mengutamakan kestabilan dan kehandalan, meskipun mengorbankan aspek kemudahan dan kemutakhiran program. Debian menggunakan .deb dalam paket instalasi programnya.
· _ Slackware, merupakan distribusi yang pernah merajai di dunia Linux. Hampir semua dokumentasi Linux disusun berdasarkan Slackware. Dua hal penting dari Slackware adalah bahwa semua isinya (kernel, library ataupun aplikasinya) adalah yang sudah teruji. Sehingga mungkin agak tua tapi yang pasti stabil. Yang kedua karena dia menganjurkan untuk menginstall dari source sehingga setiap program yang kita install teroptimasi dengan sistem kita. Ini alasannya dia tidak mau untuk menggunakan binary RPM dan sampai Slackware 4.0, ia tetap menggunakan libc5 bukan glibc2 seperti yang lain.
· _ SuSE, distribusi yang sangat terkenal dengan YaST (Yet another Setup Tools) untuk mengkonfigurasi sistem. SuSE merupakan distribusi pertama dimana instalasinya dapat menggunakan bahasa Indonesia.
· _ Mandrake, merupakan varian distro RedHat yang dioptimasi untuk pentium. Kalau komputer kita menggunakan pentium ke atas, umumnya Linux bisa jalan lebih cepat dengan Mandrake.
· _ WinLinux, distro yang dirancang untuk diinstall di atas partisi DOS (WIndows). Jadi untuk menjalankannya bisa di-klik dari Windows. WinLinux dibuat seakan-akan merupakan suatu program aplikasi under Windows. Dan masih banyak distro-distro lainnya yang telah tersedia maupun yang akan muncul. Anton, Afri ,dan Wisesa Open Source Campus Agreement
1.4. Kelebihan Linux
Di sini akan dijelaskan beberapa kelebihan dari sistem operasi Linux/UNIX dibandingkan dengan dengan sistem operasi yang lain. Dan berikut ini adalah beberapa fakta dari hal-hal yang menguntungkan dengan menggunakan program dan file-file Linux/UNIX :
_ Pada dasarnya semua data tersimpan di dalam harddisk walau ada beberapa kondisi dimana data tersimpan di disket. Linux/UNIX memberikan beberapa proses spesial dimana terminal, printer dan device hardware lainnya dapat diakses seperti kita mengakses file yang tersimpan dalam harddisk atau disket. _ Ketika program dijalankan, program tersebut dijalankan dari harddisk ke dalam RAM dan setelah dijalankan akan dinamakan sebagai proses. _ Linux/UNIX menyediakan servis untuk membuat, memodifikasi program, proses dan file. _ Linux/UNIX mendukung struktur file yang bersifat hirarki. _ Linux/UNIX adalah salah satu sistem operasi yang termasuk ke dalam kelas sistem operasi yang dapat melakukan multitasking. Multitasking sendiri adalah keadaan dimana suatu sistem operasi dapat melakukan banyak kerjaan pada saat yang bersamaan.
_ Selain multitasking, Linux/UNIX juga dapat mendukung multiuser. Yaitu sistem operasi yang pada saat bersamaan dapat digunakan oleh lebih dari satu user yang masuk ke dalam sistem. Bahkan untuk Linux juga mendukung
untuk multiconsole dimana pada saat bersamaan di depan komputer langsung tanpa harus melalui jaringan dan memungkinkan lebih dari satu user masuk ke dakam sistem.
1.5. Bagian sistem operasi
Sistem Operasi Linux/UNIX terdiri dari kernel, program sistem dan beberapa program aplikasi. Kernel merupakan inti dari sistem operasi yang mengatur penggunaan memori, piranti masukan keluaran, proses-proses, pemakaian file pada file system dan lain-lain. Kernel juga menyediakan sekumpulan layanan yang digunakan untuk mengakses kernel yang disebut system call. System call ini digunakan untuk mengimplementasikan berbagai layanan yang dibutuhkan oleh sistem operasi.
Program sistem dan semua program-program lainnya yang berjalan di atas kernel disebut user mode. Perbedaan
mendasar antara program sistem dan program aplikasi adalah program sistem dibutuhkan agar suatu sistem operasi dapat berjalan sedangkan program aplikasi adalah program yang dibutuhkan untuk menjalankan suatu aplikasi tertentu. Contoh : daemon merupakan program sistem dan pengolah kata (word processor) merupakan program aplikasi.
1.6. Bagian penting kernel Linux
Kernel Linux terdiri dari beberapa bagian penting, seperti : manajemen proses, manajemen memori, hardware device drivers, filesystem drivers, manajemen jaringan dan lain-lain. Namun bagian yang terpenting ialah manajemen proses dan manajemen memori. Manajemen memori menangani daerah pemakaian memori, daerah swap, bagian-bagian kernel dan untuk buffer cache. Manajemen proses menangani pembuatan proses-proses dan penjadwalan proses. Pada bagian dasar kernel berisi hardware device drivers untuk setiap jenis hardware yang didukung.
2. File System Linux
2.1 Struktur direktori Linux
Direktori root Linux memiliki beberapa direktori yang merupakan standar direktori pada banyak distro Linux. Direktoridirektori tersebut antara lain :
2.2 Struktur data kernel
Saat kernel melakukan sebuah proses, data-data proses tersebut disimpan secara periodik dalam bentuk file-file. Untuk melihat data-data kernel tersebut, maka file-file yang dimaksud harus di parsing setiap saat karena datanya yang dinamis. Cara termudah yang dapat dilakukan antara lain dengan menggunakan perintah cat. Syntax :
cat <file_system_yang_di_maksud>
File-file ini tersimpan dalam direktori-direktori yang disimpan terstruktur dalam direktori /proc.
Berikut ini gambaran sekilas mengenai struktur drektori /proc :
Pengenalan device
Semua device di linux dinyatakan dalam bentuk file. Apabila nantinya device-device ini perlu untuk di akses maka kita tinggal melihat isi dari /dev berikut adalah tabel dari penamaan device di linux :
· I/O dan perintah Dasar Linux
2.3 Pengenalan redirection dan pipe
Redirection dan pipe merupakan standar dari fasilitas shell di unix.
2.3.1 Redirection
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 edirection). Komponen-komponen dari redirection adalah <, >, < <, > > Untuk lebih jelas nya akan di berikan contoh untuk masing-masing redirection :
a. Output Redirection
Kita akan menggunakan perintah cat yang telah tersedia secara default di shell linux.
Syntax-nya sbb :
$ cat > <namafile>
Contoh :
Membuat File dengan nama test
antoro@drutz:~$ cat > test
ini hanya sebuah test dari output redirection
hehehehehe........
^D
Melihat isi file test
antoro@drutz:~$ cat test
ini hanya sebuah test dari output redirection
hehehehehe........
antoro@drutz:~$
Penambahan untuk file test
antoro@drutz:~$ cat > > test
baris ini tambahan dari yang lama...
^D
Melihat kembali isi file test setelah ditambahkan beberapa kata
antoro@drutz:~$ cat test
ini hanya sebuah test dari output redirection
hehehehehe........
baris ini tambahan dari yang lama...
antoro@drutz:~$
Disini kita melihat bahwa output dari perintah cat akan di belokkan (redirect) ke sebuah file dengan nama test.
b. Input Redirection
Isi dari suatu file akan kita gunakan sebagai input dari suatu proses yang akan kita jalankan. Sebagai contoh kita akan mencoba mengirimkan mail ke diri sendiridengan isi mail berasal dari file test tadi antoro@drutz:~$ mail antoro < test Sekarang kita lihat mail yang telah dikirim tadi dengan perintah sbb :
antoro@drutz:~$ mail
Mail version 8.1 6/6/93. Type ? for help.
"/var/spool/mail/antoro": 1 message 1 new
N 1 antoro@drutz.adhyaks Thu Nov 9 14:51 14/525
& 1
Message 1:
From antoro@drutz.adhyaksa.net Thu Nov 9 14:51:12 2000
Delivered-To: antoro@drutz.adhyaksa.net
To: antoro@drutz.adhyaksa.net
Date: Thu, 9 Nov 2000 14:51:12 +0700 (JAVT)
From: antoro@drutz.adhyaksa.net (/me)
ini hanya sebuah test dari output redirection
hehehehehe........
baris ini tambahan dari yang lama...
& q
antoro@drutz:~$
Isi dari file test di jadikan sebagai input dari proses yang kita lakukan yaitu proses pengiriman mail.
2.3.2 Pipeline
Pipeline ( | ) adalah fasilitas di shell UNIX yang berfungsi untuk memberikan input dari suatu proses dari output proses yang lain. Misalkan sebagai contoh :
Sebelum kita gunakan pipeline
antoro@drutz:~$ find *
dead.letter
mbox
test
Setelah kita gunakan pipeline
antoro@drutz:~$ find * | grep test
test
antoro@drutz:~$
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.
2.4 Shell (bash command)
Shell adalah sebuah program yang membaca input standar yaitu keyboard. Ketika kita mengetikkan sesuatu di keyboard maka shell akan menafsirkan apa yang kita ketikkan. Sebagai contoh apabila kita ketikkan ls pada shell dan ls ternyata merupakan program yang dapat di eksekusi maka shell akan menjalankan program tersebut. Misal :
antoro@drutz:~$ ls
test
antoro@drutz:~$ hello
bash: hello: command not found
antoro@drutz:~$
Kita dapat melihat bahwa ketika ls kita ketikkan maka program ls dijalankan, sedangkan apabila kita jalankan
hello dan karena memang tidak ada program hello maka shell tidak dapat mengeksekusinya.
2.4.1 Jenis-jenis shell
Jenis shell yang digunakan di unix maupun linux banyak macamnya, tetapi dilihat dari segi kuantitas pemakainya shell yang banyak dipakai adalah sebagai berikut :
· _ Bourne shell (sh)
· _ C shell (csh)
· _ Korn shell (ksh)
· _ Bourne Again shell (bash)
Yang paling banyak di gunakan adalah bash, dimana bash ini merupakan pengembangan dari sh dan ksh. Mayoritas
distribusi linux saat ini menggunakan bash sebagai default shell-nya.
2.4.2 Perintah-perintah dasar dalam Linux
cat
Perintah cat ini menampilkan isi dari suatu file ke standart output (stdout) Syntax :
$ cat <namafile>
Contoh :
antoro@drutz:~$ cat test
ini hanya sebuah test dari output redirection
hehehehehe........
baris ini tambahan dari yang lama...
cat dapat juga digunakan untuk memasukkan sebuah isi dari suatu file ke dalam file yang lain.
Syntax :
$ cat file1 file2 file3 > file4
clear
Perintah clear ini mirip dengan cls pada DOS yang gunanya membersihkan layar Syntax :
$ clear
Anton, Afri ,dan Wisesa Open Source Campus Agreement
cp
Mirip dengan copy pada DOS, perintah cp ini berfungsi mengkopi file. Syntax :
$ cp [option] file /dir/path/
Untuk lebih jelas silahkan dibaca pilihan-pilihannya dengan menjalankan :
$ cp --help
cut
Perintah cut mendefinisikan suatu file yang berisi data berdasarkan kolom Syntax :
$ cut [option] file
Contoh : kita akan cut file test dari kolom 1-7
antoro@drutz:~$ cut -c 1-7 test
ini han
heheheh
baris i
antoro@drutz:~$ cat test
ini hanya sebuah test dari output redirection
hehehehehe........
baris ini tambahan dari yang lama...
antoro@drutz:~$
Dari contoh dapat terlihat bahwa cut hanya menampilkan isi dari file test dari kolom 1 - 7
find
Dari namanya sudah dapat diterka bahwa perintah ini berfungsi untuk mencari file ataupun directori. Syntax :
$ find /path [option]
Contoh :
antoro@drutz:~$ find . -name te*
./test
antoro@drutz:~$
grep
Perintah ini berguna untuk pencarian data di dalam file, penggunaan grep akan lebih mengefisienkan waktu ketimbang harus membaca satu persatu Syntax :
$ grep [option] "data" file
Contoh :
antoro@drutz:~$ grep "ini" test
ini hanya sebuah test dari output redirection
baris ini tambahan dari yang lama...
antoro@drutz:~$
ln
Kegunaan perintah ini adalah untuk membuat link dari satu file/directori ke file/directori lain Syntax :
$ ln -s /path/to/source target
Contoh :
antoro@drutz:~$ ln -s test uji
antoro@drutz:~$ ls -l
total 2
-rw-r--r-- 1 antoro antoro 102 Nov 9 14:11 test
lrwxrwxrwx 1 antoro antoro 4 Nov 10 03:21 uji -> test
antoro@drutz:~$
Dari contoh dapat dilihat bahwa file uji adalah merupakan link dari file test
locate
Perintah ini digunakan untuk mengetahui dimana letaknya sebuah file atau directori. Fungsinya kurang lebih sama dengan find, bedanya locate menggunakan sebuah database (biasanya terletak di /var/lib/locatedb ) yang dapat di update menggunakan perintah updatedb. Syntax :
$ locate <something>
Contoh :
antoro@drutz:~$ locate uji
/home/antoro/uji
antoro@drutz:~$
ls
Perintah ini sama seperti dir pada DOS yanitu berfungsi untuk menampilkan isi dari suatu directory beserta atributatribut filenya. Syntax :
$ ls [option] /directory
Contoh :
antoro@drutz:~$ ls /home/antoro
test uji
antoro@drutz:~$
mkdir
Perintah mkdir ekivalen dengan md (make directory) pada DOS yang berguna untuk membuat sebuah directory. Syntax :
$ mkdir <namadir>
mv
Perintah ini mirip dengan perintah move pada DOS yang berguna untuk memindahkan file dari satu directory ke directory lainnya, atau juga dapat digunakan sebagai pengganti nama file (ren/rename pada DOS) Syntax :
$ mv file1 file2
rm dan rmdir
Perintah rm adalah perintah untuk menghapus file. Untuk directory dapat digunakan rmdir Syntax :
$ rm <namafile>
$ rmdir <namadirectori>
tail
Perintah ini berlawanan dengan perintah cut, tail mendefinisikan sebuah data pada file menurut barisnya. Sedikit perbedaan adalah pada tail secara default ditampilkan 10 baris terakhir dari isi file Syntax :
$ tail [option] <namafile>
Contoh :
antoro@drutz:~$ tail test
ini hanya sebuah test dari output redirection
hehehehehe........
baris ini tambahan dari yang lama...
antoro@drutz:~$
Bila kita ingin menampilkan hanya 2 baris terakhir gunakan option [-[nilai]. Misal :
antoro@drutz:~$ tail -2 test
hehehehehe........
baris ini tambahan dari yang lama...
antoro@drutz:~$
mount
Setiap device dalam linux agar dapat diakses harus terlebih dahulu di-mount atau dikaitkan. Syntax :
$ mount [option] /dev/<devicefile> /path/to/mountdir
Contoh :
$ mount /dev/hda1 /mnt/disk
ps
Perintah ini digunakan untuk melihat setiap proses yang dijalankan di dalam mesin beserta nomor prosesnya. Syntax :
$ ps [option]
kill
Perintah kill (mematikan) sesuai namanya adalah berfungsi untuk mengirimkan signal ke suatu proses. Sehingga bisa memerintahkan apakah suatu proses ditunda , dihentikan atau dilanjutkan. Tetapi paling sering digunakan untuk mematikan proses yang sedang berjalan. Syntax :
$ kill <nomor-prosesnya>
adduser, passwd dan userdel
Perintah adduser dan userdel adalah file-file untuk administrasi user. adduser digunakan untuk menambahkan user pada suatu mesin. Kemudian setelah ditambahkan ditentukan password user yang baru tersebut dengan perintah passwd. Sedangkan userdel digunakan untuk menghapus user di mesin. Untuk menjalankan perintah-perintah ini diperlukan root priviledge. Syntax :
# adduser <namauser>
# passwd <namauser>
# userdel [-r] <namauser>
PERTEMUAN II
1. Aplikasi dasar
Seperti juga pada MS Windows, untuk Linux maupun semua varian UNIX terdapat editor file yang dinamakan vi
atau vim (vi improved with syntax color highlighting). Selain vi terdapat program editor lain yang lebih mudah pemakaiannya serperti pico, joe, jove, mc (midnight commander), dll. Pada bab ini, akan dikenalkan bagaimana menggunakan editor vi, joe, pico dan mc.
1.1. Editor VI
Vim merupakan pengembangan dari editor vi yang mempunyai keunggulan dalam penggunaan warna. Vi merupakan editor yang paling terkenal di dunia UNIX. Vi ialah kepanjangan dari "Visual" editor. Vim mendukung penggunaan warna untuk menandakan kode program dan juga penanda teks seperti penggunaan huruf normal, tebal maupun cetak miring. Untuk menjalan perintah vi, kita gunakan sintaks sbb :
vi <nama_file>
1.1.1 Status vi
Editor vi mempunyai 3 mode, yaitu : _ command mode, untuk menggunakannya tekan ESC terlebih dahulu.
_ input mode, dengan mengetikkan perintah-perintah yang spesifik, seperti a I o 0 dan diakhiri dengan ESC atau dengan interrupt. _ line mode, suatu keadaan setelah ada proses input : ?, /, !
1.1.2 Notasi yang digunakan
CTRL-c, CTRL adalah tombol control pada keyboard, sehingga CTRL-c berarti "control c". CR (Carriage Return) ialah tombol enter.
Manipulasi file
1.2
Pico
Pico
Pico adalah teks editor jenis lain yang berdasarkan pada program compose email Pine. Navigasi untuk perintahnya diletakkan di bawah dari layar. Semua karakter yang diketik langsung disisipkan ke dalam teks. Perintah untuk menjalankan editor pico adalah sbb :
pico <nama file>
Daftar perintah yang tersedia pada pico dapat dilihat pada Tabel 5.7:
1.3 Joe
Perintah-perintah dalam editor joe ini sangat mirip dengan perintah-perintah pada WordStar. Jika kita telah terbiasa dengan perintah pada WordStar maka tidak akan kesulitan dalam menggunakan editor joe. Untuk menjalankan joe, kita dapat menggunakan perintah sbb :
joe <nama file>
Daftar perintah pada program editor joe dapat dilihat pada Tabel 5.8:
1.4 MC (Midnight Commander)
MC atau Midnight Commander merupakan aplikasi yang sangat berguna. Kemampuan mc sebagai editor hanya salah satu dari kemampuan-kemampuan lainnya. Untuk menjalankannya, digunakan perintah sbb :
mc -e <nama file> atau
mc kemudian insert file yang akan diedit lalu tekan F4 untuk mengedit. Perintah-perintah yang dapat digunakan dapat
dilihat pada Tabel 5.9:
Masing-masing editor ini mempunyai kelebihan dan kekurangan. Contohnya seperti pada editor pico yang sangat baik berjalan di terminal apapun, termasuk pada terminal bila kita sedang telnet dengan menggunakan telnet client standar dariWindows. Sedangkan vim/vi, kita gunakan karena banyak feature-feature yang sangat menarik sehingga membantu kita untuk lebih cepat dalam mengedit file. Editor joe dan mc, digunakan karena sederhana dan tampilannya yang menarik.
PERTEMUAN III
1. BASH SHELL PROGRAMMING
Variabel
Nama variable bisa terdiri dari numerik atau huruf dan tidak perlu pendeklarasian tipe data, dan dapat langsung diberikan nilai berupa numeric atau string. Contoh:
#!/bin/bash
STR="Hello World!"
ANGKA=10
echo $STR $ANGKA
perintah echo adalah perintah untuk mencetak variabel ke standar output.
Variabel Lokal
Untuk membuat variabel local cukup menyatakannya dengan keyword “local”. Contoh:
#!/bin/bash
HELLO=Hello
function hello
{
local HELLO=World
echo $HELLO
}
echo $HELLO
hello
echo $HELLO
Kondisi
Syntax pengkondisian dengan menggunakan if adalah
if [expression]; then
…
…
fi
Contoh kondisi dengan if…then:
#!/bin/bash
if [ "foo" = "foo" ]; then
echo expression evaluated as true
fi
Contoh kondisi dengan if...then else
#!/bin/bash
if [ "foo" = "foo" ]; then
echo expression evaluated as true
else
echo expression evaluated as false
fi
Contoh kondisi dengan variabel:
#!/bin/bash
T1="foo"
T2="bar"
if [ "$T1" = "$T2" ]; then
echo expression evaluated as true
else
echo expression evaluated as false
fi
Loop dengan for, while..until
Contoh for:
#!/bin/bash
for i in $( ls ); do
echo item: $i
done
#!/bin/bash
for i in `seq 1 10`;
do
echo $i
done
Contoh while:
#!/bin/bash
COUNTER=0
while [ $COUNTER -lt 10 ]; do
echo The counter is $COUNTER
let COUNTER=COUNTER+1
done
Contoh until:
#!/bin/bash
COUNTER=20
until [ $COUNTER -lt 10 ]; do
echo COUNTER $COUNTER
let COUNTER-=1
done
Perintah Select
Contoh membuat menu:
#!/bin/bash
OPTIONS="Hello Quit"
select opt in $OPTIONS; do
if [ "$opt" = "Quit" ]; then
echo done
exit
elif [ "$opt" = "Hello" ]; then
echo Hello World
else
clear
echo bad option
fi
done
Mengunakan Comamnd Line
#!/bin/bash
if [ -z "$1" ]; then
echo usage: $0 directory
exit
fi
SRCD=$1
TGTD="/var/backups/"
OF=home-$(date +%Y%m%d).tgz
tar -cZf $TGTD$OF $SRCD
$1 merupakan parameter command line yang pertama.
Input menggunakan read
#!/bin/bash
echo Input nama kamu :
read NAME
echo "Hi $NAME!"
secara muliple value:
#!/bin/bash
echo Input nama depan dan nama belakang kamu :
read FN LN
echo "Hi! $LN, $FN !"
Aritmatika
echo $[1+1]
Akan mencetak angka 2
echo 3/4|bc –l
Akan mencetak nilai pecahan 0.75
Mengambil nilai dari command output
#!/bin/bash
DBS=`mysql -uroot -e"show databases"`
for b in $DBS ;
do
mysql -uroot -e"show tables from $b"
done
TABEL Operator
Operator String | Keterangan |
S1 = S2 | Sama dengan |
S1 != S2 | Tidak sama dengan |
S1 > S2 | Lebih besar dari |
S1 < S2 | Lebih kecil dari |
-n S1 | S1 is not NULL |
-z S1 | S1 is NULL |
Contoh:
#!/bin/bash
S1='string'
S2='String'
if [ $S1=$S2 ];
then
echo "S1('$S1') tidak sama dengan S2('$S2')"
fi
if [ $S1=$S1 ];
then
echo "S1('$S1') sama dengan S1('$S1')"
fi
Operator Aritmatika
Operator Aritmatika | Keterangan |
+ | Penjumlahan |
- | Pengurangan |
* | Perkalian |
/ | Pembagian |
% | Sisa bagi |
Operator Pembanding Aritmatika | Keterangan |
-lt (less than) | Lebih kecil |
-gt (grather than) | Lebih besar |
-le (less equal than) | Lebih kecil atau sama dengan |
-ge (grather equal than) | Lebih besar atau sama dengan |
-eq (equal) | Sama dengan |
-ne (not equal) | Tidak sama dengan |
Useful Command:
sed (stream editor) merupakan non-ineractive editor dengan cara penggunaan adalah scrip instruksi editing ke sed plus nama file yang akan diedit. Dapat juga dengan tambahan filter. Contoh:
$sed 's/to_be_replaced/replaced/g' /tmp/dummy
sed akan mengganti kata to_be_replaced dengan kata replaced pada file dummy yang ada di direktori tmp.
awk (manipulation of datafiles, text retrieval and processing) untuk pencarian data pada file dengan mengunakan pattern.
grep (print lines matching a search pattern)
sort (sort lines of text files)
bc (a calculator programming language)
0 Masukan:
Posting Komentar