Operasi File dan Struktur Direktory
Operasi File dan Struktur Direktory
POKOK BAHASAN:
ü Operasi File pada Sistem Operasi Linux
ü Struktur Direktory pada Sistem Operasi Linux
TUJUAN BELAJAR:
Setelah mempelajari materi dalam bab ini, mahasiswa
diharapkan mampu:
ü Memahami organisasi file dan direktory
pada sistem operasi Linux
ü Menciptakan dan manipulasi directory
ü Memahami konsep link dan symbolic link
DASAR TEORI:
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 “/” 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. DIREKTORY STANDAR
Setelah proses instalasi, Linux menciptakan system
file yang baku, terdiri atas direktori sebagai
berikut :
Direktori |
Deskripsi |
/etc |
Berisi file administrative (konfigrasi dll) dan file executable atau script
yang berguna untuk administrasi system. |
/dev |
Berisi file khusus yang merepresentasikan peralatan hardware seperti memori,
disk, printer, tape,
floppy, jaringan dll. |
/bin |
Berisi utilitas sistem
level rendah (binary) . |
/sbin |
Berisi utilitas sistem
untuk superuser (untuk
membentuk administrasi sistem). |
/usr/sbin /usr/bin |
Berisi utilitas sistem dan program
aplikasi level tinggi. |
/usr/lib |
Berisi program library
yang diperlukan untuk kompilasi |
|
program (misalnya C). Berisi instruksi (command) misalnya untuk Print Spooler (lpadmin) dll. |
/tmp |
Berisi file sementara, yang pada saat Bootstrap akan dihapus (dapat digunakan oleh sembarang user). |
/boot |
Berisi file yang sangat penting
untuk proses bootstrap. Kernel vmlinuz disimpan di direktori ini. |
/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 /mnt |
Berisi direktori untuk
pemakai Linux (pada
SCO diletakkan pada /usr) 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 |
/opt |
Option, direktori ini biasanya berisi aplikasi tambahan (“add- on”) seperti
Netscape Navigator, kde, gnome, applix
dll. |
Direktori /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.
· 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.
Peralatan |
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 actual cdrom
ide atau scsi) |
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) |
Direktori /proc
Direktori /proc adalah direktori yang dibuat diatas RAM (Random Access Memory) dengan system file yang diatur olehkernel. /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).
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 :
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:
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
“&”, “;”, “|”, “?”, “`”, “””, “’”, “[“, “]”, “(“, “)”, “$”, “<”,
“>”, “{“, “}”, “^”, “#”, “\”,
“/”. 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
6 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 (link count = 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 menunjuk ke 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.
7 MELIHAT ISI FILE
Untuk melihat jenis file menggunakan format :
file filename(s)
Isi file akan dilaporkan dengan deskripsi level tinggin seperti contoh berikut
$ file myprog.c letter.txt webpage.html
myprog.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 me ncari file pada semua directori 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.
Tugas Pendahuluan:
- pwd merupakan perintah untuk melihat direktori yang sedang digunakan
- cd merupakan perintah yang digunakan untuk menjelajahi file dan direktori atau berpindah dari satu folder ke folder yang lainnya
- mkdir merupakan perintah untuk membuat direktori atu subdirektori baru
- rmdir merupakan perintah untuk menghapus direktori
- cp merupakan perintah untuk menyalin sebuah file atau direktori
- mv merupakan perintah yang digunakan untuk memindahkan file dari lokasi satu ke lokasi lainnya
- rm merupakan perintah untuk menghapus file
- file merupakan perintah yang digunakan untuk melihat suatu file
- find merupakan perintah untuk mencari suatu file dalam pohon direktori
- which merupakan perintah untuk melihat
- locate merupakan perintah untuk mencari file berdasarkan nama tanpa harus menuliskannya secara spesifik dengan menambahkan tulisan (-i)
- grep merupakan perintah untuk Mencari informasi terkait pola atau kata yang ada dalam program
Percobaan 1 : Direktory
- Melihat direktori Homeperintah diatas berfungsi untuk menampilkan direktori home, dengan menggunakan perintah $ pwd atau $ echo $ home
- Melihat direktori aktual dan parent direktoriperintah diatas berfungsi untuk melihat direktori akuat dan parent direktori, perintah $ cd . digunakan untuk melihat direktori parent sedangkan perintah $ cd .. digunakan untuk masuk ke direktori /home
- Membuat satu direktori, lebih dari satu direktori atau sub direktoriperintah $ mkdir digunakan untuk membuat sebuah direktori, perintah $ mkdir diatas berarti membuat direktori A , B, dan C di direktori home, kemudian di folder A ada subdirektori yaitu D,E, dan didalam subdirektori D ada subdirektori A, dan juga di direktori B ada subdirektori F.
- Menghapus satu atau lebih direktori hanya dapat dilakukan pada direktori kosong dan hanya dapat dihapus oleh pemiliknya kecuali bila diberikan ijin aksesnyapada perintah $ rmdir B terdapat pesan error atau tidak dapat menghapus direktori B, hal tersebut dikarekan pada direktori B terdapat sebuah subdirektori atau direktori B tidak kosong. sedangkan pesan error yang kedua terdapat pada perintah $ ls -l B, perintah tersebut mendapatkan pesan error karena direktori B sebelumnya sudah di hapus dengan perintah $ rmdir B/F B.
- Navigasi direktori dengan instruksi cd untuk pindah dari satu direktori ke direktori lain.perintah $ cd A, $ cd .. , $ cd /home/<user>/C, $ cd /<user>/C dapat digunakan untuk berpindah dari satu direktori kedalam direktori lain. namun pada percobaan dengan menggunakan perintah $ cd /<user>/C terdapat pesan error, hal tersebut dikarenakan tidak ada direktori C pada tempat yang dituju
Percobaan 2: Manipulasi File
- Perintah cp untuk mengkopi file ke seluruh direktoriKET. pada perintah diatas diawali membuat sebuah file bernama contoh dengan menggunakan perintah $ cat > contoh, kemudian file contoh disalin atau dicopy menjadi contoh1 dengan perintah $ cp contoh contoh1, dan untuk memastikan file tersebut telah berhasil disalin kita dapat mengecek nya dengan perintah $ ls -l dimana fungsi perintah tersebut adalah menampilkan daftar/list, dan begitupun perintah selanjut nya.
- Perintah mv untuk memindah fileKET. perintah $ mv digunakan untuk memindah file dan perintah $ ls -l digunakan untuk melihat informasinya pada home, sekaligus untuk membuktikan bahwa file tersebut telah berhasil di pindahkan.
- Perintah rm untuk menghapus file
KET. perintah $rm ini untuk menghapus file contoh pada file yang sudah ada
Percobaan 3: Symobolic Link
- Membuat shortcut (file link)
Percobaan 4: Melihat isi File
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 direktory /bin, /usr/bin, /sbin, /tmp dan /boot.
/bin:
/usr/bin:
/sbin:
/tmp:
/boot:
3. Telusuri direktory /dev. Identifikasi perangkat yang tersedia. Identifikasi tty (termninal) Anda (ketik who am i); siapa pemilih tty Anda (gunakan ls –l).
4. Telusuri derectory /proc. Tampilkan isi file interrupts, devices, cpuinfo, meminfo dan uptime menggunakan perintah cat. Dapatkah Anda melihat mengapa directory /proc disebut pseudo -filesystem yang memungkinkan akses ke struktur data kernel ?
5. Ubahlah direktory home ke user lain secara langsung menggunakan cd ~username.
6. Ubah kembali ke direktory home Anda.
7. Buat subdirektory work dan play.
8. Hapus subdirektory work.
9. Copy file /etc/passwd ke direktory home Anda.
10. Pindahkan ke subirectory play.
11. Ubahlah ke subdirektory 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” menggunakan ”terminal” sebagai file asal untuk menghasilkan efek yang sama ?
13. Copy hello.txt ke terminal. Apa yang terjadi ?
14. Masih direktory home,
copy keseluruhan direktory play ke direktory bernama work
menggunakan symbolic link.
15. Hapus direktory work dan isinya dengan satu perintah
Kesimpulan:
- Sistem file pada Linux menyerupai tree (pohon) yang dimulai dari root kemudian direktori dan subdirektori.
- Terdapat dua sistem symbolic link yaitu hardlink dan softlink.
- Pada sistem operasi Linux ini, dapat mengatur atau memanipulasi struktur file dan direktori yang ada pada sistem sesuai dengan kebutuhan.
- Sebuah direktori yang terdapat isinya tidak dapat dihapus.
Komentar
Posting Komentar