BAB 3 FILE AND DIRECTORIES 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. 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 masingmasing 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) Modul Praktikum Sistem Operasi Praktikum III I /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 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 Modul Praktikum Sistem Operasi Praktikum III FUNGSI bila anda ingin menampilkan semua file dan folder, termasuk file dan -a 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 menampilkan isi direktori secara lengkap, mulai dari hak akses, owner, -l group dan tanggal file atau direktori tersebut dibuat menampilkan isi direktori dengan format satu direktori per baris -1 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] 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 Documents examples.desktop Public Pictures Videos 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 5 : jumlah baris 20 : jumlah kata 198 test.txt 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 mengekstrak 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 Modul Praktikum Sistem Operasi Praktikum III