Anda di halaman 1dari 32

Workshop

Linux Fundamental

Bab I
LINUX dan Open Source
Sejarah Singkat Linux
Pada tahun 1969, Ken Thompson dan Dennis Ritchie (juga adalah developer bahasa C),
para peneliti di AT&T Bell Laboratorium Amerika, membuat sistem operasi UNIX, cikal bakal dari
Linux. UNIX mendapatkan perhatian besar karena merupakan sistem operasi pertama yang
dibuat bukan oleh hardware maker. Selain itu juga karena seluruh source code-nya dibuat
dengan bahasa C, sehingga mempermudah pemindahannya ke berbagai platform. Dalam waktu
singkat UNIX berkembang secara pesat dan terpecah dalam dua aliran: UNIX yang
dikembangkan oleh Universitas Berkeley dan yang dikembangkan oleh AT&T.
Setelah itu mulai banyak perusahaan yang melibatkan diri, dan terjadilah persaingan
yang melibatkan banyak perusahaan untuk memegang kontrol dalam bidang sistem operasi.
Persaingan ini menyebabkan perlu adanya standarisasi. Dari sini lahirlah proyek POSIX yang
dimotori oleh IEEE (The Institute of Electrical and Electronics Engineers) yang bertujuan untuk
menetapkan spesifikasi standar UNIX. Akan tetapi, standarisasi ini tidak meredakan persaingan.
Sejak saat itu, muncul berbagai macam jenis UNIX.
Salah satu diantaranya adalah MINIX yang dibuat oleh A. S. Tanenbaum untuk tujuan
pendidikan. Source code MINIX inilah yang oleh Linus Torvalds, seorang mahasiswa
Universitas Helsinki pada waktu itu, kemudian dijadikan sebagai referensi untuk membuat sistem
operasi baru yang gratis dan yang source codenya bisa diakses oleh umum. Sistem operasi ini
kemudian diberi nama Linux. Dalam membangun Linux, Linus menggunakan tool-tool dari Free
Foundation Software yang berlisensi GNU. Kemudian untuk menjadikan Linux sebuah sistem
operasi yang utuh, dia memasukkan program-program yang juga berlisensi GNU.
Awalnya Linus membuat Linux sendiri sebagai hobi, karena ia ingin menjalankan sistem
operasi semacam UNIX dalam komputer 386-nya. Dari hasil kerjanya lahirlah Linux versi 0.01,
yang sebenarnya masih belum bisa disebut sebuah sistem operasi. Setelah mengalami
perbaikan, jadilah Linux versi 0.02, yang notabene adalah Linux resmi versi pertama yang
diumumkan pada publik. Linus mengumumkan source code Linux pada tanggal 5 Oktober 1991.
Saat itu Linux sudah dapat menjalankan shell bash, gcc compiler, GNU make, GNU sed,
compress dll. Proyek Linux ini mendapatkan perhatian dari para programer di seluruh dunia yang
kemudian turut berpartisipasi membangun Linux. Perkembangan Linux berlangsung dengan
sangat pesat hingga saat ini. Versi terbaru dari kernel Linux dapat anda check pada situs
http://www.kernel.org [1].
Saat ini hanya pembangunan kernel Linux saja yang masih dikontrol oleh Linus sendiri.
Sedangkan bagian lain dari sistem operasi Linux telah dikembangkan oleh banyak pihak. Oleh
karenanya sekarang kita dapat melihat berbagai macam distro (distribusi, jenis) Linux yang
jumlahnya ratusan jenis. Salah satu distro yang terkenal adalah RedHat. Selain itu ada juga
distribusi Slackware dan Debian yang memiliki ciri khasnya masing-masing. Linux juga diadaptasi
ke banyak bahasa seperti misalnya Linux Trustix Merdeka di Indonesia, Vine Linux di Jepang,
RedFlag Linux di Cina, dll.
Perkembangan yang pesat ini tidak terlepas dari jasa proyek GNU yang menyediakan
program-program bermutu yang gratis dan esensial dalam Linux, seperti shell program, compiler,
XFree, GNOME desktop, dll. Boleh dikatakan Linux ada saat ini berkat budaya open source dan
fenomena Linux ini pula salah satu bukti kehebatan dari budaya open source.

Open Source Community (OSC)


PENS-ITS
Workshop
Linux Fundamental

Lisensi Open Source


Bila diterjemahkan secara langsung, open source berarti “(kode) sumber yang terbuka”.
Sumber yang dimaksud disini adalah source code (kode sumber) dari sebuah software
(perangkat lunak), baik itu berupa kode-kode bahasa pemrograman maupun dokumentasi dari
software tersebut.
Pada bagian pertama dituliskan bahwa open source adalah suatu budaya. Hal ini
bermaksud untuk menegaskan bahwa open source ini berlatar dari gerakan nurani para pembuat
software yang berpendapat bahwa source code itu selayaknya dibuka terhadap publik. Tetapi
pada prakteknya open source itu bukan hanya berarti memberikan akses pada pihak luar
terhadap source code sebuah software secara cuma-cuma, melainkan lebih dari itu. Ada banyak
hal yang perlu dipenuhi agar sebuah software dapat disebut didistribusikan secara open source
atau dengan kata lain bersifat open source.
Sebuah organisasi yang bernama Open Source Organization, mendefinisikan pendistribusian
software yang bersifat open source dalam The Open Source Definition. The Open Source
Definition ini bukanlah sebuah lisensi, melainkan suatu set kondisi-kondisi yang harus dipenuhi,
agar sebuah lisensi dapat disebut bersifat open source.
Ada pun definisinya sebagai berikut : [2]

1. Pendistribusian ulang secara cuma-cuma. Sebagai contoh adalah Linux yang dapat diperoleh
secara cuma-cuma.
2. Source code dari software tersebut harus disertakan atau diletakkan di tempat yang dapat
diakses dengan biaya yang rasional. Dan tentu saja tidak diperkenankan untuk menyebarkan
source code yang menyesatkan.
3. Software hasil modifikasi atau yang diturunkan dari software berlisensi source code, harus
diijinkan untuk didistribusikan dengan lisensi yang sama seperti software asalnya
4. Untuk menjaga integritas source code milik penulis software asal, lisensi software tersebut
dapat melarang pendistribusian source code yang termodifikasi, dengan syarat, lisensi itu
mengijinkan pendistribusian file-file patch (potongan file untuk memodifikasi sebuah source
code) yang bertujuan memodifikasi program tersebut dengan source code asal tersebut.
Dengan begitu, pihak lain dapat memperoleh software yang telah dimodifikasi dengan cara
mem-patch (merakit) source code asal sebelum mengkompilasi.
Lisensi itu secara eksplisit harus memperbolehkan pendistribusian software yang dibuat dari
source code yang telah dimodifikasi. Lisensi tersebut mungkin memerlukan hasil kerja
modifikasi untuk menyandang nama atau versi yang berbeda dari software asal.
5. Lisensi tersebut tidak diperbolehkan menciptakan diskriminasi terhadap orang secara individu
atau kelompok.
6. Lisensi tersebut tidak boleh membatasi seseorang dari menggunakan program itu dalam
suatu bidang pemberdayaan tertentu. Sebagai contoh, tidak ada pembatasan program
tersebut terhadap penggunaan dalam bidang bisnis, atau terhadap pemanfaatan dalam
bidang riset genetik.
7. Hak-hak yang dicantumkan pada program tersebut harus dapat diterapkan pada semua yang
menerima tanpa perlu dikeluarkannya lisensi tambahan oleh pihak-pihak tersebut.
8. Lisensi tersebut tidak diperbolehkan bersifat spesifik terhadap suatu produk. Hak-hak yang
tercantum pada suatu program tidak boleh tergantung pada apakah program tersebut
merupakan bagian dari satu distribusi software tertentu atau tidak. Sekalipun program diambil
dari distribusi tersebut dan digunakan atau didistribusikan selaras dengan lisensi program itu,
semua pihak yang menerima harus memiliki hak yang sama seperti yang diberikan pada
pendistribusian software asal.
9. Lisensi tersebut tidak diperbolehkan membatasi software lain. Sebagai contoh, lisensi itu tidak
boleh memaksakan bahwa program lain yang didistribusikan pada media yang sama harus
bersifat open source atau sebuah software compiler yang bersifat open source tidak boleh
melarang produk software yang dihasilkan dengan compiler tersebut untuk didistribusikan
kembali.

