Disusun oleh: Iwan Binanto (c) 2006
Sekilas File System di Linux File system yang dibahas di sini merupakan file system Linux secara independent/global, artinya tidak tergantung pada satu distro tertentu. Sehingga diharapkan para pembaca dapat mengadopsinya untuk suatu distro yang digunakan. 1. 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 “/”. /
bin
boot dev
etc home lib
user_1
root sbin
user_2
usr var
…
…
tmp
…
…
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. Directory Standar. Setelah proses instalasi, Linux menciptakan system file yang baku, terdiri atas direktori sebagai berikut :
Direktori /etc
/dev
1
Deskripsi Berisi file administrative (konfigrasi dll) dan file executable atau script yang berguna untuk administrasi system. Berisi file khusus yang merepresentasikan peralatan hardware seperti memori, disk, printer, tape, floppy, jaringan dll.
Disusun oleh: Iwan Binanto (c) 2006
2
/bin
Berisi program standar Linux (binary).
/root
Directory home untuk user root.
/usr/sbin /usr/bin /usr/lib
Berisi utilitas Linux. Berisi program library yang diperlukan untuk kompilasi program (misalnya bahasa C). Berisi instruksi (command) misalnya untuk Print Spooler (lpadmin) dll.
/tmp
Berisi file sementara, yang pada saat Bootstrap akan dihapus
/boot
Berisi file yang sangat penting untuk proses bootstrap. Kernel vmlinuz disimpan di direktori ini yang akan digunakan oleh bootloader (lilo atau grub).
/proc
Berisi informasi tentang kernel Linux, proses dan virtual system file.
/var
Direktori variable, artinya tempan penyimpanan LOG (catatan hasil output program), file ini dapat membengkak dan perlu dimonitor perkembangannya.
/home
Berisi direktori untuk pemakai Linux (pada FreeBSD diletakkan pada /usr)
/mnt
Direktori untuk mounting system file
/usr
Directori ini biasanya merupakan directori yang berukuran besar di sistem Linux.Semua program-program, dokumentasi, source code kernel, sistem X-Window ada di directori ini. Directori ini juga merupakan directori standar ketika user menginstallkan suatu program.
/usr/bin/X11
Symbolic link ke /usr/X11R6/bin, program untuk XWindow
/usr/src
Source code untuk Linux
/opt
Direktori ini biasanya berisi aplikasi tambahan (add-on) seperti Netscape Navigator, kde, gnome, dll.
Disusun oleh: Iwan Binanto (c) 2006
/etc
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 (jika ada). 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.
/dev
Konsep Unix dan Linux adalah memperlakukan peralatan hardware sama seperti penanganan file. Setiap alat mempunyai nama file yang disimpan pada direktori /dev. Peralatan
3
Direktori
Floppy
/dev/fd0
Harddisk
IDE : /dev/had, /dev/hdb, /dev/hdc, /dev/hdd SCSI : /dev/sda, /dev/sdb, /dev/sdc
CDROM
SCSI : /dev/scd0, /dev/scd1 IDE : /dev/gscd, /dev/sonycd Universal : /dev/cdrom (link dari cdrom ide atau scsi yang sebenarnya)
Mouse
PS2 : /dev/lp0 Universal : /dev/mouse
Parallel Port
LPT1 : /dev/lp0 LPT2 : /dev/lp1
Serial Port
COM1 : /dev/ttyS0 COM2 : /dev/ttyS1 Universal : /dev/modem (link dari S0 atau S1)
Disusun oleh: Iwan Binanto (c) 2006
/proc Direktori /proc adalah direktori yang dibuat di 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 tersebut merepresentasikan PID (Process ID). /home
Setiap user Linux memiliki account dan directory yang unik untuk menyimpan file-filenya. Penyimpanan file-file user ada di directory ini. Dapat dikatakan bahwa directory ini rumah dari para user yang ada. Biasanya setiap user akan memiliki directory di bawah /home dengan nama directory yang sama dengan nama login-nya.
3. Symbolic 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
Symbolic Link diperlukan bila file tersebut di link dengan direktori /file yang berada pada partisi yang berbeda. Tipe file menjadi l (link) --bukan angka ‘satu’-- dan file tersebut menunjuk ke tempat asal. Format : ln –s
/FULLPATH/fileAsli
/FULLPATH/fileDuplikat
4. Type File. Pada Linux terdapat 6 buah tipe file yaitu : • • • • • •
4
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
Disusun oleh: Iwan Binanto (c) 2006
5. 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
Contoh : -rw-rw-r--
tipe
Ijin akses
1
bin
auth
1639
Oct 31 20:19
Jml link Pemilik Group Jml karakter
Waktu
/etc/passwd
Nama file
6. 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 “&”, “;”, “|”, “?”, “`”, “””, “’”, “[“, “]”, “(“, “)”, “$”, “<”, “>”, “{“, “}”, “^”, “#”, “\”, “/”. Penamaan file di Linux case sensitive artinya membedakan huruf kecil dengan huruf besar . Contoh nama file yang benar : Abcde1234 33 program.txt PROG_001.txt report_2121.v.0.1
5
Disusun oleh: Iwan Binanto (c) 2006
5-01.web.html
7. 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) Bentuk –rwxrwxrwx sebenarnya merupakan ijin akses dari suatu file/directory. rwxrwxrwx sebenarnya terdiri dari ijin akses untuk ketiga peran yang ada, yaitu user,
group, dan other dengan pembangian secagai berikut: -
r
w
23*n
22*n
tipe
x
21*n
r
w
23*n
22*n
user
x
21*n
r
23*n
group
w
x
22*n
21*n
other
Jika n = 1, maka ijin akses diberikan; jika n = 0, maka ijin akses TIDAK diberikan. Misalnya ijin akses untuk user dan group adalah read-write-executable, sedangkan untuk other hanya read saja, maka sebenarnya hak aksesnya adalah rwxrwxr--sehingga dapat dituliskan sebagai 774 ketika akan mengubah hak akses. Pemilik File/Direktori dapat mengubah ijin akses sebagai berikut : -rwxrwxrwx
other group user
6
1
student
test
1639
Oct 31 20:19
file
Disusun oleh: Iwan Binanto (c) 2006
Format untuk mengubah ijin akses : chmod [ugoa] [= + -] [rwx] File(s) chmod [ugoa] [= + -] [rwx] Dir(s)
dimana u = user (pemilik) g = group (kelompok) o = others (lainnya) a = all Jika menggunakan angka, maka cara mengubah hak akses adalah: chmod xyz File(s) chmod xyz Dir(s)
dimana xyz adalah angka, dengan angka terbesar adalah 7. 8. User Mask. Untuk menentukan ijin akses awal pada saat file atau direktori dibuat digunakan perintah umask. Untuk menghitung nilai default melalui umask pada file, maka dapat dilakukan kalkulasi sebagai berikut : Kreasi file (biasa) 6 6 6 Nilai umask 022 ------- 644 Kreasi direktori 777 022 Nilai umask ------- 755
7
Disusun oleh: Iwan Binanto (c) 2006
Perintah-perintah dasar Linux Perintah-perintah dasar yang diberikan secara tertulis ini BELUM lengkap, tetapi sudah dapat mewakili pengguna yang baru belajar (newbie). Pada bab ini perintahperintah dasar di bagi menjadi beberapa bagian dengan maksud supaya pembaca dapat lebih mudah mempelajarinya. 1. Mencari File. Ada empat cara untuk menemukan suatu file di dalam file system Linux: • which Biasanya digunakan untuk mencari suatu program dengan cepat. which hanya mencari di PATH kita dan mengembalikan nama file yang ditemukan pertama kali dengan PATH-nya. •
whereis Bekerjanya mirip dengan which tetapi juga dapat mencari man pages (halaman manual) file-file source. Perintah ini tidak hanya memberitahu kita dimana program yang dicari berada, tetapi juga mencari dimana dokumentasi online-nya disimpan.
•
find Perintah ini berguna untuk mencari suatu file dalam file system dengan option-option yang banyak. User dapat memberikan perintah pencarian dengan wildcard, range waktu modifikasi atau pembuatan suatu file, atau properti-properti lain yang lebih advanced. Jika menggunakan find ini sebagai user normal, maka biasanya akan terdapat pesan-pesan error tentang permission denied pada directori-directori yang hanya boleh diakses oleh user root.
•
slocate Perintah ini mencari keseluruh file system seperti perintah find, tetapi perintah ini juga mencari ke database-nya disamping file system yang aktual. Database ini diset secara otomatis untuk diupdate setiap pagi. Kita dapat secara manual menjalankan perintah updatedb untuk meng-update database slocate.
2. Navigasi. •
ls Perintah ini untuk menampilkan isi suatu direktori (current directory) dalam bentuk daftar (DOS menggunakan perintah dir). Perintah ini mempunyai banyak option. Untuk lebih jelasnya, silahkan untuk mencoba langsung atau membaca online documentation-nya dengan mengetikkan man ls di prompt. Option yang sering digunakan adalah:
8
Disusun oleh: Iwan Binanto (c) 2006
ls –FC Option ini akan memberi tampilan yang berbeda pada file, directory, dan link file . Directory diberi tanda / di belakang namanya, sedangkan link file diberi tanda @ di belakang namanya. ls –l Option ini paling sering digunakan karena dengan option ini pengguna memperoleh informasi yang cukup lengkap tentang isi current directory, termasuk hak akses dan kepemilikannya. ls –a Option ini akan menampilkan file-file yang tersembunyi di current directory. •
cd Perintah ini digunakan untuk merubah direktori yang sudah kita gunakan (active directory). Sebagai catatan, ketika kita mengetikkan perintah cd nama_dir tanpa diikuti tanda / di depan nama_dir, maka perintah tersebut akan mengubah direktori ke direktori nama_dir yang terletak di dalam active directory saat itu. Jika hanya mengetikkan cd saja tanpa diikuti nama_dir, maka perintah tersebut berarti mengubah ke direktori home pengguna.
•
pwd Perintah ini digunakan untuk melihat lokasi kita berada saat itu (current location), supaya pengguna tidak “lupa daratan”.
3. Pengaturan Halaman. •
more Perintah ini akan membuat tampilan yang lebih dari satu screen akan ditampilkan per screen. Penekanan tombol Enter akan menampilkan satu baris berikutnya, sedangkan penekanan tombol spasi akan melanjutkan ke screen berikutnya. Contoh penggunaannya : ls –l | more
•
less Perintah more sangat berguna bagi pengguna, tetapi mempunyai kelemahan yaitu tidak dapat kembali ke screen sebelumnya. Perintah less dapat mengatasi kelemahan ini, yaitu data kembali ke screen berikutnya maupun ke screen selanjutnya. Contoh penggunaannya : ls –l | less
9
Disusun oleh: Iwan Binanto (c) 2006
•
most Perintah ini dapat menampilkan lebih dari satu file pada satu saat, sepanjang setiap window file tidak lebih dari dua baris. Contoh penggunaannya : ls –l | more
4. Output Sederhana. •
cat Merupakan kependekan dari concatenation. Perintah ini didesain untuk menggabungkan (merge) banyak file teks menjadi satu file teks, tetapi dapat juga digunakan untuk keperluan lain, misalnya digunakan untuk melihat isi file dan biasanya digabungkan dengan perintah more/less. Contoh penggunaannya : cat file_1 file_2 file_3 > file cat file | more
•
echo Perintah ini menampilkan teks yang diinginkan ke layer monitor. Secara default echo akan menampilkan string yang diinputkan dan mencetak baris baru setelahnya. Disampign itu echo dapat digunakan untuk menambah suatu baris string baru ke dalam file teks.
5. Pembuatan/Penciptaan. •
touch Perintah ini digunakan untuk mengubah time-stamp pada suatu file. Jika file yang ditentukan tidak ada, maka perintah ini akan membuat/menciptakan satu file baru dengan panjang nol (zero length).
•
mkdir Perintah ini akan membuat suatu direktori baru.
6. Penyalinan dan Pemindahan. •
cp Perintah ini akan meng-copy file yang ditentukan (DOS menggunakan perintah copy). Perintah ini juga dapat meng-copy direktori beserta isinya. Untuk lebih jelasnya silahkan untuk membaca online documentation-nya.
10
Disusun oleh: Iwan Binanto (c) 2006
•
mv Perintah ini akan memindahkan file dari satu tempat ke tempat lain. Disamping itu perintah ini juga bisa digunakan untuk mengganti nama file/direktori.
7. Penghapusan. •
•
rm
Perintah ini akan menghapus file dan pohon direktori (DOS menggunakan perintah del dan deltree). rmdir Perintah ini akan menghapus direktori. Direktori yang akan dihapus harus kosong terlebih dulu sebelum dihapus.
8. Memuat file system (mount). Memuat file system berarti mengambil data-data yang ada pada suatu device, misalnya cdrom atau USB flash disk. Secara default sebenarnya Linux tidak memuat secara otomatis file system yang ada pada cdrom ketika cdrom dimasukkan, atau juga tidak memuat secara otoamatis ketika sebuah USB flash disk di tancapkan. Tetapi pada perkembangannya, Linux secara otomatis memuat file system yang ada pada suatu device. Untuk dapat memuat suatu device secara manual, diberikan perintah mount. Kemudian untuk membuang muatan file system tersebut digunakan perintah umount (bukan unmount). Contoh penggunaannya adalah: mount /dev/cdrom /mnt/cdrom umount /mnt/cdrom
11