Tugas 1 : Praktikum Sistem Operasi - TK19-C - (Kelompok-1)

 

OPERASI FILE DAN STRUKTUR 

DIREKTORY

 

POKOK BAHASAN :

1. Operasi File pada Sistem Operasi Linux

2. Struktur Direktory pada Sistem Operasi Linux

 

TUJUAN BELAJAR :

1. Setelah mempelajari materi dalam bab ini, mahasiswa diharapkan mampu : 

2. Memahami organisasi file dan direktory pada sistem operasi linux 

3. Menciptakan dan manipulasi directory

4. 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 direktori. Sistem file pada linux diatur secara hirarkikal, yaitu dimulai dari root dengan symbol “ / “.

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


2. DIREKTORI STANDAR
        Setelah proses instalasi, Linux menciptakan sytem file yang baku, terdiri atas direktorisebagai berikut :



Direktori  /etc

        Berisi file  yang  berhubungan dengan administrasi system, maintenance script, konfigurasi, security dll. Hanya superuser yang boleh memodifikasi file yang berada di deroktori ini. Subderiktri ini yang sering diakses pada direktori/rtc antara lain :

  • Httpd, apache web server.
  • Ppp, point to point protocol untuk koneksi ke internet.
  • Rc.d atau init.d, inisialisasi (starup) dan terminasi (shutdown) proses di linux dengan konsep runlevel.
  • Cron.d,rincian proses yang dieksekusi dengan menggunakan jadwal(time depedent process)
  • Files,file security dan konfigurasi meliputi : passwd, host, shadaow, ftpacces, inetd.confg, lilo.confg, motd,printcap, profile, resolv.confg, sendmail.cf, syslog.confg, dhcp.confg, smb.conf, fstab.


Direktori /dev

        Konsep Unix dan Linux adalah memperlakukan peralatan hardware sama seperti penanganan file. Setiap alat mempunyai nama file yang disimoan pada direktori/dev.


Direktori /proc

        Direktori /proc adalah directory yang dibuat diatas RAM (Random Acces Memory) dengan system file yang diatur oleh kernel. /proc berisi nomor proses dari system dan nama driver yang aktif di sytem. Semua direktori berukuran 0 (kosong) kecuali file kcore dan self. Setiap nomor yang ada pada direktori tersebut mempresentasikan PID (Proccess Id).


3. TIPE FILE

        Pada Linux terdapat 6 buah tipe file, yaitu :

a. Ordinary file

b. Direktori

c. Block Device (Perlatan I/O)

Merupakan representasi dari peralatan hardware yang menggunakan transmisi data per block

(misalnya 1KB block), seperti disk, floppy, tape.

d. Character Device (PeralatanI/O)

Merupakan represntasi darib peralatan hardware yang mnggunakan transmisi data karakter per

karakter, seperti disk, floppy,tape.

e. Character Device (peralatan I/O)

Merupakan representasi dari peralatan hardware yang menggunakan transmisi data karakter

per karakter, seperti terminal, modern, plotter, dll

f. 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 :   


Ijin akses           : Menentukan hak user terhadap file ini.

Jumlah lirik       : 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


5. NAMA FILE

Nama file maksimal terdiri dari 255 karakter berupa alfanumerik dan beberapa karakter special

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 :

        In fileAsli fileDuplikat

fileDuplikat disebut hard link  dimana kedua file akan muncul identik (link cout=2) Bila

fileAsli atau ileDuplikat diubah perubhan akan terjadi pada file lainnya.

Symbolic Link diperlukan bila file tersebut di “link” dengan direktori / fle yang berada pada partisi yang berbeda. Tipe file menjadi 1 (link) dan file tersebut menunjuk ke tempat asal. Format :

Format :

In –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 terdapat pada partisi disk yang sama.