Open Source Community (OSC)


PENS-ITS
Workshop
Linux Fundamental

Lisensi-lisensi yang telah disertifikasi oleh Open Source Organization ini antara lain GNU
General Public License (GPL) (juga dikenal sebagai “Copyleft”), GNU Library General Public
License (LGPL), dan Sun Public License. Daftar selengkapnya dapat dilihat di:
http://www.opensource.org/licenses.
GNU GPL dan GNU LGPL adalah lisensi yang dibuat oleh The Free Software
Foundation. Lisensi ini pula yang digunakan oleh software Linux pada umumnya. Kata “free”
dalam lisensi ini merujuk pada hal "kebebasan", bukan pada hal “uang”. Dengan kata lain, “free”
dalam hal ini berarti “bebas” bukan “gratis”, seperti yang tertulis dalam pembukaan lisensi
tersebut diatas.
Berikut adalah cuplikan dari pembukaan GNU GPL yang dapat dikatakan merupakan
rangkuman dari keseluruhan lisensi tersebut [3].
“Ketika kita berbicara tentang perangkat lunak bebas, kita mengacu kepada kebebasan,
bukan harga. Lisensi Publik Umum kami dirancang untuk menjamin bahwa Anda memiliki
kebebasan untuk mendistribusikan salinan dari perangkat lunak bebas (dan memberi harga untuk
jasa tersebut jika Anda mau), mendapatkan source code atau bisa mendapatkannya jika Anda
mau, mengubah suatu perangkat lunak atau menggunakan bagian dari perangkat lunak tersebut
dalam suatu program baru yang juga bebas; dan mengetahui bahwa Anda dapat melakukan
semua hal ini.”

Kehebatan Open Source


Ketika kita melisensikan program kita dengan lisensi open source, programer-programer
dari penjuru dunia dapat berpartisipasi dalam pembuatan software kita. Dengan titik pandang
lain, kita memperoleh engineer-engineer yang berkualitas untuk membangun software kita secara
gratis.
Memang tidak mudah untuk menarik perhatian programer-programer untuk ikut
berpartisipasi membangun software kita. Tetapi begitu hal ini terwujud maka kita akan dapat
melihat perkembangan yang kilat dari software kita. Baik perkembangan dari segi teknik (versi)
software itu sendiri maupun dari segi jumlah pengguna software kita. Dari segi bisnis, pengguna
software inilah yang menjadi target dari bisnis open source. Secara singkat dapat dikatakan,
bahwa sebuah open source software membentuk sendiri development environment dan
marketnya.
Ada banyak proyek-proyek open source yang sukses saat ini yang mungkin pembaca
pernah dengar. Misalnya: Apache, Tomcat, Java, dll. Sulit dipungkiri bahwa software-software
yang berlisensi open source ini sukses merajai dunia aplikasi web.
Penulis sendiri pernah bertemu dengan Hiroyuki Yamamoto, yang merupakan pembuat
program mail client, Sylpheed [4]. Menurut penuturannya, pada awalnya dia hanya membagikan
programnya pada teman-teman dekatnya saja. Tetapi kemudian mulai ada beberapa pengguna
dari berbagai negara yang kebetulan mendownload program tersebut dari homepagenya, yang
kemudian tertarik pada program tersebut. Dari situ berangkatlah Sylpheed menjadi sebuah
program open source yang dibuat oleh programer-programer dari penjuru dunia dalam waktu
singkat.
Kini Sylpheed telah menjadi mail client yang disertakan dalam banyak distro Linux dan telah
diterjemahkan ke dalam berbagai bahasa. Sylpheed ini adalah satu contoh program yang
awalnya berskala kecil, tapi kemudian sukses menarik perhatian banyak programer-programer
yang ingin ikut serta dalam mengembangkan programnya.

Referensi

[1] http://www.kernel.org
[2] Dikutip dengan perubahan seperlunya dari http://www.opensource.org/docs/osd-indo.php
[3] Dikutip dari terjemahan tidak resmi GNU GPL http://vlsm.org/etc/gpl-unofficial.id.html
[4] http://sylpheed.good-day.net/index.cgi.en

Open Source Community (OSC)


PENS-ITS
Workshop
Linux Fundamental

Bab II
Perintah Dasar LINUX
Format Instruksi Linux
$ NamaInstruksi [pilihan] [argumen]

Pilihan adalah option yang dimulai dengan tanda – (minus). Argumen dapat kosong,
satu atau beberapa argumen (parameter).
Contoh :

$ ls tanpa argumen
$ ls –a option adalah –a = all, 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
$ ls –la /bin /etc 2 option –l dan –a dan 2 argumen

Perlu untuk diketahui bahwa NamaInstruksi bersifat case sensitive.

1. id

Fungsi : Melihat identitas diri (nomor id dan group id)

spyd33yk@spyd33yk-r00m:~$ id
uid=1000(spyd33yk)gid=1000(spyd33yk)groups=4(adm),20(dialout),24(cdrom
),25(floppy),29(audio),30(dip),44(video),46(plugdev),104(scanner),108(
lpadmin),110(admin),115(netdev),117(powerdev),1000(spyd33yk)
spyd33yk@spyd33yk-r00m:~$

Keterangan:
id adalah perintah untuk menampilkan nama pemakai serta nomor identitas dari pemakai serta
nama grup dan nomor identitas grup

2. hostname & uname

Fungsi : Melihat identitas mesin

spyd33yk@spyd33yk-r00m:~$ hostname
spyd33yk-r00m
spyd33yk@spyd33yk-r00m:~$ uname
Linux
spyd33yk@spyd33yk-r00m:~$ uname -a
Linux spyd33yk-r00m 2.6.22-14-generic #1 SMP Sun Oct 14 23:05:12 GMT
2007 i686 GNU/Linux
spyd33yk@spyd33yk-r00m:~$

