Sistem Direktori dan Berkas
A. T U J U A N
Setelah mempelajari materi dalam bab
ini, mahasiswa diharapkan mampu:
1. Memahami
Sistem Direktori dan sistem Berkas
2. Menciptakan
dan manipulasi directory.
3. Memahami
konsep link dan symbolic link.
B. DASAR TEORI Organisasi File
Sistem
berkas Linux dan Unix diorganisir dalam struktur hirarki, seperti pohon. Level
tertinggi dari sistem berkas adalah / atau direktori root. Dalam filosofi disain
Unix dan Linux, semua dianggap sebagai berkas, termasuk hard disks, partisi dan
removable media. Ini berarti bahwa semua berkas dan direktori (termasuk cakram
dan partisi lain) ada di bawah direktori root. seperti Gambar 4.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 ile tersebut). Secara logika, direktori dapat berisi
File dan direktori lagi (disebut juga Subdirektori).
Gambar 4.1. Struktur
direktori pada Linux Ubuntu
Direktori Standar
Setelah proses instalasi, Linux
menciptakan sistem file yang baku, terdiri atas direktori sebagai berikut :
|
Direktori
|
Deskripsi
|
|
/bin
|
direktori yang berisi file-file
binary standar yang dapat digunakan oleh seluruh user baik user biasa maupun
super user (perintah dasar dalam linux)
|
|
/boot
|
direktori yang berisi file-file
untuk booting Linux
|
|
/dev
|
direktori yang berisi file system
khusus yang merupakan refleksi device hard-ware yang dikenali dan digunakan
sistem seperti Hard Disk, Floppy Disk, Flash Disk, dll
|
|
/etc
|
direktori yang berisi file-file
konfigurasi sistem, dan hanya boleh diubah oleh super user
|
|
/home
|
direktori yang berisi yang
merupakan direktori home untuk semua user
|
|
/lib
|
direktori yang berisi file-file
library yang digunakan untuk mendukung kerja kernel Linux
|
|
/mnt
|
merupakan
direktori khusus yang disediakan untuk mounting (mengaitkan) device disk
storage ke sistem dalam bentuk direktori
|
|
/proc
|
berisi
file system khusus yang menunjukkan data-data kernel setiap saat
|
|
/root
|
direktori
home untuk user root (user khusus dengan priviledges hampir tak terbatas.
|
|
/sbin
|
direktori
yang sama seperti direktori /bin, tetapi hanya super user yang se-baiknya
menggunakan binary- binary tersebut mengingat fungsi-fungsi binary yang
terdapat di direktori ini untuk maintenance sistem
|
|
/tmp
|
berisi file-file sementara yang
dibutuhkan sebuah aplikasi yang sedang berjalan
|
|
usr
|
direktori
yang berisi library, binary, dokumentasi dan file lainnya hasil instalasi
user
|
|
/var
|
direktori
yang berisi file-file log, mailbox dan data-data aplikasi
|
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, dan lain lain.
•
Named
Pipe (FIFO)
File yang digunakan secara intern
oleh sistem operasi untuk komunikasi antar proses
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.
•
Kelompok
(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--
1 bin auth 16 39 Oct 31
20:19 /etc/passwd
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
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
fileDuplikat
disebut hard link dimana kedua file
akan muncul identik (link count = 2)
Bila fileAsli atau fileDuplikat diubah perubahan akan terjadi pada file
lainnya. Symbolic Link diperlukan bila file tersebut dilink 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.
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 Keterangan:
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.
Mencari File
Jika ingin melihat bagaimana pohon
direktori dapat digunakan perintah
•
find
Format : find directory –name targetfile -print
Akan melihat file yang bernama t arge t fi le (bisa berupa karakter wildcard)
•
which
Format : which command
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.
C. PRAKTEK
1.
Apa yang dimaksud perintah-perintah:
pwd, cd, mkdir, dan rmdir .
2.
Apa yang dimaksud perintah-perintah
manipulasi file : cp, mv dan rm (sertakan format yang digunakan).
3.
Jelaskan perbedaan symbolic link menggunakan hard link (direct) dan soft link (indirect).
4.
Tuliskan maksud perintah-perintah : file,
find, which, locate dan grep.
D. LATIHAN
1.
Login sebagai user.
2.
Bukalah Console Terminal dan lakukan
percobaan-percobaan di bawah ini.
Perhatikan hasilnya.
3.
Selesaikan soal-soal latihan
Latihan 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 lain.
$ pwd
$ ls -l
$ cd
A pwd cd .. pwd cd /home/<user>/C pwd cd /<user/C (Terdapat pesan error, mengapa ?) pwd
Hasil Output :
Latihan
2. Manipulasi file
1.
Perintah cp untuk mengkopi file atau
seluruh direktori.
$ cat > contoh Membuat sebuah
file [Ctrl+d]
$ ls -l
$ cp contoh A
$ ls –l A
$ cp contoh contoh1 A/D
$ ls –l A/D
2.
Perintah mv untuk memindah file
$ mv contoh contoh2
$ ls -l
$ mv contoh1 contoh2 A/D $ ls –l A/D
$ mv contoh contoh1 C $ ls –l C
3.
Perintah rm untuk menghapus file
$ ls -l
$ rm –i contoh
$ rm –rf A C
$ ls -l
Hasil Output :
Latihan 3. Symbolic Link
Membuat shortcut (file link)
$ echo "Hallo apa khabar"
> 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
Hasil Output :
Latihan
4. Melihat Isi File
$ ls –l
$ file halo. txt $ file bye. Txt
Hasil Output :
Latihan
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”
Hasil Output :











Tidak ada komentar:
Posting Komentar