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:

    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

3. DASAR TEORI:

    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). Secara logika, Direktori dapat berisi File dan Direktori lagi (disebut juga Subdirektori).

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
    Contoh:




    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
            Format : find directory –name targetfile -print

            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)
          format : $ cp <filename1> <filename2>
          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

          format : $ rm option argumen

        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.
        Pada gambar di atas dapat dilihat direktori A B C sudah ada. Begitu pula di dalam direktori A,          sudah ada direktori D dan E yang telah dibuat sebelumnya. Jika digambarkan, beginilah direktori yang dibuat:

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


        Perintah pwd untuk menampilkan direktori yang sedang aktif saat ini, perintah ls untuk melihat daftar direktori yang diinginkan, sedangkan $ cd untuk masuk ke direktori yang diinginkan. Ketika perintah ini digunakan pada direktori yang sedang aktif, kecuali $ cd, jika tidak menuliskan nama direktori yang dituju maka akan otomatis merujuk ke home.


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





Perintah mv digunakan untuk memindahkan file. Pada perintah yang pertama digunakan untuk memindahkana file 'contoh' ke file 'contoh2'. Pada gambar yang kedua terlihat bahwa file 'contoh2' sudah ada. Kemudian $ mv contoh1 contoh2 A/D yaitu untuk memindah file 'contoh1' dan 'contoh2' pada subdirektori D. Dan yang terakhir yaitu memindahkan file contoh dan contoh1 ke direktori 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 ini untuk membuat shortcut pada file dengan menggunakan perintah ln. Pertama-tama membuat file bernama halo.txt berisi input langsung dari keyboard. Membuat direktori baru menggunakan perintah mydir. Lalu melihat isi direktori mydir dan membuat link.

Percobaan 4 : Melihat Isi File

$ ls –l

$ file halo.txt

$ file bye.txt

 Melihat isi file bisa menggunakan perintah macam-macam. Salah satunya menggunakan perintah $ file seperti contoh di atas.


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





Perintah-perintah ini digunakan untuk berpindah direktori dan melihat isi file atau direktori. Perintah $ cd digunakan untuk berpindah direktori, titik untuk ke direktori rootnya sedangkan cd saja untuk otomatis ke home. pwd digunakan untuk menampilkan alamat direktori yang sedang aktif. Dan untuk melihat isi file menggunakan $ cat sedangkan isi direktori menggunakan $ ls.


2. Lanjutkan penelusuran pohon pada sistem file menggunakan cd, ls, pwd dan catTelusuri 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, yaitu 

6. 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 

Karena direktori tidak kosong, maka menghapus direktori menggunakan perintah $ rmdir rf. Kemudian file work sudah hilang.


7. KESIMPULAN

Sistem file pada Linux menyerupai tree yang dimulai dari root kemudian direktori dan subdirektori. Terdapat dua sistem symbolic link yaitu hardlink dan softlink. Pada Linux, user dapat memanipulasi struktur file mnggunakan perintah cd, ls, pwd, mv, cp dan lain sebagainya. Ketika ingin menghapus direktori, Linux memiliki perintah lain agar user tidak menghapus direktori yang tidak berisi kosong. Hal ini dapat menghindari kesalahan dalam menghapus direktori.



DAFTAR PUSTAKA


https://superuser.com/questions/1198292/what-is-a-pseudo-file-system-in-linux


Komentar

Postingan populer dari blog ini

Linux : Proses dan Manajemen Proses

Anugerah Pewarta Astra 2022 : PEMANFAATAN KEMAJUAN TEKNOLOGI DALAM MEMBUAT LOBTECH, ALAT BANTU BUDIDAYA LOBSTER