Open Source Community (OSC)


PENS-ITS
Workshop
Linux Fundamental

Keterangan:
hostname adalah perintah untuk m enampilkan nama local host (mesin dimana anda sedang
bekerja). edit file /etc/hosts untuk merubah nama host dari mesin tersebut. untuk melihat identitas
mesin secara lebih detail dapat menggunakan perintah uname

3. whoami

Fungsi: Melihat pemakai yang sedang login/aktif di suatu terminal

spyd33yk@spyd33yk-r00m:~$ whoami
spyd33yk
spyd33yk@spyd33yk-r00m:~$

Keterangan : whoami adalah perintah dapat digunakan bila kita menemukan terminal yang belum
logout atau exit dan ingin mengetahui milk siapa terminal tersebut diaktifkan.

4. who

Fungsi : Melihat pemakai yang sedang login/aktif

spyd33yk@spyd33yk-r00m:~$ who
spyd33yk tty7 2007-12-25 19:51 (:0)
spyd33yk pts/0 2007-12-25 21:00 (:0.0)
spyd33yk@spyd33yk-r00m:~$

Keterangan :
who adalah perintah untuk menampilkan pemakai yang sedang menggunakan sistem dengan
menampilkan nama pemakai, terminal ID dan waktu masing-masing login.

5. finger

Fungsi : Melihat pemakai yang sedang login/aktif

spyd33yk@spyd33yk-r00m:~$ finger
Login Name Tty Idle Login Time Office Office Phone
spyd33yk spyd33yk tty7 Dec 25 19:51 (:0)
spyd33yk spyd33yk pts/0 Dec 25 21:00 (:0.0)
spyd33yk@spyd33yk-r00m:~$

Keterangan:
finger adalah perintah untuk menampilkan pemakai yang sedang menggunakan sistem akan
tetapi perintah finger data yang ditampilkan lebih lengkap dibandingkan dengan perintah who.

6. date

Fungsi : Menampilkan atau mengatur tanggal

spyd33yk@spyd33yk-r00m:~$ date
Tue Dec 25 21:10:46 WIT 2007
spyd33yk@spyd33yk-r00m:~$

Open Source Community (OSC)


PENS-ITS
Workshop
Linux Fundamental

Keterangan:
date adalah perintah untuk menampilkan tanggal pada sekarang jika tidak disisipi
command yang lain.
7. cal

Fungsi : Mencetak kalender .

spyd33yk@spyd33yk-r00m:~$ cal
December 2007
Su Mo Tu We Th Fr Sa

1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31

untuk melihat kalender satu tahun penuh:

spyd33yk@spyd33yk-r00m:~$ cal -y

untuk melihat kalender tahun 2002 pada bulan 9:

$ cal 9 2002

Keterangan:
cal adalah perintah untuk menampilkan kalender yang ditentukan bila tidak disisipi command
yang lain maka akan keluar kalender tahun ini.

8. ls

Fungsi:Menampilkan semua directory yang aktif.

spyd33yk@spyd33yk-r00m:~$ ls -l
total 248
-rw-r--r-- 1 spyd33yk spyd33yk 12936 2007-12-18 14:21 botlib.log
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-24 23:37 Desktop
drwxr-xr-x 8 spyd33yk spyd33yk 4096 2007-12-25 20:54 Documents
drwxr-xr-x 4 spyd33yk spyd33yk 4096 2007-12-13 21:15 eclipse-workspace
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-05 17:45 Music
-rw-r--r-- 1 spyd33yk spyd33yk 200704 2007-12-24 23:05 nautilus-debug-
log.txt
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-06 02:44 Pictures
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-05 17:45 Public
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-05 17:45 Templates
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-19 23:02 Videos
spyd33yk@spyd33yk-r00m:~$

Keterangan: ls adalah perintah untuk menampilkan informasi mengenai directory dan file.Bentuk
sederhana perintah ls akan menampilkan namafile aja.

Open Source Community (OSC)


PENS-ITS
Workshop
Linux Fundamental

Option- option yang ada dalam command ls :


ls -a tampilkan semua file didirektory.
ls -o tampilkan hanya nama directory
ls -g cetak ID kelompok hanya untuk bentuk panjang
ls -i cetak nomor untuk setiap pemakai
ls -l tampilkan seluruh file secara lengkap
ls -r ubah urutan pengaturan nama file yang telah disusun
ls -t atur nama file berdasarkan waktu modifikasi terakhir,tidak berdasarkan nama
ls –f Menampilkan semua file atau direktori tanpa proses sorting.

9. clear

Fungsi : membersihkan layar

spyd33yk@spyd33yk-r00m:~$ clear

10. mkdir

Fungsi : membuat direktori

Format :

$ mkdir nama_direktori

spyd33yk@spyd33yk-r00m:~$ ls
botlib.log coba.txt Desktop Documents eclipse-workspace Music
nautilus-debug-log.txt Pictures Public Templates Videos
spyd33yk@spyd33yk-r00m:~$ mkdir test
spyd33yk@spyd33yk-r00m:~$ ls
botlib.log coba.txt Desktop Documents eclipse-workspace Music
nautilus-debug-log.txt Pictures Public Templates test Videos
spyd33yk@spyd33yk-r00m:~$

kita juga dapat membuat 2 directory sekaligus bahkan lebih.

spyd33yk@spyd33yk-r00m:~$ mkdir test1 test2 test3


spyd33yk@spyd33yk-r00m:~$ ls
botlib.log coba.txt Desktop Documents eclipse-workspace Music
nautilus-debug-log.txt Pictures Public Templates test test1 test2
test3 Videos
spyd33yk@spyd33yk-r00m:~$

Keterangan:
Untuk membuat hidden direktory berikan ”.” (titik) pada awal nama directory.

contoh

spyd33yk@spyd33yk-r00m:~$ mkdir .hidden

11. cd

Open Source Community (OSC)


PENS-ITS
Workshop
Linux Fundamental

Fungsi : Pindah direktori

Format:

$ cd nama_direktori

spyd33yk@spyd33yk-r00m:~$ ls
botlib.log coba.txt Desktop Documents eclipse-workspace Music
nautilus-debug-log.txt Pictures Public Templates test test1 test2
test3 Videos
spyd33yk@spyd33yk-r00m:~$ cd Documents
spyd33yk@spyd33yk-r00m:~$ ls Documents/
My Music My Pictures myProject My Video temp
spyd33yk@spyd33yk-r00m:~$

Keterangan:
Untuk berpindah direktori kita dapat juga menggunakan format lain seperti

pindah ke direktori yang berada satu level di atasnya:

spyd33yk@spyd33yk-r00m:~$ cd ..

pindah langsung ke direktori home user:

spyd33yk@spyd33yk-r00m:~$ cd

pindah langsung ke direktori tertentu:

spyd33yk@spyd33yk-r00m:~$ ls Documents/Music/

12. mount

Setiap device dalam linux agar dapat diakses harus terlebih dahulu di-mount atau dikaitkan.

Format:

