OPERASI
FILE DAN STRUKTUR DIREKTORI 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 “/”.
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. STRUKTUR DIREKTORI
Beberapa sistem komputer menyimpan banyak sekali berkas-berkas dalam
disk, sehingga diperlukan suatu struktur pengorganisasian data agar lebih mudah
diatur.
Direktori atau folder merupakan suatu entitas dalam sebuah berkas sistem
yang mengandung berkas atau mengandung direktori lain. Sebenarnya, pada
hakikatnya berkas atau berkas terdapat dalam disk, direktori hanya menyediakan
link atau menunjuk pada berkas yang ada.
Dengan demikian, dapat disimpulkan bahwa direktori digunakan sebagai
sarana untuk pengorganisasian berkas pada suatu sistem komputer. Dengan
direktori, berkas-berkas dapat dikelompokkan. Berkas tersebut dapat berisi
berkas ataupun direktori lain, sehingga direktori dapat juga disebut sebagai
berkas istimewa
Setelah proses instalasi, Linux menciptakan system file yang baku, terdiri
atas direktory sebagai berikut :
/
|
Merupakan direktori tertinggi didalam Hirarki yang disebut sebagai
“root”. Semua file dan direktori penting lainnya berada dibawah direktori
ini, sehingga dalam penulisannya selalu menggunakan tanda “/” didepannya.
|
/bin
|
Merupakan direktori file binari berisi perintah-perintah dasar yang
dibutuhkan oleh system maupun user untuk dijalankan, misalnya cd (change
directory), pwd (print working directory), mv (move, mkdir (make directory),
dan sebagainya.
|
/boot
|
Merupakan direktori yang memuat Linux Kernel dan file lain yang
diperlukan pada saat melakukan proses booting sistem terutama saat menerapkan
dual-boot.
|
/dev
|
Merupakan direktori berisi file device dimana perangkat fisik terpasang,
seperti Hard drive (/dev/sda), USB drive (dev/sde), Optikal drive, dan
perangkat lain yang terpasang pada sistem.
|
/etc
|
Merupakan direktori yang berisi file konfigurasi yang diperlukan oleh
semua program dan juga berisi shell script startup dan shutdown untuk memulai
atau menghentikan program individu. Misalnya, /etc/opt sebagai penyimpanan
file konfigurasi untuk paket add-on, /etc/sgml sebagai penyimpanan file
konfigurasi untuk perangkat lunak yang memproses SGML, /etc/X11 sebagai
penyimpanan file konfigurasi untuk X Window System versi 11, /etc/xml sebagai
penyimpanan file konfigurasi untuk perangkat lunak yang memproses XML.
|
/home
|
Merupakan direktori home yang menyimpan data user. Setiap user yang
terdaftar, secara otomatis akan dibuat dalam direktori /home yang berisi
direktori lain seperti Dekstop, Download, Dokumen dan sebagainya. Sebagai
contoh, nama user yang akan kita buat adalah “netsec” maka secara otomatis
akan terbentuk direktori /home/netsec.
|
/lib
|
Merupakan direktori berisi file-file library dari aplikasi yang ada pada
sistem. Direktori ini dapat dianggap setara dengan Program Files pada
Windows, walaupun tidak sama persis. Setiap program pada Windows membutuhkan
library tersendiri untuk diinstal meskipun telah ada untuk program lain,
berbeda dengan Linux dimana kadangkala satu file library dapat digunakan oleh
beberapa aplikasi secara bersama-sama.
|
/media
|
Merupakan direktori berisi file media dari perangkat eksternal yang
terpasang dan terhubung ke sistem. Misalnya CDROM, Hard disk eksternal, dan
sebagainya. Hal ini dapat bervariasi antara distro Linux yang berbeda.
|
/mnt
|
Merupakan direktori yang pada dasarnya digunakan sebagai tempat untuk
pemasangan filesystem atau drive lain sementara. Misalnya, /mnt/server
sebagai tempat pemasangan untuk server media hard drive.
|
/opt
|
Merupakan direktori berisi paket aplikasi tambahan untuk sistem yang
belum dapat dikelola oleh paket distro yang ada. Misalnya, /opt/arcsight
sebagai tempat penyimpanan untuk paket-paket tambahan dari aplikasi ArgSight
yang belum dikelola oleh paket distro manajer.
|
/proc
|
Merupakan direktori proses dimana banyak informasi sistem
direpresentasikan sebagai file. Pada dasarnya menyediakan cara untuk kernel
Linux dalam mengirim dan menerima informasi dari berbagai proses yang
berjalan.
|
/run
|
Merupakan direktori variabel data run-time yang berisi informasi tentang
sistem yang berjalan sejak boot terakhir, misalnya saat log-in pengguna dan
menjalankan daemon.
|
/sbin
|
Merupakan direktori berisi program binari penting yang diperlukan oleh
system administrator untuk pemeliharaan, seperti iptables, fdisk, ifconfig,
swapon, reboot, fsck, init, rute dan lain-lain.
|
/srv
|
Merupakan direktori berisi server tertentu dengan layanan file yang
terkait, seperti data dan skrip untuk server web, data yang ditawarkan oleh
server FTP, dan repositori untuk versi sistem kontrol.
|
/sys
|
Merupakan direktori berisi informasi tentang perangkat yang terhubung ke
sistem dan memungkinkan untuk menyimpan dan memodifikasinya.
|
/tmp
|
Merupakan direktori temporary sistem yang menyimpan file-file sementara
untuk dapat diakses oleh pengguna dan root, sampai boot berikutnya.
|
/usr
|
Merupakan direktori hirarki sekunder berisi program-program source code
yang bisa diakses oleh pengguna. Misalnya, /usr/bin sebagai perintah binari
yang sebagian bukan berasal dari OS Linux (at, awk, cc, less, scp),
/usr/include sebagai standar untuk memuat file-file header dari bahasa
program C dan C++, dan lain-lain.
|
/var
|
Merupakan direktori variable file berisi informasi proses operasi dari
sistem. Seperti, /var/log sebagai direktori yang memuat log dari aplikasi
yang berbeda, /var/mail sebagai direktori yang memuat file Mailbox, /var/lock
sebagai direktori yang memuat file yang hanya dapat digunakan oleh satu
aplikasi saja.
|
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.