Operasi File dan Struktur Direktory
Novia Damayanti 2210131004 16 Maret 2015
Praktikum 3 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). dan Direktori lagi (disebut juga Subdirektori).
Secara logika, Direktori dapat berisi File
Gambar 1.3 Struktur direktori pada Linux
2 DIREKTORY STANDAR Setelah proses instalasi, Linux menciptakan system file yang baku, terdiri atas direktori sebagai berikut :
Direktori
Deskripsi Berisi file administrative (konfigrasi dll) dan file executable
/etc
atau 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 /usr/bin /usr/lib
Berisi utilitas sistem dan program aplikasi level tinggi. 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 /proc
file. Direktori variable, artinya tempan penyimpanan LOG (catatan /var
hasil output program), file ini dapat membengkak dan perlu dimonitor perkembangannya. Berisi direktori untuk pemakai Linux (pada SCO diletakkan
/home
pada /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-
/opt
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
ftpaccess, inetd.conf,
dan konfigurasi meliputi : passwd, hosts, shadow, 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 Floppy
Direktori /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 Parallel Port
LPT1 : /dev/lp0 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).
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 : -rw-rw-r-- 1
bin
auth
Pemilik Jml link
1639
Group
Oct 31 20:19
Jml karakter
/etc/passwd
Waktu Nama file
Ij in akse s tipe
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 file Asli fil eDuplikat
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 dimungkinkan.
pada
hard link
tidak
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.
HASIL PERCOBAAN DAN ANALISA Percobaan 1 : Direktory 1. Melihat direktori HOME
Analisa : Pada percobaan 1 ini mambandingkan funngsi pwd dan echo $HOME. Pada dasarnya 2 perintah tersebut memiliki fungsi yang sama yaitu menampilkan direktori kerja yang sedang aktif, tapi dalam proses oprasinya berbeda, dimana pwd proses langsung menuju pada direktori yang sedang aktif sedangkan untuk perintah echo $HOME perosesnya diawali dengan membaca perintah echo yang kemudian dilanjutkan dengan pembacaan kata yang ada di setelahnya dalam hal ini adalah $HOME atau direktori HOME. 2. Melihat direktori aktual dan parent direktori
Analisa : Pada percobaan 2 terdiri dari perintah untuk melihat direktori yang aktif dengan menggunakan pwd dan echo $HOME. Sedangkan perintah untuk masuk dan keluar dari direktori digunakan cd. Ketika perintah cd dikombinasikan dengan tanda titik satu maka tidak ada efek apapun (perintah tidak dieksekusi) dapat dilihat dengan perintah pwd bahwa direktori tetap pada /home/novia, sedangkan ketika perintah cd dikombinasikan dengan tanda titik 2 kali setelahnya maka perintah tersebut mengantarkan kita untuk masuk dalam direktori yang kita gunakan saat itu. Untuk melihat direktorinya dapat digunakan perintah pwd,dapat dilihat bahwa
sekarang berada pada direktori /home. Kemudian terdapat perintah cd yang digunakan untuk berpindah direktor. 3. Membuat satu direktori, lebih dari satu direktori atau sub direktori
Analisa: Perintah diatas terdiri dari perintah untuk manampilkan direktori yang sedang aktif yaitu peintah pwd dan perintah untuk untuk membuat direkroti baru yaitu mkdir, dimana pada perintah diatas direktori yang dibuat adalah direktori A, B dan C yang kemudian dilanjutkan dengan pembuatan direktori baru lagi didalam direktori yang telah dibuat sebelumnya yaitu direktori D dan E didalam direktori A, yang kemudian dilanjutkan lagi dengan pembacaan perintah selanjutnya yaitu pembuatan direktori F di dalam direktori B dan yang terakhir yaitu pembuatan direktori A didalam direktori D yang ada didalam direktori A, ketika di ls – l maka dilayar akan tampil isi direktori secara lengkap, mulai dari hak akses, owner, group dan tanggal file atau direktori tersebut dibuat. Setelah itu terdapat perintah ls –l A . Perintah ini digunakan untuk menampilkan isi direktori A, yaitu direktori D dan E. Terakhir terdapat perintah ls –l A/D digunakan untuk menampilkan isi direktori dari D yang berada dalam direktori A,yaitu direktori A. 4. Menghapus satu atau lebih direktori hanya dapat dilakukan pada direktori kosong dan hanya dapat dihapus oleh pemiliknya kecuali bila diberikan ijin aksesnya
Analisa : Perintah rmdir adalah
perintah
yang
digunakan
untuk
menghapus
direktori. Pada proses pertama (rmdir B) diatas timbul pesan error, mengapa? Karena pada direktori B tersimpan direktori/file lain didalamnya. Oleh sebab itu perintah tersebut tidak dapat dieksekusi, untuk membuktikan bahwa di dalam direktori B tersebut tersimpan direktori lain. Maka digunakan perintah ls –l B. Dapat dilihat bahwa di dalam direktori B terdapat direktori F. Setelah mangetahui adanya direktori F yang tersimpan dalan direktori B maka cara menghapusnya adalah dengan perintah rmdir B/F B, maksud dari perintah tersebut adalah mengahapus dengan cara masuk/membaca terlebih dahulu direktori inti (B) kemudian dilanjutkan dengan menghapus direktori F yang tersimpan dalam direktori inti (B), setalah proses tersebut dieksekusi pada rmdir kemudian membaca perintah barikunya yaitu menghapus direktori B. 5. Navigasi direktori dengan instruksi cd untuk pindah dari satu direktori ke direktori lain.
Analisa : Pada percobaan ini terdiri dari perintah untuk masuk ke dalam direktori tujuan/lain (cd) dan perintah untuk melihat direktori yang sedang aktif (pwd). Perintah cd A yang digunakan untuk masuk kedalam direktori A, yang dapat dibuktikan dengan melihat direktori yang sedang aktif dengan perintah pwd, sedangkan untuk keluar dari direktori tersebut kita hanya cukup mengetikan cd atau cd titik 2 kali (cd ..), untuk memastikan kita telah keluar dari direktori tersebut digunakan perintah $pwd. Perintah selanjutnya adalh perintah untuk masuk kedalam direktori C dengan menuliskan/ meminta izin terlebih dahulu direktori intinya seperti (cd /home/novia/C) yang sama halnya dengan perintah (cd C) karna kita telah aktif pada direktori tersebut (/home/novia). Pada gambar diatas juga tampak perintah $ cd /novia/C, yang ketika dieksekusi maka timbul pesan error mengapa..? dari pesan error telah tampak bahwa yang menjadi masalahnya adalah direktori yang dituju tidak tersedia, yang seharusnya adalah direktori /home/novia/C. Percobaan 2 : Manipulasi file 1. Perintah cp untuk mengkopi file atau seluruh direktori
Analisa : Perintah $ cat >contoh digunakan untuk menampilkan output ke layar (standar output) dan perintah untuk mengkopi direktori/file (cd), seperti yang tampak pada gambar bahwa data yang di input dari keyboard adalah Membuat sebuah file pada file contoh yang ditampilkan kelayar. Setalah proses itu berhasil maka selanjutnya adalah proses pengkopian isi file contoh kedalam file contoh1 dengan perintah cp contoh contoh1 . Setelah itu terdapat perintah ls -l untuk melihat semua isi direktori dan dapat dilihat bahwa file contoh dan contoh1 telah berhasil dibuat. Selanjutnya terjadi proses pengkopian file contoh kedalam direktori A (cp contoh contoh1). Kemudian ketika ditambahkan printah ls -l A maka tampak file contoh telah berhasil di salim kedalam direktori A. Selanjutnya terdapat perintah untuk menyalin 2 file sekaligus, yaitu contoh & contoh1 pada direktori A/D. Ketika diberikan perintah ls -l A/D maka akan tampak file contoh & contoh1 telah berhasil di salin kedalam direktori A/D. 2. Perintah mvuntuk memindah file
Analisa : Perintah mm tidak hanya untuk memindahkan file tapi juga digunakan untuk mengganti nama file misalnya pada praktikum ini nama file contoh diganti menjadi contoh2 (mv contoh contoh2). Kemudian ditambahkan perintah di ls -l maka tampak nama file contoh yang sebelumnya telah tergantikan dengan nama contoh2. Selanjutnya, proses yang terjadi adalah pemindahan file contoh1 contoh2 ke dalam direktori D yang berada di dalam direktori A, yaitu perintah mv contoh1 contoh2 A/D. Perintah selamjutnya juga sama yaitu memindahkan file tapi muncul pesan error karna file contoh dan contoh1 yang berada pada direktori /home/noviaX450EA telah dipindahkan ke direktori C yang berada di dalam direktori /home/novia-X450EA. Untuk membuktikannya diberikan perintah –l C maka akan mucul dilayar bahwa di dalam direktori C terdapat file contoh. 3. Perintah rm untuk menghapus file
Analisa : Pada percobaan ini menggunakan perintah yang digunakan adalah peritah masuk kedalam direktori (cd) dan perintah untuk menghapus file (rm). Ketika akan mengahapus file sesuai dengan perintah soal maka akan terjadi error, karna file ini telah saya pindahkan kedalam direktori maka sebelum menghapusnya harus masuk dulu kedalam direktori tersebut, setalah itu proses penghapusan (rm).
Percobaan 3 : Symbolic Link Membuat shortcut (file link)
Analisa : Perintah echo “Halllo apa khabar” > hallo.txt digunakan untuk membuat file halo.txt yang berisi kalimat hallo apa khabar ketika diberi perintah ls -l maka tampak file halo.txt telah berhasil dibuat. Selanjutnya terdapat peintah ln hallo.txt z artinya file hallo.txt di linkkan dengan file “z” dengan menggunkan perintah “ln” . Ketika melihat isi dari file “z” maka akan keluar isi dari file “hallo.txt”. Percobaan 2 file z di link kan lagi dengan file “hallo.juga” dengan cara yang sama. Ketika di lihat isinya maka isinya mengambil dari file “hallo.txt”. Terakhir file bye.txt berisi link file yang terhubung dengan file z. Jadi apabila nanti isi dari file z berubah, maka isi dari file bye.txt juga akan berubah pula.
Percobaan 4 : Melihat Isi File
Analisa : Pada percobaan ini berisi proses untuk manampilkan isi file ($ file) dan menampilkan isi direktori (ls), dimana ls -l menampilkan isi direktori yang sedang aktif yaitu /home/novia-X450EA. Selanjutnya terdapat perintah $ file halo.txt yang digunakan untuk manampilkan isi file halo.txt sedangkan perintah $ bye.txt adalah perintah yang digunakan untuk manampilkan isi file bye.txt.
Percobaan 5 : Mencari file 1. Perintah find
Analisa : Perintah find adalah printah yang digunakan untuk mancari nama/ekstensi file yang di inputkan misalnya pada percobaan ini yang dicari adalah semua file yang berekstensi txt di /home. Perintah awal digunakan untuk mencari file myerror.txt, akan tetapi tidak bisa mencari file itu karena memiliki akses terbatas. lalu mencari di direktori home dan terakhir mencari file berextensi .txt. 2. Perintah which
Analisa : Perintah which ls digunakan untuk mengetahui
letak system utility (ls)
dimana ketika diketikan maka diketahuai letaknya berada pada direktori /bin/ls. 3. Perintah locate
Analisa: Perintah locate “*.txt” digunakan untuk mencari file berekstensi .txt pada semua direktori dengan lebih cepat dan ditampilkan dengan path yang penuh.
Percobaan 6 : Mencari text pada file
Analisa : Pada percobaaan ini menjelaskan tentang perintah “grep” yang di gunakan untuk mencari kata pada suatu / beberapa file. pada percobaan di atas mencari kata “Hallo” pada file .txt maka pencariannya pada beberapa file. Bisa juga pencariannya pada satu file dengan cara “grep hallo halo.txt” maksudnya mencari kata hallo pada file halo.txt
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, /tmpdan /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 ?
Jawab : Proses-proses yang terjadi pada sistem kernel dan kinerja dari operasi dalam sistem directory disebut pseudo filesystem , karena pseudo filesystem 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 ?
Tidak bisa dilakukan hardlink ke perangkat tty. Karena link terminal langsung menunjuk ke perangkat tty sedangkan terminal hanya bisa dilakukan softlink.
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 ?. Buatlah file bernama hello.txtyang berisi kata ”hello word”.
Dapatkah Anda gunakan
“cp” menggunakan
”terminal” sebagai file asal untuk menghasilkan efek yang sama ?
Perintah cp digunakan untuk menyalin file helo.txt ke terminal. Dapat dilihat dari hasil percobaan 12 pada gambar diatas bahwa dengan menggunakan terminal dapat menghasilkan efek yang sama.
13. Masih direktory home, copy keseluruhan direktory play ke direktory bernama work menggunakan symbolic link.
14. 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. echo home digunakan untuk melihat letak home, sedangkan cd home untuk berpindah ke home. Pada praktikum Operasi File dan Struktur direktori banyak perintah-perintah yang dapat digunakan untuk memindahkan atau menghapus atau mengcopy file dari satu direktori ke direktori lain. Dan juga sebelum melakukan itu semua saya bisa mengetahui alamat dari direktori yang sedang kita masuki.