Kamis, 11 Oktober 2012

Perintah - Perintah dalam Linux
 
 
ls : untuk me-list file / directories didalam sebuah folder, sama seperti fungsi dir pada windows/dos.
ls -al : menampilkan semua file, folder , dan atribut tiap file

cd : ubah folder
cd /usr/local/apache : menuju folder /usr/local/apache/
cd ~ : ke folder home anda
cd – : ke folder terahkir dimana kami masuki
cd .. : menuju folder atas satu tingkat

cat : tampilakan isi file pada layar
cat filename.txt : akan menampilkan isi file filename.txt pada layar anda

tail : mirip cat, tapi hanya membaca baris ahkir dari file
tail /var/log/messages : melihat 20 baris terahkir(default) pada file /var/log/messages
tail -f /var/log/messages : melihat secara simultan isi file ketika diupdate
tail -200 /var/log/messages : tampilakan 200 baris terahkir pada layar

more : mirip cat, tetapi membuka file satu per satu daripada sekaligus
more /etc/usrdomains : menelusuri file domain. tekan tombol ke halaman berikutnya, sampai berhenti

pico : editor yang mudah digunakan hampir mirip dengan "nano".
pico /home/elvis/public_html/index.html : edit halaman index untuk user Elvis' website

grep : mencari pola didalam file.
grep root /etc/passwd : menampilkan semua yang sesuai dengan kata "root" didalam file /etc/passwd
grep -v root /etc/passwd : tampilkan semua baris yang sesuai dengan kata "root"

touch : membuat sebuah file kosong
touch /home/elvis/public_html/404.html : membuat sebuah file kosong dengan nama 404.html didalam folder /home/elvis/public_html/

ln : membuat "links" antara file dan folder.
ln -s /usr/local/apache/conf/httpd.conf /etc/httpd.conf : ketika kamu edit /etc/httpd.conf file asli/original akan ikut terupdate, tapi ketika kamu hapus link file original tidak akan terhapus.

rm : hapus sebuah file.
rm filename.txt : hapus filename.txt, tanpa konfirmasi
rm -f filename.txt : hapus filename.txt, tanpa konfirmasi
rm -rf tmp/ : menghapus seluru isi didalam folder tmp, termasuk semua file, subdfolder. HATI – HATI UNTUK PENGUNAANNYA

last : tampilkan history siapa yang sudah login.
last -20 : tampilkan hanya 20 baris terahkir login
last -20 -a : tampilkan hanya 20 baris terahkir login, dengan hostname

w : menampilkan siapa yang saat ini sendang login dan mengunakan IP berapa.
netstat : menampilkan semua koneksi network saat ini.
netstat -an : menampilkan semua koneksi ke server, berisi source dan destination IP's dan ports
netstat -rn : menampilkan routing tabel untuk semua IP's bound ke server

file : upaya untuk menebak jenis file dengan melihat isi konten
file * : tampilkan semua list file didalam folder

du : tampilkan pengunaan hardisk.
du -sh : memapilkan ringkasan, yang dapat dimengerti dengan total pemakain disk dalam sebuah folder yang sedang terbuka directory , termasuk subfolder
du -sh * : sama seperti diatas, tapi tiap fil dan folder. sangat membantu ketika mencari file terbesar pada hardisk.

wc : hitung kata.
wc -l filename.txt : memberitahukan berapa banyak baris didalam file filename.txt