$ mount [option] /dev/<devicefile> /path/to/mountdir

Contoh :

spyd33yk@spyd33yk-r00m:~$ mount /dev/hda1 /mnt/disk

Keterangan:
untuk me-mount dibutuhkan hak super user.

Option yang sering digunakan :


-t type type file system yang akan dikaitkan untuk NFS diisikan–t nfs
-a mengaitkan semua file system yang ada di /etc/fstab
-r mengaitkan dengan permisi read-only
-w mengaitkan dengan permisi read-write

Contoh :
Mengaitkan export direktori nfsexport di komputer IP Address 192.168.1.253 ke direktori /mnt/nfs

Open Source Community (OSC)


PENS-ITS
Workshop
Linux Fundamental

spyd33yk@spyd33yk-r00m:~$ mount -t nfs 192.168.1.253:/nfsexport /mnt/nfs

13. vi

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), dan lain-lain. Pada bab ini, akan dikenalkan bagaimana menggunakan editor vi.
Vi merupakan editor yang paling terkenal di dunia UNIX. Vi ialah kepanjangan dari
"Visual" editor. Untuk menjalan perintah vi, kita gunakan sintaks sbb :

$ vi nama_file

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 : ?, /, !

Manipulasi file

Penghapusan

Perpindahan kursor

Open Source Community (OSC)


PENS-ITS
Workshop
Linux Fundamental

Copy dan Paste

Perintah Cari dan Ganti

Open Source Community (OSC)


PENS-ITS
Workshop
Linux Fundamental

Perintah lainnya

14. cp

Fungsi : copy file1 menjadi file2

Format:

$ cp file1 file2 ---> mengcopy file1 ke file2

spyd33yk@spyd33yk-r00m:~$ ls -l
total 252
-rw-r--r-- 1 spyd33yk spyd33yk 12936 2007-12-18 14:21 botlib.log
-rw-r--r-- 1 spyd33yk spyd33yk 18 2007-12-25 21:27 copy.txt
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-24 23:37 Desktop
drwxr-xr-x 8 spyd33yk spyd33yk 4096 2007-12-25 20:54 Documents
drwxr-xr-x 4 spyd33yk spyd33yk 4096 2007-12-13 21:15 eclipse-workspace
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-05 17:45 Music
-rw-r--r-- 1 spyd33yk spyd33yk 200704 2007-12-24 23:05 nautilus-debug-
log.txt
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-06 02:44 Pictures
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-05 17:45 Public
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-05 17:45 Templates
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-19 23:02 Videos
spyd33yk@spyd33yk-r00m:~$ cp copy.txt Documents/
spyd33yk@spyd33yk-r00m:~$ ls Documents/
copy.txt My Music My Pictures myProject My Video temp
spyd33yk@spyd33yk-r00m:~$

berikut mengcopy copy.txt ke copy1.txt:

spyd33yk@spyd33yk-r00m:~$ cp copy.txt copy1.txt

Open Source Community (OSC)


PENS-ITS
Workshop
Linux Fundamental

spyd33yk@spyd33yk-r00m:~$ ls -l
total 256
-rw-r--r-- 1 spyd33yk spyd33yk 12936 2007-12-18 14:21 botlib.log
-rw-r--r-- 1 spyd33yk spyd33yk 18 2007-12-25 21:28 copy1.txt
-rw-r--r-- 1 spyd33yk spyd33yk 18 2007-12-25 21:27 copy.txt
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-24 23:37 Desktop
drwxr-xr-x 8 spyd33yk spyd33yk 4096 2007-12-25 21:27 Documents
drwxr-xr-x 4 spyd33yk spyd33yk 4096 2007-12-13 21:15 eclipse-workspace
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-05 17:45 Music
-rw-r--r-- 1 spyd33yk spyd33yk 200704 2007-12-24 23:05 nautilus-debug-
log.txt
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-06 02:44 Pictures
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-05 17:45 Public
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-05 17:45 Templates
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-19 23:02 Videos
spyd33yk@spyd33yk-r00m:~$

Keterangan:
cp akan mengcopy satu file ke file yang lain atau mengcopy ke file yang lebih ke sebuah
directory.

15. mv

Fungsi : Memindahkan file 1 ke file2, selain itu dapat digunakan untuk me-rename directory

Format :

$ mv file1 file2

spyd33yk@spyd33yk-r00m:~$ ls
botlib.log Desktop Music Public
copy1.txt Documents nautilus-debug-log.txt Templates
copy.txt eclipse-workspace Pictures Videos
spyd33yk@spyd33yk-r00m:~$ mv copy1.txt Documents/
spyd33yk@spyd33yk-r00m:~$ ls Documents/
copy1.txt copy.txt My Music My Pictures myProject My Video temp
spyd33yk@spyd33yk-r00m:~$

Keterangan : mv akan memindahkan satu file ke file yang lain atau memindahkan ke file yang
lebih ke sebuah directory

16. rm

Fungsi :Menghapus file

Format :

$rm file1

spyd33yk@spyd33yk-r00m:~$ ls
botlib.log copy.txt Desktop Documents eclipse-workspace Music
nautilus-debug-log.txt Pictures Public Templates Videos
spyd33yk@spyd33yk-r00m:~$ rm copy.txt

Open Source Community (OSC)


PENS-ITS
Workshop
Linux Fundamental

spyd33yk@spyd33yk-r00m:~$ ls
botlib.log Desktop Documents eclipse-workspace Music nautilus-
debug-log.txt Pictures Public Templates Videos
spyd33yk@spyd33yk-r00m:~$

Disini juga dapat menghapus directory dengan menambahkan opsi -rf

spyd33yk@spyd33yk-r00m:~$ rm -rf test


spyd33yk@spyd33yk-r00m:~$ ls
botlib.log Desktop Documents eclipse-workspace Music nautilus-
debug-log.txt Pictures Public Templates test1 test2 test3 Videos
spyd33yk@spyd33yk-r00m:~$

Keterangan:
Perlu diperhatikan bila menggunakan user root dalam menggunakan perintah rm –rf, karena
bisa merusak sistem jika menghapus file-file sistem

17. cat

Fungsi : Menampilkan isi sebuah file

spyd33yk@spyd33yk-r00m:~$ head /etc/passwd


root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
spyd33yk@spyd33yk-r00m:~$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
dhcp:x:100:101::/nonexistent:/bin/false
syslog:x:101:102::/home/syslog:/bin/false
klog:x:102:103::/home/klog:/bin/false
messagebus:x:103:109::/var/run/dbus:/bin/false
hplip:x:104:7:HPLIP system user,,,:/var/run/hplip:/bin/false

Open Source Community (OSC)


PENS-ITS
Workshop
Linux Fundamental

avahi-autoipd:x:105:113:Avahi autoip daemon,,,:/var/lib/avahi-