7. MELIHAT ISI FILE

        Untuk melihat jenis file menggunakan format :

        File filename(s0

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 tet

        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 ddirektori dapat digunakan perintah

a. Find

Format : find directory –name targetfile –print

Akan melihat file yang bernama targetfile (bisa berupa karakter wildcard)

b. Which

Format : which command

Untuk mengetahui letak system utility

c. Locate

Format : locate string

Akan mencari file pada semua directori dengan lebih cepat dan akan menampilkan baris yang sesuai.


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 sessuai  pattern yang diberikan dan akan menampilkan baris yang sesuai.


TUGAS PENDAHULUAN

Jawablah pertanyaan-pertanyaan di bawah ini :

1. Apa yang dimaksud perintah-perintah direktori : pwd, cd, mkdir, rmdir.

Jawab :

pwd : Perintah yang digunakan untuk melihat posisi di direktori  mana kita berada saat ini.

 cd : Perintah yang digunakan untuk masuk ke dalam direktori, bisa juga digunakan untuk

keluar dari direktori.

mkdir  : Perintah yang digunakan untuk membuat direktori.

rmdir  : Perintah yang digunakan untuk menghapus direktori.


2. Apa yang dimaksud perintah-perintah manipulasi file : cp, mv dan rm (sertakan format yang digunakan)

Jawab :

cp : Perintah yang digunakan untuk mengcopy file .

Format : cp <nama_file> <direktori_tujuan>

 mv : Perintah yang digunakan untuk memindahkan / cut file .

Format : mv <nama_file> <direktori_tujuan>

rm  : Perintah yang digunakan untuk menghapus file.

Format : rm <nama_file>


3. Jelaskan perbedaan Symbolic link menggunakan hard link (direct) dan soft link (indirect).

Hard Link : Digunakan untuk membuat link pada sebuah file, dan hasil link dari file tersebut sama persis dengan yang aslinya. Dan bila file link/yang asli diubah/dihapus file lain yang terhubung juga akan berubah. Untuk linknya juga terbatas hanya dalam satu partisi.

Soft Link : Digunakan untuk membuat link namun dalam bentuk shortcut. Dan bila menggunakan soft link, Link Count file yang asli tidak akan berubah, berbeda dengan hard link. Untuk linknya bisa berbeda partisi.


4. Tuliskan maksud perintah-perintah : file, find, which, locate dan grep.

file : Digunakan untuk melihat jenis file.

find :  Digunakan untuk mencari file.

which : Digunakan untuk mengetahui letak direktori yang kita inginkan.

 locate : Digunakan untuk mencari file pada semua direktori dengan lebih cepat dan ditampilkan dengan path yang penuh.

grep : Digunakan untuk mencari text pada file.


PERCOBAAN :

1. Login sebagai user

2. Bukalah Console Terminal dan lakukan percobaan-percobaan di bawah ini. Perhatikan hasilnya.

3. Selesaikan soal-soal latihan.


Percobaan 1 : Direktory

A. Melihat direkrori HOME

$ pwd

$ echo $HOME


Analisa : 
Pada percobaan ini kita disuruh untuk melihat dimana posisi kita sekarang menggunakan perintah pwd, lalu melihat direktori HOME menggunakan perintah echo $HOME.


B. Melihat direktori aktual dan parent direktori

$ pwd

$ cd .

$ pwd

$ cd ..

$ pwd

$ cd


Analisa :

Pada percobaan ini kita belajar penggunaan perintah  cd.

 cd . : Perintah ini digunakan untuk memastikan dimana posisi kita sekarang.

cd .. : Perintah ini digunakan untuk keluar dari sebuah direktori dan kembali ke direktori sebelumnya

cd : Perintah ini digunakan untuk kembali ke direktori home awal.


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


Analisa :

Pada percobaan ini kita disuruh membuat direktori dan subdirektori menggunakan perintah mkdir, yaitu direktori A yang didalamnya ada direktori D dan E didalam D ada subdirektori lagi bernama A. Lalu direktori B yang didalamnya ada subdirektori bernama F. Kemudian kita juga membuat direktori C tanpa subdirektori.


D. Menghapus satu atau lebih direktori hanya dapat dilakukan pada direktori kosong dan hanya 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, mengapa?)