cp : copy sebuah file
cp filename filename.bak : copy filename dengan nama filename.bak
cp -a /home/elvis/new_design/* /home/elvis/public_html/ : copy semua file, dengan permissionnya dari satu folder ke folder lain

karakter KHUSUS pada LINUX.
Cara jalankan perintah linux secara bersamaan
Seperti ketika anda ingin menjalakan 2 perintah yang berbeda tapi ingin anda jalankan pada satu baris

* simbol | karakter ini disebut pipe, ini akan mengambil program yang satu dan "pipe" mengunakan program yang lainnya

> simbol ini artinya membuat file baru, mereplace isi apa saja yang sudah ada sebelumnya

>> simbol ini artinya menambahkan data ke sebuah file, dan membuat file baru jika belum ada,

< mengirim masukan dari sebuah file kedalam sebuah perintah

grep User /usr/local/apache/conf/httpd.conf | more
ini akan menampilkan semua baris yang sesuai dengan kata "User" dari file httpd.conf, hasil akan ditampilakan pada satu layar

last -a > /root/lastllogins.tmp
ini akan menampilkan semua histroy yang sudah login file ini disebut lastlogins.tmp dalam folder home root's

tail -10000 /var/log/exim_mainlog | grep domain.com | more
this will grab the last 10,000 lines from the file /var/log/exim_mainlog, find all occurances of domain.com (the period represents 'anything', comment it out with a
so it will be interpreted literally), then send it to your screen page by page

netstat -an | grep :80 | wc -l
shows how many active connections there are to apache (httpd runs on port 80)

mysqladmin processlist | wc -l
show how many current open connections there are to MySQL
We have covered a few common command that server administrators use, however we have not even scratched the surface.

http://guru-host.eu/client/knowledgebase/12/Basic-commands-and-their-usage.html



 

Struktur Organisasi Linux

 
1. ORGANISASI FILE

Sistem file pada Linux menyerupai pepohonan (tree), yaitu dimulai dari root, kemudian direktory dan sub direktory. Sistem file pada Linux diatur secara hierarkikal, yaitu dimulai dari root dengan symbol “/” seperti Gambar 3.1

Kita dapat menciptakan File dan Direktori mulai dari root ke bawah. Direktori adalah file khusus, yang berisi nama file dan INODE (Pointer yang menunjuk ke data / isi file tersebut). Secara logika, direktori dapat berisi File dan Direktori lagi (disebut juga Subdirektori).


 
2. DIREKTORI STANDAR


Setelah proses instalasi, Linux menciptakan system file yang baku, terdiri atas direktory sebagai berikut :






Direktori /etc
Berisi file yang berhubungan dengan administrasi system, maintanance script, konfigurasi, security dll. Hanya superuser yang boleh memodifikasi file yang berada di direktori ini. Subdirektori yang sering diakses pada direktori /etc antaran lain :
• Httpd, apache web server.
• Ppp, point to point protocol untuk koneksi ke internet.
• rc.d atau init.d , inisialisasi (startup) dan terminasi (shutdown) proses di Linux dengan konsep runlevel.
• cron.d rincian proses yang dieksekusi dengan menggunakan jadwal ( time dependent process)
• FILES, file security dan konfigurasi meliputi : passwd, hosts, shadow, ftpaccess, inetd.conf, lilo.conf, motd, printcap, profile, resolv.conf, sendmail.cf, syslog.conf, dhcp.conf, smb.conf, fstab.

Direktori /dev
Konsep Unix dan Linux adalah memperlakukan peralatan hardware sama seperti penanganan file. Setiap alat mempunyai nama file yang disimpan pada direktori /dev.
 
 

Direktori /proc
Direktori /proc adalah direktori yang dibuat diatas RAM (Random Access Memory) dengan system file yang diatur oleh kernel. /proc berisi nomor proses dari system dan nama driver yang aktif di system. Semua direktori berukuran 0 (kosong) kecuali file kcore dan self. Setiap nomor yang ada pada direktori tsb merepresentasikan PID (proses ID).


3. TIPE FILE

Pada Linux terdapat 6 buah tipe file yaitu :
• Ordinary file
• Direktori
• Block Device ( Peralatan I/O )
   Merupakan representasi dari peralatan hardware yang menggunakan transmisi data   per block (misalnya 1 KB block), seperti disk, floppy, tape.

• Character Device (Peralatan I/O)
   Merupakan representasi dari peralatan hardware yang menggunakan transmisi data     karakter per karakter, seperti terminal, modem, plotter dll.

• Named Pipe (FIFO)
   File yang digunakan secara intern oleh system operasi untuk komunikasi antar proses.
• Link File

4. PROPERTI FILE
File mempunyai beberapa atribut, antara lain :
• Tipe file : menentukan tipe dari file, yaitu :




• Ijin akses : menentukan hak user terhadap file ini.
• Jumlah link : jumlah link untuk file ini.
• Pemilik (owner) : menentukan siapa pemilik file ini
• Group : menentukan grup yang memiliki file ini
• Jumlah karakter : menentukan ukuran file dalam byte
• Waktu Pembuatan : menentukan kapan file terakhir dimodifikasi
• Nama File : menentukan nama file yang dimaksud

Contoh
-rw-rw-r-- 1 bin auth 1639 oct 16 13:00 /etc/passwd
Penjelasan
- : merupakan tipe
rw-rw-r-- : merupakan ijin akses
1 : jumlah link
bin : pemilik
auth : group
1639 : jumlah karakter
Oct 16 13:00 : waktu
/etc/passwd : Nama file

5. NAMA FILE
Nama file maksimal terdiri dari 255 karakter berupa alfanumerik dan beberapa karakter spesial yaitu garis bawah, titik, koma dan lainnya kecuali spasi dan karakter-karakter berikut :
“&” , “,”, “|” , “?” , “ ’ ” , “ “ “ , “(“ , “)” , “[“ , “]” , “$” , “<” , “>” , “{“ , “}” , “^” , “#” , “\” , “/”.
Linux membedakan huruf kecil dengan huruf besar (case sensitif),
Contoh nama file yang benar :
Abcde5434
3
Prog.txt
PROG.txt
Prog.txt, old
report_1-1, v2.0.1
5-01.web.html

6. SIMBOLIC LINK
Link adalah teknik untuk memberikan lebih dari satu nama file dengan data yang sama. Bila file asli dihapus, maka data yang baru juga terhapus. Format dari Link : ln fileAsli fileDuplikat

File duplikat disebut hard link dimana kedua file akan muncul identik (link count=2) Bila fileAsli atau fileDuplikat diubah, maka perubahan akan terjadi pada file lainnya.
Simbolic link diperlukan bila file tersebut di “Link” dengan direktori /file yang berada pada partisi yang berbeda. Tipe file menjadi 1 (link) dan file tersebut menunjuk ke tempat asal. Format :
ln –s /fullpath/fileAsli /FullPath/FileDuplikat
Pilihan –s (shortcut) merupakan bentuk soft link, simbolic link dapat dilakukan pada file yang tidak ada, sedangkan pada hard link tidak dimungkinkan. Perbedaan lain, simbolic link dapat dibentuk melalui media disk atau partisi yang berbeda dengan soft link, tetapi pada hard link terbatas pada partisi disk yang sama.

7. MELIHAT ISI FILE
Untuk melihat jenis file menggunakan format :
file filename(s)
isi file akan dilaporkan dengan deskripsi level tinggi seperti contoh berikut :
# file myprog.c letter.txt webpage.html
myproc.c : C program text
letter.txt : ASCII text
webpage.html : HTML document text

perintah ini dapat digunakan secara luas untuk file yang kadang membingungkan, misalnya antara kode C++ dan java.


8. MENCARI FILE
Jika ingin melihat bagaimana pohon direktori dapat digunakan perintah
• Find
Format : find directory_name targetfile –print
Akan melihat file yang bernama targetfile (bisa berupa karakter wildcard)

• Which
Format : which command
Untuk mengetahui letak system utility

• Locate
Format : locate string
Akan mencari file pada semua direktori dengan lebih cepat dan ditampilkan dengan path yang penuh.


9. MENCARI TEXT PADA FILE
Untuk mencari text pada file digunakan perintah grep (General Regular Expression Print) dengan format perintah :
grep option pattern files
Grep akan mencari file yang bernama sesuai pattern yang diberikan dan akan menampilkan baris yang sesuai.

PERCOBAAN :
1. Login sebagai user
2. Bukalah Console Terminal (open terminal) dan lakukan percobaan-percobaan dibawah ini, dan perhatikan dan catat hasilnya.
3. selesaikan soal-soal latihan

Percobaan 1 : Direktori
1. Melihat direktori Home
# pwd
# echo #home

2. Melihat direktori aktual dan parent direktori
# pwd
# cd .
# pwd
# cd ..
# pwd
# cd

3. Membuat satu direktori, lebih dari satu direktori atau sub direktori
# pwd
# mkdir A B C A/D A/E B/F A/D/A
# ls –l
# ls –l A
# ls –l A/D

4. Menghapus satu atau lebih direktori hanya dapat dilakukan pada direktori kosong dan hanya dapat dihapus oleh pemiliknya kecuali bila diberikan ijin aksesnya.
# rmdir B ( Terdapat pesan error, mengapa ? )
# ls –l B
# rmdir B/F B
# ls –l B ( Terdapat pesan error, mengapa ? )

5. Navigasi direktori dengan instruksi cd untuk pindah dari satu direktori ke direktori lainnya.
# pwd
# ls –l
# cd A
# pwd
# cd /home/
Percobaan 2 : Manipulasi File
1. perintah cp untuk mengkopi file atau seluruh direktori
# cat > contoh
Membuat sebuah file
[Ctrl+d]
# cp contoh contoh1
# ls –l
# cp contoh A
# ls –l A
# cp contoh contoh1 A/D
# ls –l A/D

2. perintah mv untuk memindahkan file
# mv contoh contoh2
# ls –l
# mv contoh1 contoh2 A/D
# mv contoh contoh1 C
# ls –l C

3. perintah rm untuk menghapus file
# rm contoh2
# ls –l
# rm –i contoh
# rm –rf A C
# ls –l

Percobaan 3 : Symbolic Link
1. Membuat shortcut (file link)
# echo “ Halo Apa kabar “ > halo.txt
# ls –l
# ln halo.txt z
# ls –l
# cat z
# mkdir mydir
# ln z mydir /halo.juga
# cat mydir /halo.juga
# ln –s z bye.txt
# ls –l bye.txt
# cat bye.txt

Percobaan 4 : Melihat isi file
# ls –l
# file halo.txt
# file bye.txt

Percobaan 5 : Mencari file
1. perintah find
# find /home –name “*.txt” –print > myerror.txt
# cat myerror.txt
# find . –name “*.txt” –exec wc –l ‘{}’ ‘;’

2. Perintah which
# which ls

3. Perintah locate
# locate “*.txt”

Percobaan 6 : Mencari text pada file
# grep Hallo *.txt


LATIHAN
1. Cobalah urutan perintah berikut :
# cd
# pwd
# ls –al
# cd .
# pwd
# cd ..
# pwd
# ls –al
# cd ..
# pwd
# ls -al
# cd /etc
# ls –al | more
# cat passwd
# cd –
# pwd

2. Lanjutkan penelusuran pohon pada sistem file menggunakan cd, ls, pwd dan cat.
Telusuri direktori /bin, /usr/bin, /sbin, /tmp dan /boot. {jangan melakukan perubahan isi direktori tsb.}

3. Telusuri direktori /dev. Identifikasi perangkat yang tersedia. Identifikasi tty (terminal) Anda (ketik who am i). siapa pemilik tty Anda ( gunakan ls –l).

4. Telusuri direktori /proc. Tampilkan isi file interrupts, devices, cpuinfo, meminfo dan uptime menggunakan perintah cat. Dapatkah Anda melihat ? mengapa direktori /proc disebut pseudo-file system yang memungkinkan akses ke struktur data kernel ?

5. Ubahlah direktori home ke user lain secara langsung menggunakan cd ~username
6. Ubah kembali ke direktori home anda
7. Buat subdirektori work dan play
8. Hapus subdirektori work
9. Copy file /etc/passwd ke direktori home anda
10. Pindahkan ke subdirektori play
11. Ubahlah ke subdirektori play dan buat symbolic link dengan nama terminal yang menunjuk ke perangkat tty. Apa yang terjadi jika melakukan hard link ke perangkat tty ?
12. Buatlah file bernama hello.txt yang berisi kata “hello word”. Dapatkah Anda gunakan “cp” menggunkan “terminal” sebagai file asal untuk menghasilkan efek yang sama ?
13. Copy hello.txt ke terminal. Apa yang salah ?
14. Masih direktori home, copy keseluruhan direktori play ke direktori bernama work menggunakan symbolic link.
15. Hapus direktori work dan isinya dengan satu perintah.


 
 
 
 
 
 
 
 
 
 
 









Rabu, 10 Oktober 2012

Sejarah Perkembangan Linux
 
Dunia sistem operasi akhir-akhir ini berkembang dengan begitu pesatnya. Kekuatan open source dibaliknya telah membuat linux berkembang dengan begitu cepat. Siapa yang tidak kenal dengan Open Suse, distribusi linux yang menawan dengan warna hijau khasnya? Siapa yang tidak kenal Fedora, dengan thema solar nya yang begitu mempesona?Siapa yang tidak kenal dengan Slackware distribusi linux paling tua dan terus dilakukan pengembangannya hingga sekarang? Siapa tidak kenal dengan Mandriva, dahulu namanya Mandrake, yang memiliki kompatibilitas hardware (perangkat keras) yang begitu tinggi? Bagi pemerhati security, siapa yang tidak kenal dengan Backtrack, distribusi turunan slackware yang dapat dijadikan sebagai auditor tools security memerika dan melakukan audit terhadap keamanan sistem? Sebagai pemerhati IT Indonesia, siapa yang tidak kenal dengan IGOS, distribusi turunan Fedora yang pengembangannya dilakukan oleh pemerintah Indonesia melalui LIPI ? Siapa yang tidak kenal dengan Ubuntu, distribusi turunan debian yang memiliki begitu banyak paket aplikasi dalam pengembangannya? Pastinya kepupuleran linux hingga seperti yang sekarang ini tidaklah lepas dari sejarah panjang yang menarik untuk diketahui.

UNIX merupakan salah satu sistem operasi yang mengawali lahirnya Linux ke dunia ini. UNIX merupakan salah satu sistem operasi yang ada saat ini. Adapun UNIX merupakan salah satu sistem operasi populer selain keluarga raksasa Microsoft (mulai dari DOS, MS 9x sampai Vista), Novell, OS/2, BeOS, MacOS dan lainnya.



Sejarah kemunculan UNIX dimulai pada tahun 1965 ketika para ahli dari Bell Labs, sebuah laboratorium milik AT&T, bekerja sama dengan MIT dan General Electric membuat sistem operasi bernama Multics(sudah pernah dengar belum?). Nah, sistem operasi Multics ini awalnya didesain dengan harapan akan menciptakan beberapa keunggulan, seperti multiuser, multiprosesor, dan multilevel filesystem. Namun pada tahun 1969, AT&T akhirnya menghentikan proyek pembuatan Multics karena sistem operasi Multics ini sudah tidak memenuhi tujuan semula. Dengan kata lain, proyek ini mengalami hambatan karena dalam kenyataannya Multics banyak terdapat bugs dan sulit sekali dioperasikan.
 
Beberapa programmer Bell Labs yang terlibat dalam pembuatan dan pengembangan Multics, yaitu Ken Thompson, Dennis Ritchie, Rudd Canaday, dan Doug Mcllroy, secara tidak resmi tetap meneruskan proyek pengembangan Multics. Dan akhirnya sampailah pada sebuah sistem operasi generasi penerus dari Multics bulan Januari 1970 yang diberi nama UNIX.
 

Adapun generasi baru Multics ini memiliki lebih banyak keuggulan dibandingkan saudara tuanya. Nama UNIX diberikan oleh Brian Kernighan untuk memberi penegasan bahwa UNIX bukanlah Multics (tidak sama). UNIX akhirnya memiliki keunggulan seperti yang diharapkan pada awal penciptaannya. Yaitu:
  • Multilevel Filesystem
  • Multiuser dan Multiprosesor
  • Desain arsitektur yang independen terhadap suatu hardware
  • Berbagai device dapat dianggap sebagai file khusus
  • Memiliki user interface yang sederhana
  • Cocok untuk lingkungan pemrograman
  • Memiliki utilitas yang dapat saling digabungkan





  • Setahun setelahnya, UNIX dapat dijalankan pada komputer PDP-11 yang memiliki memory 16 KB dan sebuah disk berukuran 512 KB. Pada waktu itu source codenya UNIX masih ditulis dalam bahasa mesin (assembler). Kemudian pada tahun 1973, source code UNIX ditulis ulang dalam bahasa C yang dibuat oleh Dennis Ritchie.



    Tujuan Mr. Ritchie mengubah source code UNIX ke dalam bahasa C tak lain dan tak bukan karena bahasa C didesain multiplatform dan bersifat fleksibel. Dengan dirubahnya source code ke dalam bahasa C, maka UNIX dapat dikembangkan dan dikompilasi ulang ke berbagai jenis komputer. Sejak saat itu dibuatlah berbagai macam varian UNIX yang sengaja didesain untuk jenis komputer tertentu.



    Setahun kemudian, karena merasa UNIX sudah cukup matang, maka Thompson dan Ritchie mempublikasikan sebuah paper tentang UNIX. Ternyata UNIX mendapat sambutan yang sangat luar biasa dari lingkungan perguruan tinggi. Dan UNIX lah yang menjadi sistem operasi favorit di lingkungan perguruan tinggi.



    Awalnya, sistem operasi UNIX ini didistribusikan secara gratis di dunia pendidikan, namun setelah banyak digunakan oleh korporasi industri dan bisnis (karena kehandalannya menangani bidang jaringan (networking), UNIX akhirnya diperdagangkan dan dipatenkan). Dalam perkembangan selanjutnya, UNIX dan varian-variannya yang dikomersialkan menjadi suatu sistem operasi yang cukup mahal pada saat itu(namun ada beberapa yang gratis karena dikembangkan dengan semangat openSource), hal ini disebabkan karena kestabilan, mampu mengerjakan program multitasking dan dapat digunakan oleh beberapa user secara bersamaan.



    Adapun varian UNIX yang dikomersialkan dan populer karena kehandalannya seperti BSD 4.1 (1980), SunOS, BSD 4.2, SysV(1983), UnixWare dan Solaris 2(1988), dan lainnya. Dan yang dikembangkan dengan semangat openSource atau free diantaranya: FreeBSD, OpenBSD, NetBSD, Mnix, Hurd


    Nama sistem operasi Linux diambil dari nama seorang mahasiswa University of Helsinki, Linus yang kemudian disebut sebagai bapak sistem operasi linux. Linus dilahirkan di Helsinki, Finlandia pada tanggal 28 Desember 1969. Orang yang disebut sebagai Bapak Linux(LINus UniX) ini, sudah mengenal bahasa pemrograman pada umurnya yang ke 10. Saat itu ia sering mengutak-atik komputer kakeknya, Commodore VIC-20. Karena hobinya dalam dunia komputing, 1988 Linus diterima di Univerity of Helsinki dan pada tahun 1990, Linus memulai kelas pemrograman C pertamanya. Pada tahun 1991, Linus tidak puas terhadap sistem operasi yang ada pada PC pertamanya (MS-DOS atau Disk Operation System), OS buatan Microsoft.



    Linus lebih cenderung untuk menggunakan sistem operasi UNIX seperti yang dipakai komputer milik universitasnya. Akhirnya ia mengganti sistem operasi openSource Minix yang berbasiskan UNIX. Adapun Minix ini merupakan sistem UNIX kecil yang dikembangkan oleh Andrew S. Tanenbaum, seorang professor yang menggeluti penelitian masalah OS dari Vrije Universiteit, Belanda. Adapun Minix ini digunakan untuk keperluan pengajaran dan pendidikan.



    Namun Linus merasa bahwa Minix masih memiliki banyak kelemahan. Dan mulai saat itu, di usianya yang ke-23, Linus mulai mengutak-atik kernel Minix. Dan ia mulai mengembangkan sistem yang kompatibel dengan IBM PC. Pada bulan Agustus 1991, lahirlah Linux 0.01 hasil oprekan Linus, dan pada tanggal 5 Oktober 1991, secara resmi Linus mengumumkan Linux 0.02 yang hanya dapat menjalankan BASH dan gcc compiler. Selain itu, Linus juga mempublikasikan sistem operasi buatannya tersebut lengkap dengan source codenya, yang ternyata disambut dengan sangat antusias oleh para programmer dan developer di seluruh dunia agar dapat di develop bersama-sama.



    Sampai saat ini, Linux dibangun oleh berbagai macam komunitas dan jangan heran apabila banyak sekali distro-distro Linux yang beredar. Mulai dari yang berbayar sampai yang gratis, dari untuk pemula sampai tingkat lanjut, dan biasanya dengan banyaknya distro Linux yang beredar akan membuat orang awam bingung untuk memilih distro. Bayangkan, ada beratus-ratus distro yang tercipta atau bahkan beribu-ribu. Namun perlahan tapi pasti, diantara distro-distro Linux ini ada yang menyamai (atau bahkan) melebihi kemampuan dari Sistem Operasi keluarga raksasa (Microsoft) dan dengan semakin mudahnya dan semakin lengkapnya dukungan Linux pada hardware, besar kemungkinan Linux akan menjadi alternatif (atau bahkan sistem operasi utama di dunia).