autoipd:/bin/false
avahi:x:106:114:Avahi mDNS daemon,,,:/var/run/avahi-daemon:/bin/false
haldaemon:x:107:116:Hardware abstraction
layer,,,:/home/haldaemon:/bin/false
gdm:x:108:118:Gnome Display Manager:/var/lib/gdm:/bin/false
spyd33yk:x:1000:1000:spyd33yk,,,:/home/spyd33yk:/bin/bash
clamav:x:109:120::/var/lib/clamav:/bin/false
mythtv:x:110:121::/home/mythtv:/bin/sh
kannel:x:111:65534:Kannel,,,:/usr/lib/kannel:/bin/false
bind:x:112:123::/var/cache/bind:/bin/false
spyd33yk@spyd33yk-r00m:~$

Keterangan : cat adalah perintah yang mempunyai fungsi mencetak isi sebuah file text.

18. head

Fungsi: perintah head digunakan untuk menampilkan 10 baris pertamadari suatu file teks.

Format:

$head nama file

spyd33yk@spyd33yk-r00m:~$ head /etc/passwd


root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
spyd33yk@spyd33yk-r00m:~$

Keterangan:
Jika ingin menampilkan berapa baris yang diinginkan maka tinggal mengetikkan angka yang
diinginkan.

Format:

$head -8 nama file

19. tail

Fungsi :perintah ini digunakan untuk menampilkan 10 baris terakhir dari suatu file.

Format :

$tail nama_file
spyd33yk@spyd33yk-r00m:~$ tail /etc/passwd
hplip:x:104:7:HPLIP system user,,,:/var/run/hplip:/bin/false
avahi-autoipd:x:105:113:Avahi autoip daemon,,,:/var/lib/avahi-
autoipd:/bin/false

Open Source Community (OSC)


PENS-ITS
Workshop
Linux Fundamental

avahi:x:106:114:Avahi mDNS daemon,,,:/var/run/avahi-daemon:/bin/false


haldaemon:x:107:116:Hardware abstraction
layer,,,:/home/haldaemon:/bin/false
gdm:x:108:118:Gnome Display Manager:/var/lib/gdm:/bin/false
spyd33yk:x:1000:1000:spyd33yk,,,:/home/spyd33yk:/bin/bash
clamav:x:109:120::/var/lib/clamav:/bin/false
mythtv:x:110:121::/home/mythtv:/bin/sh
kannel:x:111:65534:Kannel,,,:/usr/lib/kannel:/bin/false
bind:x:112:123::/var/cache/bind:/bin/false
spyd33yk@spyd33yk-r00m:~$

Keterangan:
Jika ingin menampilkan berapa baris yang diinginkan maka tinggal mengetikkan angka yang
diinginkan.

Format:

$tail -5 nama file

20. grep

Fungsi: mencari kata tertentu pada suatu file

Format:

$ grep “kata_kunci” “nama_file”

spyd33yk@spyd33yk-r00m:~$ grep root /etc/passwd


root:x:0:0:root:/root:/bin/bash
spyd33yk@spyd33yk-r00m:~$

Keterangan : Grep juga sangat berguna untuk menemukan kata tertentu dalam beberapa
dokumen.

21. history

Fungsi: Menampilkan perintah perintah yang telah di ketikkan sebelumnya.

spyd33yk@spyd33yk-r00m:~$ history

22. man

Fungsi: Untuk menampilkan informasi bantuan untuk semua perintah UNIX. Perintah ini sangat
bermanfaat bagi setiap pemakai UNIX karena dapat membantu mengingat kembali perintah-
perintah UNIX.

Beberapa kunci keyboard yang penting dalam menggunakan manual adalah :

Q untuk keluar dari program man

<Enter> ke bawah, baris per baris

Open Source Community (OSC)


PENS-ITS
Workshop
Linux Fundamental

<Spasi> ke bawah, per halaman

b kembali ke atas, 1 halaman

/teks mencari teks (string)

n meneruskan pencarian string sebelumnya

Format :

$man nama-perintah

spyd33yk@spyd33yk-r00m:~$ man ls

LS(1)
User Commands
LS(1)
NAME
ls - list directory contents
SYNOPSIS
ls [OPTION]... [FILE]...
DESCRIPTION
List information about the FILEs (the current directory by
default). Sort entries alphabetically if none of -cftuvSUX nor --sort.
Mandatory arguments to long options are mandatory for short
options too.
-a, --all
do not ignore entries starting with .
-A, --almost-all
do not list implied . and ..
--author
with -l, print the author of each file
-b, --escape
print octal escapes for nongraphic characters
--block-size=SIZE
use SIZE-byte blocks
-B, --ignore-backups
do not list implied entries ending with ~
-c with -lt: sort by, and show, ctime (time of last
modification of file status information) with -l: show ctime and sort
by name otherwise: sort by ctime
-C list entries by columns
--color[=WHEN]
control whether color is used to distinguish file types.
WHEN may be ‘never’, ‘always’, or ‘auto’

-d, --directory
list directory entries instead of contents, and do not
dereference symbolic links
-D, --dired
generate output designed for Emacs’ dired mode
-f do not sort, enable -aU, disable -lst
-F, --classify
append indicator (one of */=>@|) to entries
--file-type
likewise, except do not append ‘*’

Open Source Community (OSC)


PENS-ITS
Workshop
Linux Fundamental

--format=WORD
across -x, commas -m, horizontal -x, long -l, single-
column -1, verbose -l, vertical -C
--full-time
like -l --time-style=full-iso
-g like -l, but do not list owner
-G, --no-group
like -l, but do not list group
-h, --human-readable
with -l, print sizes in human readable format (e.g., 1K
234M 2G)
Manual page ls(1) line 1

Keterangan:
atau kita juga dapat menggunakan perintah whatis untuk mengetahui fungsi dari dari suatu
perintah

23. file

Fungsi: Melihat tipe file

spyd33yk@spyd33yk-r00m:~$ file *
botlib.log: ASCII text, with CRLF, LF line terminators
copy1.txt: ASCII text
copy.txt: ASCII text
Desktop: directory
Documents: directory
eclipse-workspace: directory
Music: directory
nautilus-debug-log.txt: ASCII text
Pictures: directory
Public: directory
Templates: directory
Videos: directory
spyd33yk@spyd33yk-r00m:~$

Keterangan:
pada perintah diatas kita melihat jenis file dari semua isi directory.

24. ps

spyd33yk@spyd33yk-r00m:~$ ps -ax

Keterangan:
perintah diatas akan memperlihatkan proses2 yang sedang dijalankan oleh sistem saat ini,
seperti task manager pada sistem operasi windows.

Format lain:

spyd33yk@spyd33yk-r00m:~$ pstree

25. find

Format : find directory –name targetfile -print

Open Source Community (OSC)


PENS-ITS
Workshop
Linux Fundamental

spyd33yk@spyd33yk-r00m:~$ find /etc/ -name passwd -print


/etc/pam.d/passwd
find: /etc/ssl/private: Permission denied
find: /etc/cups/ssl: Permission denied
/etc/passwd
spyd33yk@spyd33yk-r00m:~$

Keterangan:
perintah find digunakan untuk mencari file pada suatu direktory tertentu

26. adduser, passwd dan userdel

$ useradd
Deskripsi : Membuat user baru
Syntaxt : useradd [option] <nama_user>

Option yang sering digunakan :