Analisa : Pada percobaan ini direktori B tidak dapat dihapus karena didalam direktori B ada subdirektorinya. Jadi bila kita ingin menghapus direktori B, kita harus menghapus  subdirektorinya dulu, lalu direktori B bisa terhapus. Pada saat ls -l B terdapat pesan error karena direktori B sudah terhapus.


E. Navigasi direktori dengan intruksi cd  untuk pindah dari satu direktori ke direktori lain

$ pwd

$ ls –l

$ cd A

$ pwd

$ cd ..

$ pwd

$ cd /home/<user>/C

$ pwd

$ cd /<userC

$pwd


Analisa : Pada percobaan ini kita disuruh masuk ke direktori bernama C. Namun pada perintah selanjutnya terjadi error, itu disebabkan karena pada perintah yang dimasukkan tidak menyertakan parent direktorinya. Jadi computer mengira kalau kita akan masuk ke directori /yohanes/C dalam direktori C itu sendiri. Tapi itu tidak bisa karena pada direktori C tidak ada direktori tersebut.


Percobaan 2 : Manipulasi file

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


Analisa :

Pada percobaan ini kita disuruh untuk :

Membuat file bernama contoh.

Mengcopy isi file contoh ke file bernama contoh1.

Mengcopy file contoh ke direktori A.

Kemudian mengcopy file contoh dan contoh1 ke direktori D yang letaknya ada didalam direktori A.


B. Perintah mv untuk memindahkan file

$ mv contoh contoh2

$ ls –l

$ mv contoh1 contoh2 A/D

$ ls –l A/D

$ mv contoh contoh1 C

$ ls –l C


Analisa :

Pada perintah ini kita disuruh untuk :

Memindahkan file contoh ke file contoh2.

Memindahkan file contoh1 dan contoh2 ke direktori D yang ada pada direktori A.

Lalu memindahkan file contoh dan contoh1 ke direktori C, namun pada perintah ini terjadi error, karena file contoh dan contoh1 sudah tidak ada karena sudah dipindahkan sebelumnya.


C. Perintah rm untuk menghapus file

$ rm contoh2

$ ls –l

$ rm –i contoh

$ rm –rf A C

$ ls –l


Analisa :

Pada percobaan ini kita disuruh untuk :

Menghapus file contoh2 tanpa konfirmasi.

Menghapus file contoh dengan konfirmasi.

Mengapus seluruh direktori A dan C dan semua isinya.

Fungsi-fungsi yang ada pada perintah rm.

rm : Menghapus tanpa konfirmasi.

rm –i : Menghapus dengan konfirmasi.

rm –rf : Menghapus  direktori dan semua direktori didalamnya.


Percobaan 3 : Symbolic Link

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.byt.txt





Analisa :

Pada percobaan kita disuruh untuk :

Membuat file halo.txt yang berisikan tulisan “Hallo apa khabar”.

Kemudian membuat link (hard link) file halo.txt ke file z dengan perintah ln.

Membuat direktori mydir

Membuat link (hard link) dari file z ke file halo.juga didalam direktori mydir.

Lalu membuat link lagi namun softlink dari file z ke file bye.txt.

Lalu mengecek file bye.txt.


Percobaan 4: Melihat isi file

$ ls –l

$ file halo.txt

$ file bye.txt


Analisa : Pada percobaan ini kita disuruh unutk melihat komposisi pada sebuah file. Pertama file halo.txt yang berisikan text ASCII, dan yang kedua file bye.txt yang menyambung dengan file z.


Perrcobaan 5: Mencari file

A. Perintah find

$ Find /home –name “*.txt” –print > myerror.txt

$ cat myerror.txt

$ find . –name “*.txt’ –exec wc –i ‘{ }’ ‘;’


