Linux : Operasi File dan Struktur Direktori
Operasi File dan Struktur Direktori
1. POKOK BAHASAN:
- Operasi File pada Sistem Operasi Linux
- Struktur Direktory pada Sistem Operasi Linux
2. TUJUAN BELAJAR:
- Memahami organisasi file dan direktory pada sistem operasi Linux
- Menciptakan dan manipulasi directory
- Memahami konsep link dan symbolic link
3. DASAR TEORI:
ORGANISASI FILE
Gambar 1.3 Struktur direktori pada Linux
DIREKTORI STANDAR
Setelah proses instalasi, Linux menciptakan system file yang baku, terdiri atas direktori sebagai berikut :
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
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 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
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
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 fileDuplikat diubah perubahan akan terjadi pada file lainnya.
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.
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.
MENCARI FILE
Jika ingin melihat bagaimana pohon direktori dapat digunakan perintah
- find
Akan melihat file yang bernama targetfile (bisa berupa karakter wildcard)
- which
Format : which command
- locate
Format : locate string
Akan mencari file pada semua directori dengan lebih cepat dan ditampilkan dengan path yang penuh.
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.
4. TUGAS PENDAHULUAN:
Jawablah pertanyaan-pertanyaan di bawah ini :
1. Apa yang dimaksud perintah-perintah direktory : pwd, cd, mkdir, rmdir.
- pwd : perintah untuk melihat direktori yang sedang aktif
- cd : kependekan dari current directory, digunakan untuk masuk ke direktori yang dipilih atau otomatis ke home user.
- mkdir : membuat direktori baru
- rmdir : menghapus direktori kosong. Jika direktori tidak kosong diperlukan option –rf.
2. Apa yang dimaksud perintah-perintah manipulasi file : cp, mv dan rm (sertakan format yang digunakan)
- cp : perintah menggandakan file atau direktori
- mv : perintah untuk memindahkan file/cut
- rm : perintah untuk menghapus file (remove)
filename1 adalah nama yang ingin di-copy dan filename2 nama file yang akan dipaste.
$ cp contoh.txt hasil.txt
format : $ mv <filename1> <filename2>
filename1 adalah nama yang ingin di-cut dan filename2 nama file yang akan dipaste. Nantinya filename1 akan hilang.
$ mv contoh.txt hasil.txt
Argumen adalah untuk nama file yang akan dihapus. Jika file yan akan dihapus tidak berisi kosong, maka perlu menambahkan -rf sebagai argumen
3. Jelaskan perbedaan Symbolic link menggunakan hard link (direct) dan soft link
(indirect).
Pada bentuk soft link, symbolic link dapat dilakukan pada file yang tidak ada, sedangkan pada hard link tidak dimungkinkan. Perbedaan lainnya symbolic link dapat dibentuk melalui media disk atau partisi yang berbeda dengan soft link, tetapi pada hard link terbatas pada partisi disk yang sama.4. Tuliskan maksud perintah-perintah : file, find, which, locate dan grep.
- File digunakan untuk melihat dan mencari data pada directory.
- Find digunakan untuk melihat file pada pohon directory.
- Which digunakan untuk mengetahui letak system utility.
- Locate digunakan untuk mencari file pada semua directory dengan lebih cepat dan ditampilkan dengan path yang penuh.
- Grep (general regular expression print) digunakan untuk mencari file yang bernama sesuai pattern yang diberikan dan akan menampilkan baris yang sesuai.
5. Percobaan
Percobaan 1: Direktori
1.
Melihat direktori HOME
$ pwd
$ echo $HOME
Perintah $ pwd untuk menampilkan direktori yang sedang aktif saat ini, pada contoh di atas yaitu /home/diah. Sedangkan echo $HOME adalah untuk menampilkan alamat direktori HOME yang sedang aktif sebagai string.
2.
Melihat direktori aktual dan parent direktori
$ pwd
$ cd .
$ pwd
$ cd ..
$ pwd
$ cd
Percobaan ini untuk melihat parent directory, atau pada percobaan ini adalah parent directory dari home menggunakan perintah cd dan pwd. Perintah $ pwd untuk menampilkan direktori yang sedang aktif dan $ cd untuk masuk atau pindah ke direktori yang diinginkan.
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
Membuat direktori baru menggunakan perintah $ mkdir, sedangkan membuat subdirektori menggunakan tanda garis miring "/" pada direktori yang ingin dibuat. Pada percobaan di atas yaitu A/D yaitu membuat direktori D di dalam 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
$ rmdir B (Terdapat pesan error, mengapa ?)
$ ls -l B
$ rmdir B/F B
$ ls -l B (Terdapat pesan error, me ngapa ?)
Pada perintah yang pertama muncul pesan error karena file yang ingin dihapus tidak kosong. Jika ingin menghapus file yang tidak kosong dengan menambahkan option -rf pada perintah $ rmdir.
Pada perintah yang terakhir terdapat pesan error karena direktori B yang ingin dihapus tidak ada, yaitu sudah dihapus pada perintah sebelumnya $ rmdir B/F B.
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
Percobaan 2 : Manipulasi file
1.
Perintah cp untuk mengkopi file atau seluruh direktori
$ cat > contoh
Membuat
sebuah file
[Ctrl-d]
$ cp contoh contoh1
$ ls -l
$ cp contoh A
$ ls –l A
$ cp contoh contoh1
A/D
$ ls –l A/D
Perintah cat yang pertama untuk mengetikkan langsung kalimat sebagai input kemudian dibelokkan ke file bernama contoh. Kemudian file ini di-copy ke file baru bernama contoh1 menggunakan perintah $ cp. Untuk melihat isi direktori menggunakan perintah ls. Perintah $ cp contoh contoh1 A/D adalah untuk meng-copy file contoh dan contoh1 ke direktori D yang berada di dalam direktori A, atau direktori D sebagai subdirektori A
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
$ rm contoh2
$ ls -l
$ rm –i contoh
$ rm –rf A C
$ ls –l
Perintah $ rm digunakan untuk menghapus file atau direktori. Jika ingin menghapus file dengan pertanyaan interaktif menggunakan option -i. Namun jika direktori yang ingin dihapus tidak berisi kosong, harus menambahkan option -rf.
Percobaan
3 : Symbolic
Link
1.
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
Percobaan 4 : Melihat Isi File
$ ls –l
$ file halo.txt
$ file bye.txt
Percobaan
5 : Mencari
file
1.
Perintah find
$ find /home –name
“*.txt” –print > myerror.txt
$ cat myerror.txt
$ find . –name
“*.txt” –exec wc –l ‘{}’ ‘;’
Perintah find adalah untuk mencari file sesuai eksistensi file, atau pada percobaan di atas yaitu .txt. Maka hasil pencariannya semua file berekstensi file .txt.
2.
Perintah which
$ which ls
Perintah $ which digunakan untuk mencari direktori yang terdapat ls. Which digunakan untuk mengetahui sistem utility.
3.
Perintah locate
$ locate “*.txt”
Sama seperti $ find, perintah ini juga bisa digunakan untuk mencari file dengan ekstensi tertentu. Pada percobaan di atas adalah file berekstensi .txt. Semua file berekstensi .txt akan dimunculkan semua.
Percobaan
6 : Mencari
text pada file
$ grep Hallo *.txt
Perintah $ grep digunakan untuk mencari file dengan kata kunci. Pada percobaan di atas adalah mencari kata "Hallo" pada semua file berekstenti .txt.
6. 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.
Percobaan ini untuk melihat sistem file dan isi direktori.
3. Telusuri direktory /dev. Identifikasi perangkat yang tersedia. Identifikasi tty (termninal) Anda (ketik who am i); siapa pemilih tty Anda (gunakan ls –l).
Berdasarkan percobaan ini, user diah menggunakan tty0.
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 ?
'Pseudo-' berarti salah, berpura-pura. Jadi "pseudo-filesystem" berarti sistem file yang tidak memiliki file sebenarnya - melainkan, memiliki entri virtual yang dibuat oleh sistem file itu sendiri di tempat.
Sebagai contoh, /procpada banyak OS adalah sebuah procfs yang secara dinamis menghasilkan direktori untuk setiap proses
5. Ubahlah direktory home ke user lain secara langsung menggunakan cd ~username.
Karena user yang ada hanya satu yaitu 'diah', maka keduanya masuk ke home yang sama, yaitu6. Ubah kembali ke direktory home Anda.
Kembali ke home menggunakan perintah $ cd.
7. Buat subdirektory work dan play.
Pada percobaan ini yaitu membuat subdirektori play di dalam direktori work. Pertama membuat direktori work terlebih dahulu, kemudian subdirektori play. Kedua perintah ini digabungkan menjadi satu, yaitu $ mkdir work work/play. Dapat dilihat pada gambar, file work sudah muncul.8. Hapus subdirektory work.
Setelah direktori work dihapus menggunakan perintah $ rmdir, maka direktori ini sudah hilang.
9. Copy file /etc/passwd ke direktory home Anda.
Meng-copy file menggunakan perintah $ cp. Dapat dilihat pada gambar di atas bahwa file passwd sudah muncul di home. Melihat isi direktori menggunakan perintah $ ls.
10. Pindahkan ke subirectory play.
Memindahkan file bisa menggunakan perintah $ mv. Kemudian file play berisi file passwd.
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 ?
Pindah direktori menggunakan perintah $ cd. Dan membuat hard lnik menggunakan perintah $ ln.
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.
Gambar di atas untuk percobaan 13 dan percobaan 14 sekaligus. Ketika meng-copy file ke terminal gagal karena terlalu banya simbolic link.
15. Hapus direktory work dan isinya dengan satu perintah






Komentar
Posting Komentar