-u uid memberikan user ID
-g group memasukkan user ke dalam group
-d home memberikan home direktori ke user baru
-p passwd memberikan password ke user
-s shell memberikan shell ke user

Contoh :
Membuat user baru djoko dan dimasukkan ke dalam group staff

spyd33yk@spyd33yk-r00m:~$useradd -g staff djoko

$ userdel

Deskripsi : Menghapus user


Syntaxt : userdel -r <nama_user>
Option yang sering digunakan :

-r menghapus home direktori user

Contoh :
Menghapus user djoko beserta home direktorinya.

spyd33yk@spyd33yk-r00m:~$ userdel -r djoko

$ usermod

Deskripsi : Merubah properti user


Syntaxt : usermod [option] <nama_user>
Option yang sering digunakan :
-d homedir merubah home direktori
-e tanggal merubah tanggal expire user
-G group merubah group user
-p password merubah password user
-s shell merubah shell user
Contoh :
Membuat user djoko menjadi tidak bisa login
usermod -s /etc/false djoko

Open Source Community (OSC)


PENS-ITS
Workshop
Linux Fundamental

27. tar

Fungsi: Utilitas mengkompress atau mengekstrak file

Format:

$ tar [option] <nama_file/direktori>

Keterangan:

Option yang sering digunakan :


-x mengekstrak file terkompress
-c mengkompress file
-z mengekstrak/mengkompress dalam format gzip
-v mode verbose
-f memaksa file akan diproses.

Contoh :
Membuka kompresan file apache-1.3.19.tar.gz

spyd33yk@spyd33yk-r00m:~$ tar –zxvf apache-1.3.19.tar.gz

Mengkompress semua file di direktori /tmp/diknas menjadi file diknas.tar.gz

spyd33yk@spyd33yk-r00m:~$ tar -cvfz diknas.tar.gz /tmp/diknas/

28. ---

Open Source Community (OSC)


PENS-ITS
Workshop
Linux Fundamental

Bab III
Operasi Input Output
1. Pembelokan (Redirection)

Pembelokan dilakukan untuk standard input, output dan error, yaitu untuk
mengalihkan file descriptor dari 0, 1 dan 2. Simbol untuk pembelokan adalah :

0< atau < pengganti standard input


1> atau > pengganti standard output
2>
>> Notasi append

contoh:

spyd33yk@spyd33yk-r00m:~$ cat 1> belok.txt


ini adalah file belok.txt
ini contoh untuk redirection atau pembelokan untuk operasi input output
di LINUX
ctrl+d --> untuk keluar dari cat
spyd33yk@spyd33yk-r00m:~$ cat 0< belok.txt
ini adalah file belok.txt
ini contoh untuk redirection atau pembelokan untuk operasi input output
di LINUX
ctrl+d --> untuk keluar dari cat
spyd33yk@spyd33yk-r00m:~$ cat belok.txt
ini adalah file belok.txt
ini contoh untuk redirection atau pembelokan untuk operasi input output
di LINUX
ctrl+d --> untuk keluar dari cat
spyd33yk@spyd33yk-r00m:~$

contoh lainnya:

spyd33yk@spyd33yk-r00m:~$ echo menampilkan tulisan di layar menggunakan


perintah echo
menampilkan tulisan di layar menggunakan perintah echo
spyd33yk@spyd33yk-r00m:~$ echo menampilkan tulisan di layar menggunakan
perintah echo 1> echo.txt
spyd33yk@spyd33yk-r00m:~$ cat echo.txt
menampilkan tulisan di layar menggunakan perintah echo
spyd33yk@spyd33yk-r00m:~$

Keterangan:
perintah echo untuk menampilkan tulisan di layar

Open Source Community (OSC)


PENS-ITS
Workshop
Linux Fundamental

untuk pembelokan standar error:

spyd33yk@spyd33yk-r00m:~$ mkdir mydir


spyd33yk@spyd33yk-r00m:~$ mkdir mydir
mkdir: cannot create directory `mydir': File exists
spyd33yk@spyd33yk-r00m:~$ mkdir mydir 2> hasil_error.txt
spyd33yk@spyd33yk-r00m:~$ cat hasil_error.txt
mkdir: cannot create directory `mydir': File exists
spyd33yk@spyd33yk-r00m:~$

untuk Notasi append

spyd33yk@spyd33yk-r00m:~$ cat belok.txt


ini adalah file belok.txt
ini contoh untuk redirection atau pembelokan untuk operasi input output
di LINUX
ctrl+d --> untuk keluar dari cat
spyd33yk@spyd33yk-r00m:~$ cat >> belok.txt
ini adalah teks tambahan dengan menggunakan notasi append..
spyd33yk@spyd33yk-r00m:~$ cat belok.txt
ini adalah file belok.txt
ini contoh untuk redirection atau pembelokan untuk operasi input output
di LINUX
ctrl+d --> untuk keluar dari cat
ini adalah teks tambahan dengan menggunakan notasi append..
spyd33yk@spyd33yk-r00m:~$

2. Pipa (Pipeline)

Mekanisme pipa digunakan sebagai alat komunikasi antar proses.

Input  Proses1  Output  Input  Proses2  Output

Proses 1 menghasilkan output yang selanjutnya digunakan sebagai input oleh Proses 2.
Hubungan output input ini dinamakan pipa, yang menghubngkan Proses 1 dengan Proses2
dan dinyatakan dengan symbol “|”.

Proses1 | Proses2

contoh:

spyd33yk@spyd33yk-r00m:~$ ls -l /etc/ | more


total 1480
drwxr-xr-x 8 root root 4096 2007-10-16 06:28 acpi
-rw-r--r-- 1 root root 2803 2007-10-16 06:17 adduser.conf
-rw-r--r-- 1 root root 46 2007-12-25 16:32 adjtime
-rw-r--r-- 1 root root 66 2007-12-13 19:43 aliases
drwxr-xr-x 2 root root 12288 2007-12-21 11:11 alternatives
-rw-r--r-- 1 root root 395 2007-03-05 13:38 anacrontab
drwxr-xr-x 7 root root 4096 2007-12-05 18:58 apache2
drwxr-xr-x 7 root root 4096 2007-10-16 06:28 apm
drwxr-xr-x 2 root root 4096 2007-10-16 06:27 apparmor
drwxr-xr-x 5 root root 4096 2007-12-17 23:45 apparmor.d
drwxr-xr-x 3 root root 4096 2007-10-16 06:28 apport

Open Source Community (OSC)


PENS-ITS
Workshop
Linux Fundamental

drwxr-xr-x 4 root root 4096 2007-12-24 23:27 apt


-rw-r----- 1 root daemon 144 2007-02-20 20:41 at.deny
drwxr-xr-x 3 root root 4096 2007-10-16 06:28 avahi
-rw-r--r-- 1 root root 1585 2007-10-05 21:37 bash.bashrc
-rw-r--r-- 1 root root 216071 2007-10-05 21:37 bash_completion
drwxr-xr-x 2 root root 4096 2007-12-05 18:58 bash_completion.d
drwxr-xr-x 2 root root 4096 2007-10-16 06:17 belocs
drwxr-sr-x 2 root bind 4096 2007-12-21 15:50 bind
-rw-r--r-- 1 root root 332 2007-10-01 05:39
bindresvport.blacklist
-rw-r--r-- 1 root root 440 2007-12-13 18:52 blkid.tab
-rw-r--r-- 1 root root 440 2007-12-05 20:42 blkid.tab.old
--More--