Analisa : Pada percobaan ini kita disuruh untuk mencari file yang berekstensi .txt pada direktori home, namun outputnya dibelokkan ke file myerror.txt.


B. Perintah which

$ which ls


Analisa : Pada perintah ini kita disuruh untuk melihat dimana letak direktori ls.


C. Perintah locate

$ locate “*.txt”















Analisa : Pada percobaan ini kita disuruh melihat dimana letak semua file yang berekstensi .txt pada computer kita menggunakan perintah locate.


Percobaan 6: Mencari text pada file

$Grep Hallo *.txt


Analisa : Pada percobaan ini kita disuruh mencari kata “Hallo” pada semua file yang berekstensi .txt menggunakan perintah grep.


LATIHAN :

1. Cobalah urutan perintah berikut :

$ cd

$ pwd

$ ls –al

$ cd .

$ pwd

$ cd ..

$ pwd

$ ls =al




















Analisa :

Setelah mencoba sekumpulan perintah diatas, maka saya simpulkan :

Perintah $cd digunakan untuk berpindah ke direktori lain.

$ pwd digunakan untuk melihat posisi kita.

$ ls –al digunakan untuk melihat semua file secara lengkap.

$ cd .. digunakan untuk kembali ke direktori sebelumnya.

Cat digunakan untuk melihat isi dari sebuah file.

$ ls –al | more digunakan untuk melihat semua file secara satu layar penuh.

$ cd – digunakan untuk kembali ke root.


3. Lanjutkan penelusuran pohon pada sistem file menggunakakn cd, ls,pwd dan cat. Telururi direktory /bin, /usr/bin, /sbin, /tmp dan /boot.

a. /bin




b. /usr/bin




c. /sbin




d. /tmp


e. /boot


Analisa :

a. /bin : Setelah saya mencoba beberapa perintah disoal, /bin adalah sebuah direktori system yang berisi utility binary (rendah), seperti hostname, dll.

b. /usr/bin : Sebuah direktori system yang berisi utilitas dan program aplikasi level tinggi, seperti gnome, dll.

c. /sbin : Sebuah direktori system yang isinya utility untuk superuser (SU), seperi ifconfig, dll.

d. /tmp : Sebuah direktori system yang berisi file sementara (setelah bootstrap akan dihapus).

e. /boot : Sebuah direktori system yang berisi file sangat penting untuk proses bootstrap. Contohnya : vmlinuz.



3. Telusuri direktory /dev. Indentifikasi perangkat yang tersedia identifikasi tty (terminal) A (ketika who am i); siapa pemilih tty Anda (gunakan ls –l).


Analisa : Dari latihan diatas setelah menelusuri direktori /dev dengan perintah cd, di dalam /dev ada daftar perangkat yang tersedia. Kemudian mengidentifikasi terminal yang digunakan menggunakan perintah whoami yang ternyata anggi.  Selanjutnya menggunakan perintah ls –l untuk melihat siapa saja pemilih terminal tersebut.


4. Telusuri directory /proc. Tampilkan isi file interrupts, devices, cpuinfo meminfo dan uptime menggunakan perintah  cat. Dapatkah Anda melihat mengapa direktory /proc disebut pseudo –filesytem  yang memungkinkan akses ke struktur data karnel ?

a. File interrups


Berisi tentang proses apa saja yang terjadi saat ini


b. File devices




Berisi tentang devices apa saja yang diproses(aktif) pada saat ini.


c. File cpuinfo



Berisi tentang info cpu dan bagaimana prosesnya saat ini.


d. File meminfo




Berisi tentang info memory dan bagaimana prosesnya saat ini.


e. File uptime


Mengetahui informasi tentang lama system berjalan setelah terakhir reboot atau mati.

Analisa :

Untuk pertanyaan mengapa direktori /proc disebut pseudo-filesystem yang memungkinkan akses ke struktur data kernel ? menurut saya hal ini disebabkan direktori /proc dibuat diatas RAM dengan sistem file yang diatur oleh kernel itu sendiri, jadi kita bisa melihat info memory, info processor, dsb.



