Modul Praktikum Sistem Operasi Praktikum III
BAB 3
FILE AND DIRECTORIES
Dasar Teori
File merupakan koleksi dari data yang disimpan di dalam disk dan dapat dimanipulasi sebagai suatu unit sesuai dengan namanya. Sedangkan directories atau direktori adalah sebuah file yang bertindak sebagai folder untuk file lain. Sebuah direktori juga berisi direktori lain(subdirektori). Sebuah direktori yang berisi direktori lain disebut direktori parent. Sebuah directory tree termasuk sebuah direktori dan semua file didalamnya. Sebuah karakter slash (‘/’) adalah nama dari root directory.
Berikut merupakan direktori standar dalam linux, silahkan isi deskripsi dari masing- masing direktori tersebut.
Direktori Deskripsi
/ Direktori root, yang menampung seluruh file yang ada dalam Linux /bin Berisi file-file binary standar yang dapat digunakan oleh semua user baik
user biasa maupun super user
/dev Berisi file system khusus yang merupakan refleksi device hardware yang dikenali dan digunakan sistem
/etc Berisi file-file konfigurasi sistem, biasanya hanya boleh diubah oleh super user
/home Berisi direktori-direktori yang merupakan direktori home untuk user biasa dan aplikasi tertentu
/lib Berisi file-file library yang digunakan untuk mendukung kerja kernel Linux
/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) Tujuan Praktikum :
1. Mengerti konsep file dan directories.
2. Mampu membuat file dan directories.
3. Mampu mencetak/print file.
4. Mampu memahami konsep path.
5. Memahami cara kompres dan ekstrak (zip, tar).
6. Memahami cara instal dari source.
Modul Praktikum Sistem Operasi Praktikum III
/sbin Sama seperti direktori bin, tetapi hanya super user yang sebaiknya 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 Berisi library, binary, dokumentasi dan file lainnya hasil instalasi user /var Berisi file-file log, mailbox dan data-data aplikasi
I Files dan Directories
1. Menamakan Files Dan Directories
Sebuah file dapat terdiri dari huruf besar dan huruf kecil, nomor, titik (.), tanda penghubung(-) dan tanda garisbawah (_). Sebuah nama dari file juga mengandung case sensitive. ‘sisop’ , ‘Sisop’ dan ‘SISOP’ merupakan nama yang berbeda.
Linux juga tidak membatasi dalam ekstensi sebuah file, tapi akan sangat baik dan berguna jika memberikan ekstensi yang sesuai untuk mengidentifikasi tipe file dengan sekali lihat. Nama file sebelum ektensi disebut dengan base file name. sebagai contoh base file name dari ‘sisop.txt’ adalah sisop.
2. Membuat File
Untuk membuat file ‘sisop’ di direktori terkini Syntax :
$ touch sisop
Untuk membuat file ‘sisop’ di dalam direktori ‘home/praktikum’
subdirektori dari direktori tersebut Syntax :
$ touch home/praktikum/sisop
Tantangan :
Buatlah sebuah file dengan ektensi txt, kemudian buka file tersebut dengan vi editor dan tulis ‘saya belajar membuat file dengan ektensi txt di linux’
Modul Praktikum Sistem Operasi Praktikum III
3. Membuat Direktori
Gunakan perintah ‘mkdir’ untuk membuat sebuah direktori baru, berikan path name untuk direktori baru sebagai argumen.
Untuk membuat folder ‘sisop’ di direktori terkini.
Syntax :
$ mkdir sisop
Untuk membuat folder ‘sisop’ di dalam direktori ‘/tmp’ subdirektori dari direktori tersebut
Syntax :
$ mkdir /tmp/sisop
Tantangan :
Buatlah sebuah folder ‘/praktikum/sisop/2014’ dengan sekali perintah tanpa membuat folder /praktikum terlebih dahulu (gunakan direktori tree)
Modul Praktikum Sistem Operasi Praktikum III
4. Berpindah Direktori
Gunakan perintah cd untuk berpindah direktori dari direktori sebelumnya.
Syntax :
$ cd [alamat_direktori]
Contoh : $ cd /var/www
Untuk Berpindah direktori ke direktori diatasnya (parent) gunakan perintah
$ cd ..
5. Mendapatkan Nama Direktori Terkini
Untuk memperlihatkan di direktori mana posisi kita berada sekarang digunakan perintah
Syntax :
$ pwd
6. ls
Perintah ini berfungsi untuk menampilkan isi dari suatu directory beserta atribut filenya.
Syntax :
$ ls [option]
OPTION FUNGSI
Modul Praktikum Sistem Operasi Praktikum III
-a
bila anda ingin menampilkan semua file dan folder, termasuk file dan folder yang tersembunyi
-A sama dengan -a, tetapi tidak menampilkan direktori . dan ..
-C menampilkan direktori dengan output berbentuk kolom -d menampilkan direktori saja, isi direktori tidak ditampilkan
-f menampilkan isi direktori tanpa diurutkan -l
menampilkan isi direktori secara lengkap, mulai dari hak akses, owner, group dan tanggal file atau direktori tersebut dibuat
-1 menampilkan isi direktori dengan format satu direktori per baris
Contoh : $ ls –l
7. cp
Digunakan untuk melakukan copy file.
Syntax :
$ cp /[direktori]/[file_yang_ingin_dicopy] /[direktori tujuan]
Contoh : $ cp /etc/file1.txt /var/www
Modul Praktikum Sistem Operasi Praktikum III
8. mv
Digunakan untuk melakukan memindahkan, cut atau rename file.
Syntax :
$ mv /[direktori]/[file_yang_ingin_dicut] /[direktori tujuan] (cut)
$ mv /[direktori]/[file_yang_ingin_direname] /[nama_baru_file] (rename) Contoh : $ mv /etc/file1.txt /var/www
$ mv /etc/file1.txt file2.txt
9. rm
Digunakan untuk menghapus file.
Syntax :
$ rm [nama_file]
Contoh : $ rm file1.txt rmdir
Digunakan untuk menghapus direktori.
Syntax :
$ rmdir [nama_file]
Contoh : $ rmdir coba rm –rf
Digunakan menghapus direktori yang didalamnya terdapat file Syntax :
$ rm –rf [nama_direktori]
Contoh : $ rm –rf coba
10. More
Digunakan untuk menampilkan isi sebuah file Syntax :
$ more [nama_file]
Contoh : $ more file1.txt 11. cat
Kita akan menggunakan perintah cat yang telah tersedia secara default di shell linux.
Syntax :
$ cat > [nama_file]
Modul Praktikum Sistem Operasi Praktikum III
Contoh :
Membuat File dengan nama test
susi@sisop:~$ cat > test
ini hanya sebuah test dari perintah cat hehehehehe...
Melihat isi file test
susi@sisop:~$ cat test
ini hanya sebuah test dari perintah cat hehehehehe...
susi@sisop:~$
Penambahan untuk file test
susi@sisop~$ cat > > test
baris ini tambahan dari yang lama...
Melihat kembali isi file test setelah ditambahkan beberapa kata susi@sisop:~$ cat test
ini hanya sebuah test dari perintah cat hehehehehe...
baris ini tambahan dari yang lama...
susi@sisop:~$
Disini kita melihat bahwa output dari perintah cat akan di belokkan (redirect) ke sebuah file dengan nama test.
Cat dapat juga digunakan untuk memasukkan sebuah isi dari suatu file ke dalam file yang lain.
Syntax :
$ cat file1 file2 file3 > file4
12. mail
Isi dari suatu file akan kita gunakan sebagai input dari suatu proses yang akan kita jalankan. Sebagai contoh kita akan mencoba mengirimkan mail ke diri sendiri dengan isi mail berasal dari file test tadi
andi@sisop:~$ mail anggi < test
Sekarang kita lihat mail yang telah dikirim tadi dengan perintah sbb :
Modul Praktikum Sistem Operasi Praktikum III
andi@sisop:~$ mail
Mail version 8.1 6/6/93. Type ? for help.
"/var/spool/mail/andi": 1 message 1 new
N 1 [email protected] Thu Nov 9 14:51 14/525
& 1
Message 1:
From [email protected] Thu Nov 9 14:51:12 2000 Delivered-To: [email protected]
Date: Thu, 13 Nov 2013 14:51:12 +0700 (JAVT) From: [email protected] (/me)
Ini hanya contoh outputan perintah mail :D andi@sisop:~$
Isi dari file test di jadikan sebagai input dari proses yang kita lakukan yaitu proses pengiriman mail.
13. cut
Mendefinisikan suatu file yang berisi data berdasarkan kolom Syntax :
$ cut [option] file
Contoh : kita akan cut file test dari kolom 1-7 tata@brawijaya:~$ cut -c 1-7 test ini han
heheheh baris i
tata@brawijaya:~$ cat test
ini hanya sebuah test dari output redirection hehehehehe...
baris ini tambahan dari yang lama...
tata@brawijaya:~$
Dari contoh dapat terlihat bahwa cut hanya menampilkan isi dari file test dari kolom 1 sampai 7
Modul Praktikum Sistem Operasi Praktikum III
14. find
Dari namanya sudah dapat diterka bahwa perintah ini berfungsi untuk mencari file ataupun directori.
Syntax :
$ find /path [option]
Contoh :
tata@brawijaya:~$ find . -name te*
./test
tata@brawijaya:~$
15. grep
Perintah ini berguna untuk pencarian data di dalam file, penggunaan grep akan lebih mengefisienkan waktu ketimbang harus membaca satu persatu.
Syntax :
$ grep [option] "data" Ike
Contoh :
tata@brawijaya:~$ grep "ini" test
ini hanya sebuah test dari output redirection baris ini tambahan dari yang lama...
tata@brawijaya:~$
16. ln
Kegunaan perintah ini adalah untuk membuat link dari satu file/directori ke file/directori lain.
Syntax :
$ ln -s /path/to/source target Contoh :
anggi@praktikum:~$ ln -s file1 file2 anggi@praktikum:~$ ls -l
total 2
-rw-r--r-- 1 anggi anggi 102 Nov 9 14:11 file1
lrwxrwxrwx 1 anggi anggi 4 Nov 10 03:21 file2 -> file1 anggi@praktikum:~$
Dari contoh dapat dilihat bahwa file uji adalah merupakan link dari file test.
Modul Praktikum Sistem Operasi Praktikum III
17. locate
Perintah ini digunakan untuk mengetahui dimana letaknya sebuah file atau directori.
Fungsinya kurang lebih sama dengan find, bedanya locate menggunakan sebuah database (biasanya terletak di /var/lib/locatedb ) yang dapat di update menggunakan perintah updatedb.
Syntax :
$ locate [something]
Contoh :
fara@praktikum:~$ locate linux /home/fara/linux
fara@praktikum:~$
18. dir
Memiliki fungsi yang sama dengan perintah ls, yaitu menampilkan is direktori. Anda bisa membuka manual dari perintah dir. Pemberian option dan argument sama dengan perintah ls.
Syntax :
$ dir
sasa@praktikum:~$ dir
Desktop Downloads Music Public Videos
Documents examples.desktop Pictures Templates
19. tail
Perintah ini berlawanan dengan perintah cut, tail mendefinisikan sebuah data pada file menurut barisnya. Sedikit perbedaan adalah pada tail secara default ditampilkan 10 baris terakhir dari isi file
Syntax :
$ tail [option] [namafile]
Contoh :
agung@sisop:~$ tail test
ini hanya sebuah contoh ouput perintah tail hehehehehe...
Modul Praktikum Sistem Operasi Praktikum III
baris ini hanya tambahan antoro@drutz:~$
Bila kita ingin menampilkan hanya 1 baris terakhir gunakan option [-[nilai].
Misal :
agung@sisop:~$ tail -1 test
baris ini tambahan dari yang lama...
agung@sisop:~$
20. wc
Perintah untuk menampilkan jumlah baris, jumlah kata dan ukuran dari sebuah file.
Syntax:
$ wc [option] [nama_file]
ayu@brawijaya:~/data$ wc test.txt 5 20 198 test.txt
5 : jumlah baris 20 : jumlah kata
198 jumlah ukuran file 21. sort
Apabila anda ingin menampilkan isi file teks secara urut. Gunakan perintah ini.
Syntax :
$ sort [option] [nama_file]
Contoh :
Untuk latihan berikutnya buat file baru yang berisi daftar nama berikut ini. (Tentu anda sudah hafal cara membuat file teks dengan perintah cat.)
$ cat > namakota.txt Surabaya
Malang
Tulungagung Kediri
Sidoarjo Jombang Blitar
Modul Praktikum Sistem Operasi Praktikum III
>> Isi file tersebut akan diurutkan dengan perintah sort :
$ sort namakota.txt Blitar
Jombang Kediri Malang Sidoarjo Surabaya Tulungagung
II Print
III Path
Path merupakan sebuah lokasi yang khusus untuk file atau folder dengan file system dan sistem operaso. Sebuah path merujuk pada file adalah kombinasi dari dan karakter alpha-numeric. Path dipisahkan dengan tanda colon(titik dua) dari direktori untuk mencari sheill ketika memasukkan perintah. Semua perintah yang dapat dijalankan disimpan dalam direktori berbeda di Linux dan Unix.
Tantangan :
Mengapa variabel PATH perlu didefinisikan ?
Variabel ini berisi daftar direktori, yang dipisahkan oleh titik dua, yang digunakan oleh sistem anda untuk mencari file yang dapat dieksekusi. Jika dimasukkan suatu nama file yang dapat dieksekusi, tetapi file ini ternyata tidak terdapat pada daftar direktori, maka sistem tidak akan menjalankan file ini.
Modul Praktikum Sistem Operasi Praktikum III
1. Melihat variabel PATH
Untuk melihat variabel path, gunakan perintah Syntax:
$ echo $PATH
2. Menentukan variabel PATH
Mengatur PATH di bash, ksh atau csh adalah satu dan sama.
Syntax:
$ PATH=$PATH:folder_baru_yang_mengandung_binari
Contoh : $ PATH=$PATH:/usr/share/java Tantangan !
Saya mempunyai script yang berada di /home/sisop/script. Saya ingin mengeksekusi script saya tanpa menjalankan sh atau bash. Bagaimanakah caranya ?
Path =$path : /home/sisop/script
3. Menentukan variabel PATH secara permanen
Jika ingin tetap menjaga agar variabel PATH tetap bisa dieksekusi setelah reboot/restart, maka harus diset secara permanen. Masukan kalimat export PATH=$PATH:/user/share/java
di dalam file ~/.profile atau ~/.bashrc agar dapat digunakan secara permanen.
Modul Praktikum Sistem Operasi Praktikum III
Setelah diset, kita perlu menambahkan perintah source di terminal agar PATH menjadi tersedia dan dapat digunakan.
$ Source ~/.profile atau
$ Source ~/.bashrc Atau lakukan reboot.
IV Kompresi dan Ekstraksi - zip, tar, unxzip
Kompresi data adalah sebuah cara untuk memampatkan data dan hanya memerlukan ruang penyimpanan lebih kecil sehingga lebih efisien dalam menyimpannya atau mempersingkat waktu pertukaran data tersebut. Sebaliknya ekstraksi data adalah proses untuk mengeluarkan beberapa file dari sebuah file arsip (ZIP).
1. Kompresi File
Dalam LINUX ada beberapa cara untuk meng-kompresi file, salah satunya dengan perintah berikut ini
Syntax :
$ tar –cf [nama_file_kompres.tipe_kompres]
[nama_file_1]... [nama_file_n]
Contoh :
Kita telah membuat beberapa file dengan nama file1.txt dan file2.txt.
Selanjutnya membuat file kompresi dengan nama filekompresi.zip
$ tar –cf filekompresi.zip file1.txt file2.txt Tantangan !
Buatlah 5 buah file selain tipe txt lalu kompresi 5 file tersebut di direktori super user.
Bagaimanakah caranya ? (sertakan screen shot)
Modul Praktikum Sistem Operasi Praktikum III
Touch file.1 file.2 file.3 file.4 file.5 Tar –cf sisop file.1 file.2 file.3 file.4 file.5
2. Ekstraksi File
Selain digunakan untuk proses kompresi, -tar juga dapat digunakan untuk melakukan proses ektraksi seperti berikut ini.
Syntax :
$ tar –xf [nama_file_kompres.tipe_kompres]
Contoh :
Terdapat file arsip dengan nama filekompresi.zip
$ tar –xf filekompresi.zip Tantangan !
Selain zip, buatlah 3 macam file arsip bertipe lain dan lakukan proses ekstraksi!
(sertakan screen shot)
Modul Praktikum Sistem Operasi Praktikum III
Tantangan!
Tuliskan 3 buah command selain yang telah dijelaskan pada materi untuk meng- ekstrak file! (sertakan screen shot)
V Install from Source
Setelah kita mengetahui bagaimana proses kompresi dan ekstraksi suatu file, selanjutnya kita dapat mengaplikasikannya pada berbagai macam proses install dari sumber yang biasanya dilakukan dengan ekstraksi file terlebih dahulu. Proses install from source yang ada pada LINUX biasanya dilakukan beberapa tahap, berikut ini salah satu command install pada LINUX.
Syntax :
$ sudo make install
Contoh :
Kita akan menginstall salah satu program bernama ImageMagick yang dibangun di berbagai Unix dan sistem operasi lainnya yang mirip Unix termasuk Linux, Solaris, FreeBSD, Mac OS X, dan lain-lain. ImageMagick ini merupakan sebuah tools yang berfungsi unutk mengkonversi beberapa jenis gambar ke berbagai ekstensi file lainnya seperti Giff, Tiff, Jpg, Png, Svg, Pdf, PostScript dan masih banyak lagi.
Modul Praktikum Sistem Operasi Praktikum III
Langkah pertama adalah download program imagemagick.tar.gz.
selanjutnya ekstraksi file tersebut. Setelah itu lakukan konfigurasi dan proses compile.
Syntax :
$ cd ImageMagick
$ ./configure
$ make
Apabila proses configure dan compile telah berjalan tanpa kendala, selanjutnya lakukan proses instal yang membutuhkan otorisasi administrator.
Syntax :
$ sudo make install
Tantangan!
Install sebuah aplikasi dari Unix! (sertakan screen shoot)
Pertama download aplikasi, selanjutnya untuk install buka terminal. Ketik ‘cd
Downloads/’. Lalu extract file aplikasi. Lalu ketik ‘cd <nama_file>’. Setelah itu masukkan perintah ‘./configure’. Setelah proses selesai, ketikan ‘make’. Tunggu hingga selesai lalu ketik ‘make install’. Instalasi telah selesai dilakukan.
(Mohon maaf screenshot tidak ada dikarenakan pada saat instalasi, Flareget tidak bisa di jalankan karena muncul README)
Tantangan!
Modul Praktikum Sistem Operasi Praktikum III
Linux memiliki beberapa cara instalasi paket dalam berbagai format, seperti format .(*tar.gz), (*.deb) dan (*.rpm). Berikan command instalasi yang sesuai untuk setiap format tersebut!
tar.gz :
$ tar -xzvf <namafile>.tar.gz
$ cd <namafolder>
$ ./configure
$ make
$ sudo make install
.deb : $ sudo dpkg -i <namafile>.deb .rpm: $ rpm -ivh <namafile>.rpm