contoh lainnya:

spyd33yk@spyd33yk-r00m:~$ cat /etc/passwd | grep root


root:x:0:0:root:/root:/bin/bash
spyd33yk@spyd33yk-r00m:~$

Open Source Community (OSC)


PENS-ITS
Workshop
Linux Fundamental

Bab IV
Operasi File dan Struktur
Direktory
ORGANISASI FILE

Sistem file pada Linux menyerupai pepohonan (tree), yaitu dimulai dari root,
kemudian direktori dan sub dirrektori. Sistem file pada Linux diatur secara hirarkhikal, yaitu
dimulai dari root dengan symbol “/” seperti gambar berikut:

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).

DIREKTORY STANDAR

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

Open Source Community (OSC)


PENS-ITS
Workshop
Linux Fundamental

Direktori Deskripsi
Berisi file administrative (konfigrasi dll) dan file executable atau
/etc script yang berguna untuk administrasi system.

Berisi file khusus yang merepresentasikan peralatan hardware


/dev seperti memori, disk, printer, tape, floppy, jaringan dll.

/bin Berisi utilitas sistem level rendah (binary).

Berisi utilitas sistem untuk superuser (untuk membentuk


/sbin administrasi sistem).

/usr/sbin
Berisi utilitas sistem dan program aplikasi level tinggi.
/usr/bin
/usr/lib Berisi program library yang diperlukan untuk kompilasi
program (misalnya C). Berisi instruksi (command) misalnya untuk
Print Spooler (lpadmin) dll.

Berisi file sementara, yang pada saat Bootstrap akan dihapus


/tmp
(dapat digunakan oleh sembarang user).
Berisi file yang sangat penting untuk proses bootstrap. Kernel
/boot
vmlinuz disimpan di direktori ini.
Berisi informasi tentang kernel Linux, proses dan virtual system file.
/proc

Direktori variable, artinya tempan penyimpanan LOG (catatan hasil


output program), file ini dapat membengkak dan perlu dimonitor
/var perkembangannya.

Berisi direktori untuk pemakai Linux (pada SCO diletakkan pada


/home /usr)

/mnt Direktori untuk mounting system file

/root Home direktori untuk superuser (root)


/usr/bin/X11 Symbolic link ke /usr/X11R6/bin, program untuk X-Window

/usr/src Source code untuk Linux

Option, direktori ini biasanya berisi aplikasi tambahan (“add- on”)


/opt seperti Netscape Navigator, kde, gnome, applix dll.

Direktori /etc

Open Source Community (OSC)


PENS-ITS
Workshop
Linux Fundamental

Berisi file yang berhubungan dengan administrasi system, maintenance script, konfigurasi,
security dll. Hanya superuser yang boleh memodifikasi file yang berada di drektori ini.
Subdirektori yang sering diakses pada direktori /etc antara 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)
• file-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.

Peralatan Direktori
Floppy /dev/fd0

IDE : /dev/had, /dev/hdb, /dev/hdc, /dev/hdd


Harddisk
SCSI : /dev/sda, /dev/sdb, /dev/sdc
SCSI : /dev/scd0, /dev/scd1
CDROM IDE : /dev/gscd, /dev/sonycd
Universal : /dev/cdrom (link dari actual cdrom ide atau scsi)
PS2 : /dev/lp0
Mouse
Universal : /dev/mouse
LPT1 : /dev/lp0
Parallel Port
LPT2 : /dev/lp1
COM1 : /dev/ttyS0
Serial Port COM2 : /dev/ttyS1
Universal : /dev/modem (link dari S0 atau S1)

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 (Process ID).

Open Source Community (OSC)


PENS-ITS
Workshop
Linux Fundamental

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

Properti File

File mempunyai beberapa atribut, antara lain :

• Tipe file : menentukan tipe dari file, yaitu :

Karakter Arti
- File biasa
d Direktori
l Symbolic link
b Block special file
c Character special file
s Socket link
p FIFO

• Ijin akses : menentukan hak user terhadap file ini.


• Jumlah link : jumlah link untuk file ini.

• Pemilik (Owner) : menentukan siapa pemilik file ini


• Group : menentukan group 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

Open Source Community (OSC)


PENS-ITS
Workshop
Linux Fundamental

Contoh :

IJIN AKSES
Setiap obyek pada Linux harus mempunyai pemilik, yaitu nama pemakai Linux (account) yang
terdaftar pada /etc/passwd.

Ijin akses dibagi menjadi 3 peran yaitu :


• Pemilik (Owner)
• Kelompok (Group)
• Lainnya (Others)

Setiap peran dapat melakukan 3 bentuk operasi yaitu :

• Pada File
o R (Read) Ijin untukmembaca
o W (Write) Ijin untuk mengubah / membuat
o X (Execute) Ijin untuk menjalankan program

• Pada Direktori
o R (Read) Ijin untukmembaca daftar file dalam direktori
o W (Write) Ijin untuk mengubah/membuat file di direktori
o X (Execute) Ijin untuk masuk ke direktori (cd)

Format untuk mengubah ijin akses

chmod [ugoa] [= + -] [rwx] File(s)


chmod [ugoa] [= + -] [rwx] Dir(s)

contoh:

memberikan permission read dan write untuk group pada file test.txt

spyd33yk@spyd33yk-r00m:~$ chmod ug+rw test.txt

dimana:

u = user (pemilik)
g = group (kelompok)
o = others (lainnya)

Open Source Community (OSC)


PENS-ITS
Workshop
Linux Fundamental

a = all

Format lain dari chmod adalah menggunakan bilangan octal sebagai berikut:

r w x
4 2 1 = 7
contoh:

memberikan permission read, write dan execute untuk user, group dan other pada file test.txt