5. Ubahlah direktory home ke user lain secara langsung menggunakan cd ~username


Analisa : Setelah mencoba latihan di atas, dengan menggunakan perintah cd ~username kita akan langsung bisa masuk ke direktori home nya user lain. Dalam latihan ini sebelumnya saya menggunakan user yohanes kemudian masuk ke home user yohanesdahlah.


6. Ubahlah ke direktory home Anda.


Analisa : Dalam latihan diatas, untuk kembali ke direktori home saya sebelumnya, bisa menggunakan perintah $ cd.


7. Buat subdirektory work dan play


Analisa : Disini saya membuat subdirektori work dan play pada direktori Douments menggunakan perintah mkdir. Kemudian saya cek dan hasilnya seperti diatas.


8. Hapus subdirektory work



Analisa : Disini saya menghapus subdirektori work yang ada dalam direktori tugas menggunakan perintah rmdir. Kemudian saya cek menggunakan ls, seperti gambar diatas.


9. Copy file /ect/passwd ke direktori home anda


Analisa : Disini saya menggunakan perintah cp /etc/passwd dahlah untuk mengcopy file “passwd” ke dalam direktori home saya dengan nama dahlah. Kemudian saya cek menggunakan perintah ls.


10 Pindahkan subdirektory play.


Analisa : Disini saya memindahkan file passwd di dalam direktori home ke dalam subdirektori play, menggunakan perintah mv. Lalu saya cek menggunakan perintah ls.


11. Ubahlah ke subdirektory play dan buat symbolic link dengan nama terminal yang menunjukkan ke perangkat tty. Apa yang terjadi jika melakukan hard link ke perangkat tty ?


Analisa : Disini saya mencoba melakukan symbolic link dengan cara softlink. yaitu dengan perintah echo.


12. Buatlah file bernama hello.txt yang berisi kata “hello word” . dapat Anda gunakan “cp” menggunakan “terminal” sebagai file asal untuk menghasilkan efek yang sama ?


Analisa : Disini saya membuat file hello.txt yang berisikan kalimat “Hello World” menggunakan cat. Kemudian mencoba menggunakan perintah cp, saat menggunakan perintah cp hasilnya seperti saat saya melakukan perintah cat pada hello.txt.


13. Copy hello.txt ke terminal apa yang terjadi



Analisa : Hasilnya sama seperti nomor 12.


14. Masih direktory home. Copy keseluruhan direktory play ke direktory bernama work menggunakan symbolic link.


Analisa : Disini saat saya menggunakan hardlink terjadi error, namun saat menggunakan softlink berhasil.


15. Hapus direktory work dan isinya dengan satu perintah.


Analisa : Karena isi dari direktori work hanya  shortcut maka hanya dengan menggunakan perintah rm tanpa ada option apapun bisa dilakukan.


LAPORAN RESMI

1. Analisa hasil percobaan yang Anda lakukan.

a. Analisa setiap hasil tampilannya

Jawab : Sudah dilampirkan diatas

b. Pada percobaan 1 point 3 buatlah pohon dari struktur file dan direktori

Jawab : 

c. Bila terdapat pesan error, jelaskan penyebabnya ?

Jawab : Sudah dilampirkan diatas


2. Kerjakan latihan diatas dan analisa hasil tampilannya

Jawab : Sudah dikerjakan dan dianalisa diatas


3. Berikan kesimpulan dari praktikum ini

Jawab :

Saya jadi mengetahui bahwa sistem file pada linux menyerupai tree yang dimulai dari root kemudian direktori dan subdirektori.

Lebih mengetahui symbolic link

Lebih mengetahui cara kerja dan perbedaan antara hardlink dan softlink.


Komentar

Postingan populer dari blog ini

Tugas 1:Sistem Operasi (Teori) : Process Synchronization