spyd33yk@spyd33yk-r00m:~$ chmod 777 test.txt

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 “&”, “;”, “|”, “?”,
“`”, “””, “’”, “[“, “]”, “(“, “)”, “$”, “<”, “>”, “{“, “}”, “^”, “#”, “\”, “/”. Linux membedakan huruf kecil dengan
huruf besar (case sensitive).

Contoh nama file yang benar :


Abcde5434
3 prog.txt PROG.txt
Prog.txt,old
report_101,v2.0.1
5-01.web.html

Simbolic Link

Link adalah sebuah 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

fileDuplikat disebut hard link dimana kedua file akan muncul identik (linkcount = 2) Bila
fileAsli atau ileDuplikat diubah perubahan akan terjadi pada file lainna. Symbolic Link diperlukan
bila file tersebut di “link” dengan direktori /file yang berada pada partisi yang berbeda. Tipe file
menjadi l (link) dan file tersebut menunjukke tempat asal. Format :

ln –s /FULLPATH/fileAsli /FULLPATH/fileDuplikat

Pilihan –s (shortcut) merupakan bentuk soft link dimana jumlah link count pada file asal
tidak akan berubah. Pada bentuk soft link, symbolic link dapat dilakukan pada file yang tidak
ada, sedangkan pada hard link tidak dimungkinkan. Perbedaan lain, symbolic link dapat
dibentuk melalui media disk atau partisi yang berbeda dengan soft link, tetapi pada hard link
terbatas pada partisi disk yang sama.

Open Source Community (OSC)


PENS-ITS
Workshop
Linux Fundamental

contoh:

spyd33yk@spyd33yk-r00m:~$ ehco hallo apa khabar


bash: ehco: command not found
spyd33yk@spyd33yk-r00m:~$ echo hallo apa khabar
hallo apa khabar
spyd33yk@spyd33yk-r00m:~$ echo hallo apa khabar > hallo.txt
spyd33yk@spyd33yk-r00m:~$ ls hallo.txt
hallo.txt
spyd33yk@spyd33yk-r00m:~$ ls -l hallo.txt
-rw-r--r-- 1 spyd33yk spyd33yk 17 2007-12-26 01:01 hallo.txt
spyd33yk@spyd33yk-r00m:~$ ln hallo.txt link
spyd33yk@spyd33yk-r00m:~$ ls -l
total 284
-rw-r--r-- 1 spyd33yk spyd33yk 200 2007-12-26 00:31 belok.txt
-rw-r--r-- 1 spyd33yk spyd33yk 12936 2007-12-18 14:21 botlib.log
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-24 23:37 Desktop
drwxr-xr-x 8 spyd33yk spyd33yk 4096 2007-12-25 21:55 Documents
-rw-r--r-- 1 spyd33yk spyd33yk 54 2007-12-26 01:00 echo.txt
drwxr-xr-x 4 spyd33yk spyd33yk 4096 2007-12-13 21:15 eclipse-workspace
-rw-r--r-- 2 spyd33yk spyd33yk 17 2007-12-26 01:01 hallo.txt
-rw-r--r-- 1 spyd33yk spyd33yk 52 2007-12-26 00:27 hasil_error.txt
-rw-r--r-- 2 spyd33yk spyd33yk 17 2007-12-26 01:01 link
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-05 17:45 Music
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-26 00:26 mydir
-rw-r--r-- 1 spyd33yk spyd33yk 200704 2007-12-24 23:05 nautilus-debug-
log.txt
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-06 02:44 Pictures
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-05 17:45 Public
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-05 17:45 Templates
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-25 22:18 test1
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-25 22:18 test2
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-25 22:18 test3
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-19 23:02 Videos
spyd33yk@spyd33yk-r00m:~$ cat link
hallo apa khabar
spyd33yk@spyd33yk-r00m:~$ ln link mydir/hallo.juga
spyd33yk@spyd33yk-r00m:~$ cat mydir/hallo.juga
hallo apa khabar
spyd33yk@spyd33yk-r00m:~$ ln -s link bye.txt
spyd33yk@spyd33yk-r00m:~$ ls -l bye.txt
lrwxrwxrwx 1 spyd33yk spyd33yk 4 2007-12-26 01:04 bye.txt -> link
spyd33yk@spyd33yk-r00m:~$ ls -l
total 284
-rw-r--r-- 1 spyd33yk spyd33yk 200 2007-12-26 00:31 belok.txt
-rw-r--r-- 1 spyd33yk spyd33yk 12936 2007-12-18 14:21 botlib.log
lrwxrwxrwx 1 spyd33yk spyd33yk 4 2007-12-26 01:04 bye.txt -> link
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-24 23:37 Desktop
drwxr-xr-x 8 spyd33yk spyd33yk 4096 2007-12-25 21:55 Documents
-rw-r--r-- 1 spyd33yk spyd33yk 54 2007-12-26 01:00 echo.txt
drwxr-xr-x 4 spyd33yk spyd33yk 4096 2007-12-13 21:15 eclipse-workspace
-rw-r--r-- 3 spyd33yk spyd33yk 17 2007-12-26 01:01 hallo.txt
-rw-r--r-- 1 spyd33yk spyd33yk 52 2007-12-26 00:27 hasil_error.txt
-rw-r--r-- 3 spyd33yk spyd33yk 17 2007-12-26 01:01 link
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-05 17:45 Music
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-26 01:04 mydir

Open Source Community (OSC)


PENS-ITS
Workshop
Linux Fundamental

-rw-r--r-- 1 spyd33yk spyd33yk 200704 2007-12-24 23:05 nautilus-debug-


log.txt
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-06 02:44 Pictures
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-05 17:45 Public
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-05 17:45 Templates
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-25 22:18 test1
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-25 22:18 test2
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-25 22:18 test3
drwxr-xr-x 2 spyd33yk spyd33yk 4096 2007-12-19 23:02 Videos
spyd33yk@spyd33yk-r00m:~$ cat bye.txt
hallo apa khabar
spyd33yk@spyd33yk-r00m:~$

Open Source Community (OSC)


PENS-ITS
Workshop
Linux Fundamental

Bab I
Proses dan Manajemen
Proses
Konsep Proses Pada Sistem Operasi Linux

Proses adalah program yang sedang dieksekusi. Setiap kali menggunakan utilitas
sistem atau program aplikasi dari shell, satu atau lebih proses ”child” akan dibuat oleh
shell sesuai perintah yang diberikan. Setiap kali instruksi diberikan pada Linux shell, maka
kernel akan menciptakan sebuah proses-id. Proses ini disebut juga dengan terminology Unix
sebagai sebuah Job. Proses Id (PID) dimulai dari 0, yaitu proses INIT, kemudian diikuti
oleh proses berikutnya.
Proses dapat mengirim dan menerima sinyal dari dan ke proses lainnya. Proses
mengirim sinyal melalui instruksi “kill” dengan format:

kill [-nomor sinyal] PID

untuk menghentikan/kill sebuah proses:

$ kill -9 PID

Nomor sinyal : 1 s/d maksimum nomor sinyal yang didefinisikan system

Standar nomor sinyal yang terpenting adalah :

No Sinyal Nama Deskripsi


Hangup, sinyal dikirim bila proses terputus, misalnya
1 SIGHUP melalui putusnya hubungan modem

2 SIGINT Sinyal interrupt, melalui ^C

3 SIGQUIT Sinyal Quit, melalui ^\


9 SIGKILL Sinyal Kill, menghentikan proses

15 SIGTERM Sinyal terminasi software

Open Source Community (OSC)


PENS-ITS
Workshop
Linux Fundamental

Daftar Pustaka
1. Felix, Fidens (2003). Linux dan Bisnis Model Open Source. Artikel Populer
IlmuKomputer.Com
2. Raharja. R. Anton, dkk (2001). Modul Pelatihan PENGENALAN LINUX. Open Source
Campus Agreement
3. Modul Praktikun Sistem Operasi Bab I-IV. Jurusan Teknologi Informasi, PENS-ITS.

Open Source Community (OSC)


PENS-ITS

Anda mungkin juga menyukai