cursor

Selasa, 16 Januari 2018

Modul 5 & 6 | Shell Pada Sistem Operasi Linux dan Text Editor | Sistem Operasi

A. DASAR TEORI
Apa itu shell ? shell adalah program (penterjemah perintah) yang menjembatani user dengan sistem operasi dalam hal ini kernel (inti sistem operasi), umumnya shell menyediakan prompt sebagai user interface, tempat dimana user mengetikkan perintah-perintah yang diinginkan baik berupa perintah internal shell (internal command), ataupun perintah eksekusi suatu file progam (eksternal command), selain itu shell memungkinkan user menyusun sekumpulan perintah pada sebuah atau beberapa file untuk dieksekusi sebagai program.
    • Macam - macam shell
Tidak seperti sistem operasi lain yang hanya menyediakan satu atau 2 shell, sistem operasi dari keluarga unix misalnya linux sampai saat ini dilengkapi oleh banyak shell dengan kumpulan perintah yang sangat banyak, sehingga memungkinkan pemakai memilih shell mana yang paling baik untuk membantu menyelesaikan pekerjaannya, atau dapat pula berpindah-pindah dari shell yang satu ke shell yang lain dengan mudah, beberapa shell yang ada di linux antara lain:
      • Bourne shell(sh),
      • C shell(csh),
      • Korn shell(ksh),
      • Bourne again shell(bash), dsb.
Masing - masing shell mempunyai kelebihan dan kekurangan yang mungkin lebih didasarkan pada kebutuhan pemakai yang makin hari makin meningkat, untuk dokumentasi ini shell yang digunakan adalah bash shell dari GNU, yang merupakan pengembangan dari Bourne shell dan mengambil beberapa feature (keistimewaan) dari C shell serta Korn shell, Bash shell merupakan shell yang cukup banyak digunakan pemakai linux karena kemudahan serta banyaknya fasilitas perintah yang disediakan.
    • Pemrograman Shell
Yaitu menyusun atau mengelompokkan beberapa perintah shell (internal atupun eksternal command) menjadi kumpulan perintah yang melakukan tugas tertentu sesuai tujuan penyusunnya. Kelebihan shell di linux dibanding sistem operasi lain adalah bahwa shell di linux memungkinkan kita untuk menyusun serangkaian perintah seperti halnya bahasa pemrograman (interpreter language), melakukan proses I/O, menyeleksi kondisi, looping, membuat fungsi, dsb. adalah proses - proses yang umumnya dilakukan oleh suatu bahasa pemrograman, jadi dengan shell di linux kita dapat membuat program seperti halnya bahasa pemrograman, untuk pemrograman shell pemakai unix atau linux menyebutnya sebagai script shell.
    • Kebutuhan dasar Shell
Sebelum mempelajari pemrograman Bash shell di linux sebaiknya anda telah mengetahui dan menggunakan perintah - perintah dasar shell baik itu internal command yang telah disediakan shell maupun eksternal command atau utility, seperti
      • cd, pwd, times, alias, umask, exit, logout, fg, bg, ls, mkdir, rmdir, mv, cp, rm, clear, ...
      • o utilitas seperti cat, cut, paste, chmod, lpr,...
      • redirection (cara mengirim output ke file atau menerima input dari file), menggunakan operator redirect >, >>, <, <<, contohnya:ls > data hasil ls dikirim ke file data, jika file belum ada akan dibuat tetapi jika sudah ada isinya akan ditimpa. ls >> data hampir sama, bedanya jika file sudah ada maka isinya akan ditambah di akhir file.
cat <>
file data dijadikan input oleh perintah cat
      • pipa (output suatu perintah menjadi input perintah lain), operatornya : | , contoh:ls -l | sort –s
ouput perintah ls -l (long) menjadi input perintah sort -s (urutkan secara descending), mending pake ls -l -r saja :-) ls -l | sort -s | more
cat databaru
      • Wildcard dengan karakter *, ?, [ ], contohnya:ls i*
tampilkan semua file yang dimulai dengan i ls i?i
tampilkan file yang dimulai dengan i, kemudian sembarang karakter tunggal, dan diakhiri dengan i
ls [ab]*
tampilkan file yang dimulai dengan salah satu karakter a atau b
    • Pipeline
Pipeline ( | ) adalah fasilitas di shell UNIX yang berfungsi untuk memberikan input dari suatu proses dari output proses yang lain. Tanda vertical ( | ) adalah tanda yang digunakan untuk pipeline. Penggunaan pipeline pada perintah-perintah Linux tidak terbatas. Misalkan sebagai contoh :
Sebelum kita gunakan pipeline. Formatnya:
               $ find *
               dead.letter
               mbox
               test
Setelah kita gunakan pipeline
               $ find * | grep test
               Test
Pada contoh pipeline di atas, mempunyai arti bahwa output dari perintah find menjadi input dari perintah grep yang kemudian hanya mengambil kata “test” dari output find.
    • Regular Expression
Regular expresion adalah cara untuk menentukan sebuah pola karakter untuk pencarian dan pemfilteran. Dengan regular expresion, kita tidak harus menentukan pola karakter yang eksak. Untukmenggunakan regular ekspression, kita harus mengenal karakter-karakter khusus yang memiliki arti tersendiri jika digunakan di dalam pola regular ekspression.
Karakter Arti
. Cocok dengan sembarang satu karakter
* Cocok dengan sembarang lebih dari satu karakter
^ Cocok dengan awal baris
$ Cocok dengan akhir baris
\< Cocok dengan awal kata
\> Cocok dengan akhir kata
[ ] Cocok dengan salah satu karakter yang terdapat di dalam kurung siku
[^ ] Cocok dengan salah satu karakter yang tidak terdapat pada kurung siku
\ Karakter selanjutnya akan dianggap literal
    • Redirection
Redirection dalam sistem unix dan Linux merupakan salah satu cara untuk melewatkan output dari suatu program ke program lain, dengan redirection kita bisa menyimpan output suatu file baik kedalam sebuah file atau diproses dengan program lain. Fasilitas redirection memungkinkan kita untuk dapat menyimpan output dari sebuah proses untuk disimpan ke file lain (Output Redirection) atau sebaliknya menggunakan isi dari file sebagai input dalam suatu proses (Input redirection). Komponen-komponen dari redirection adalah <, >, < <, > > Untuk lebih jelasnya akan di berikan contoh untuk masing-masing redirection :
      • Output Redirection
Kita akan menggunakan perintah cat yang telah tersedia secara default di shell linux. Syntax-nya sbb $ cat > <namafile>
Contohnya:
1. Membuat File dengan nama test
               $ cat > test
ini hanya sebuah test dari output redirection
2. Melihat isi file test
               $ cat test
ini hanya sebuah test dari output redirection
3. Penambahan untuk file test
               $ cat >> test
baris ini tambahan dari yang lama...
4. Melihat kembali isi file test setelah ditambahkan beberapa kata
               $ cat test
ini hanya sebuah test dari output redirection
baris ini tambahan dari yang lama...
Disini kita melihat bahwa output dari perintah cat akan di belokkan (redirect) ke sebuah file dengan nama test.
    • Pengeditan Perintah
Dengan bash shell, kita dapat mengedit suatu baris perintah cukup dengan tombol panah dan panah kanan pada keyboard. Setelah selesai mengedit, kita dapat langsung menekan tombol [ENTER] untuk menjalankan perintah.
    • History
Dengan bash shell, kita dapat memanggil kembali perintah-perintah yang pernah diketikkan sebelumnya dengan menggunakan tombol panah atas dan bawah pada keyboard. Setelah menemukan perinta yang dimaksud, kita dapat langsung menekan tombol [ENTER] untuk menjalankan perintah ini.
    • Ediotor vi
Editor VI (vee eye, dibaca vi ai) adalah editor berbasis text yang digunakan oleh banyak pemakai UNIX/LINUX. Editor ini pertama kali dikembangkan oleh William (Bill) Joy sewaktu ia menjadi graduate student di University of California at Berkeley pada tahun 1976.
Perintah “vi” adalah perintah di dalam shell linux untuk mengedit teks, kalau di dalam Windows pada shell MS-Dos dengan perintah “edit”. Yang keduanya hampir mempunyai kesamaan, perbedaannya di dalam dos bisa langsung dari windows dan dapat mouse dapat dijalankan tetapi di dalam vi mouse tidak bisa digunakan untuk memilih option tersebut seperti file, edit, help dll.
Editor VI memiliki dua mode, yaitu :
1. Command mode (mode perintah) Editor vi mengintepretasikan input sebagai instruksi untuk dieksekusi oleh editor, contoh seperti mencari teks, mengganti teks secara otomatis dan lainnya.
2. Insert mode (mode penyisipan) Editor vi mengintepretasikan input sebagai teks yang akan dimasukkan ke dalam bufer editor. Pada bagian bawah layar akan tampil teks “INSERTING”. Pada awal vi dijalankan, maka program memasuki command mode. Dengan menekan tombol “i” maka akan memasuki editing. Untuk kembali ke command mode, tekan tombol Esc.
Pertama kali memulai editor VI, secara default kita menemukan Command mode (mode perintah). Untuk mengaktifkan insert mode kita tinggal mengetikkan huruf i. Bila kita menekan tombol [Escape], maka kita akan kembali ke mode perintah. Selain huruf i kita juga dapat menekan tombol insert.
Untuk memulai Editor VI kita dapat mengetikan perintah :
# > vi namafile.txt
Jika file namafile.txt ditemukan, maka editor akan membuka dokumen tersebut. Tetapi jika tidak ditemukan, maka editor VI akan membuat file baru dengan nama tersebut (namafile.txt) jika disimpan. Untuk itu jangan sampai salah mengetikkan nama sebuah file yang akan diedit.
Kunci-kunci teks editor vi dapat dilihat pada tabel sebagai berikut :
KUNCI KETERANGAN
H Pindah kursor ke kiri satu karakter
J Pindah kursor ke kanan satu karakter
K Pindah kursor ke atas
L Pindah kursor ke bawah
O Menyisipkan teks (satu baris setelahposisi kursor)
i Menyisipkan teks (di sebelah kiriposisi kursor)
a Menyisipkan teks (di sebelah kananposisi kursor)
I (shift i) Menyisipkan teks (di posisi awalbaris)
A (shift a) Menyisipkan teks (di posisi akhirbaris)
Note : untuk keluar dari 5 model kunci insert diatas ( yaitu o, i, a,I, A) tekan ESC

KUNCI KETERANGAN
X Menghapus 1 huruf (di sebelah kananposisi kursor)
Dw Manghapus 1 kata (di sebelah kananposisi kursor)
Dd Menghapus 1 baris (di sebelah kananposisi kursor)
Yy Mengkopi 1 baris
2yy Mengkopi 2 baris
P ( Paste) Menampilkan baris kalimat yang sudah dikopi dengan kunci yy
Cw Mengganti 1 kata yang telah ditulisdi sebelah kanan posisi kursor dengan kata lain
Cc Mengganti 1 baris kalimat yang telahditulis di sebelah kanan posisikursor dengan kalimat lain
ctrl-b Mundur satu layar
ctrl-f Maju satu layar
ctrl-d Maju setengah layarB Menggerakkan kursor ke kiri satukata
W Manggerakkan kursor ke kanan satukata
^ Pergi ke awal baris
$ Pergi ke akhir baris
u Membatalkan perintah yang terakhir kali
U Membatalkan seluruh perubahan tekspada baris tempat kursor berada.
:! Keluar untuk sementara dari editor vi dan menjalankan perintah yang lain
:wq Write dan quite, simpan berkas dan keluar
:q! Keluar vi tanpa menyimpan
:se all Menampilkan semua pilihan set status
:se nu Menampilkan nomor baris pada kiri layar
/string Mencari string ke arah depan
?string Mencari string ke arah belakang
o Meneruskan pencarian untuk arah yang sama
N Meneruskan pencarian untuk arah yang berbeda

    • Editor Nano
GNU Nano adalah text editor berbasis console atau terminal teks sederhana. Nano pada awalnya diciptakan untuk pengganti bebas UW Pico text editor non-bebas. Sehingga tampilan Nano dibuat semirip mungkin dengan Pico. Walaupun masih kalah kuat dengan text editor setingkat Vi/Vim dan Emacs tapi nano cukup diminati oleh pengguna Linux.
Ada satu hal yang membedakan Nano dari text editor lainnya, yaitu penggunaan “Shortcut” atau kombinasi tombol (seperti halnya dim sword) yang akan memudahkan kita dalam mengedit file. Shortcut ini sendiri dapat digunakan dengan cara menekan “Esc” duakali atau menekan “Ctrl” sambil menekan shortcut yang diinginkan.
Untuk membuka Nano sendiri kita dapat mengetikkan command “nano” pada terminal atau “nano <nama_file>” jika ingin langsung membuat file baru.
Nano adalah text editor yang berjalan di system UNIX. editor ini tak seperti editor kebanyakan yang berjalan di tampilan visual jendela melainkan pada tampilan terminal, nano tidak berkerja menggunakan moouse , tetapi masih memiliki banyak fitur yang sangat powerfull. Untuk menginstall nano pada Linux Fedora tinggal mengetikkan di shell dengan perintah
Kebanyakan dari perintah nano, dipanggil dengan menekan tombol Ctrl (tombol kontrol), dan menekan salah satu kunci lainnya(tombol berikutnya). Dalam teks ini, kunci pengendalian menampilkan ^ . Sebagai contoh ^ X berarti, tahan tombol CTRL dan tekan kunci x .Sebagian besar perintah-perintah umum yang penting tercantum di bagian bawah terminal anda.
nano : untuk memulai
^G : untuk bantuan
^ R : untuk membaca file-file yang ada, ke editor nano (disisipkan pada posisi kursor)
^ T : untuk membuka browser yang memungkinkan anda, dapat memilih nama file dari daftar file dan direktori
Pada navigasi, mouse biasa yang berbasis point-and-klik tidak didukung oleh nano. Jadi untuk menggunakan arah kursor shape, Gunakan tombol panah untuk bergerak di sekitar halaman nano.
Navigasi Perintah yang lain:
^ A : pindah ke awal baris
^ E : pindah ke akhir baris
^ Y : bergerak ke bawah halaman
^ V : bergerak ke atas halaman
^ _ : Pindah ke baris tertentu
^ C : mengetahui apa garis kursor berada pada
^ W : mencari beberapa teks.
Hapus perintah.
^ D : untuk menghapus karakter saat ini di bawah kursor
BackSpace menghapus karakter saat ini di depan kursor
^ K : menghapus seluruh baris
^ \ : Mencari (dan mengganti)
Potong dan sisipkan
^ U : untuk digunakan untuk mensimulasikan memotong dan menyisipkan:
Menyimpan dan Keluar
^ O : untuk menyimpan isi tanpa keluar (Anda akan diminta nama filenya apa, dan menyimpannya di mana)
^ X : untuk keluar nano (nano meminta untuk menyimpan file, jika anda telah mengubah isi atau file tersebut belum tersimpan )
^ T : saat menyimpan file, dapat melihat daftar untuk memungkinkan anda dapat memilih nama file dan direktori penyimanan.
    • Gedit
Gedit adalah aplikasi default text-editor dari Ubuntu khususnya desktop gnome. Jika di windows anda mengenal notepad sebagai text-editor, maka di Ubuntu dikenal gedit. Sepintas hanya terlihat seperti text editor sederhana untuk editing dasar. Pada kenyataanya gedit lebih powerfull, selain sebagai peng-edit dokumen juga sebagai peng-edit source code bagi developers atau programmers karena menyediakan fitur-fitur serta plugins. Selain itu tampilan yang friendly user juga menjadi kelabihan text editor ini.
Untuk menjalankan gedit dapat melalui dua cara yaitu melalui GUI (Graphical User Interface) dari menu Application à Accecoris à Gedit Text Editor. Atau dapat juga diakses melalui terminal dengan mengetikkan command “gedit” atau “gedit <nama_file> untuk membuat langsung nama file.
Beberapa fitur berguna yang dimiliki gedit:
1. Dukungan penuh untuk teks yang ada didunia (UTF-8)
2. Sintaks highlighting yang bisa dikonfigurasi untuk berbagai macam bahasa seperti (C, C++, Java, HTML, XML, Python, Perl dan masih banyak lagi
3. Undo / Redo
4. Edit file secara remote
5. File reverting
6. Dukungan print dan print preview
7. Dukungan clipboard (cut/copy/paste)
8. Search dan replace
9. Menuju baris spesifik
10. Auto indentation
11. Teks rata (Align)
12. Penomoran baris
13. Highlinght ('sorot') baris saat ini
14. Pencocokan tanda kurung
15. Backup file
16. Font dan warna yang bisa dikonfigurasi
17. User manual online yang lengkap
Dengan fitur-fitur diatas gedit telah lebih dari sekedar text editor biasa. Namun, ada satu lagi letak kekuatan riil dari gedit yaitu Plugins. Gedit dilengkapi dengan plugins yang sangat membantu serta dapat ditambahkanm sesuai kebutuhan dari end user.
Untuk mengakses daftar dari plugins, pilih menu edit → preferences, dan pilih tab plugins. Anda bisa mengaktifkan atau men-disable serta konfigurasi plugins yang tersedia. Plugins gedit bisa ditambahkan dengan cara menginstall gedit-plugins, dengan menjalankan perintah di bawah ini melalui terminal. Sudo apt-get install gedit-plugins
Bagi Anda yang tidak memiliki akses internet, bisa mendownload plugins secara manual di gedit-plugins package (http://live.gnome.org/GeditPlugins). Di bawah ini ditunjukkan beberapa plugins yang umum digunakan dan memiliki fungsionalitas yang baik
Penjelasan beberapa plugins gedit antara lain :
1. Snippets. Plugin ini dapat mempercepat kerja para programmer, snippets dapat memasukkan code yang sering digunakan pada gedit dengan cepat. Dengan menekan tombol pilihan snippets yang akan dimasukkan (tergantung text trigger yang diketikkan). Dalam plugin ini sudah tersedia snippets untuk beberapa bahasa pemrograman seperti css, javascript, html dan ruby. Anda juga dapat menambahkan sendiri snippets yang diinginkan, pilih menu Tools → Manage Snippets.
2. File Browser. Ini merupakan plugin yang sangat baik, dengan menampilkan sebuah file browser di sidebar sebelah kiri , tekan F9 untuk mengaktifkan. Plugin ini hampir mirip file browser milik Dreamweaver atau Textmate. Plugin ini terkoneksi dengan nautilus (explorer gnome/ubuntu), artinya Anda bisa menghubungkannya melalui FTP, SFTP, SSH, Windows Share dan lain-lain. Anda hanya perlu mengaktifkan plugin ini, dengan cara yang telah dijelaskan di atas.
3. Session Saver. Sebuah plugin yang sangat berguna, khususnya jika Anda bekerja pada suatu proyek dan memerlukan multiple file yang dibuka secara bersamaan. Dengan plugin ini session bisa di simpan (save) dan di load, dari menu File → Saved session.
4. Color Picker. Bagi Anda yang sedang belajar web dan pemrogramannya atau seorang web developer. Mungkin plugin ini akan sangat berguna, tentunya akan terasa menyusahkan bila harus menemukan nilai hexa decimal suatu warna. Namun, dengan color picker ini anda cukup mengklik apapun di desktop dan anda akan segera melihat Hue, Saturation, Nilai RGB kode dan kode Hex untuk warna yang diklik sebelumnya. Klik tombol memasukkan dan warna itu akan dimasukkan.
5. Document Words Completion. Plugin ini memiliki fungsionalitas sebagai auto-complete bagi gedit. Ketika Anda sedang mengetik, plugin ini akan melengkapi huruf yang barusan anda ketik, berdasarkan huruf yang muncul atau telah ada sebelumnya di dokumen yang sama. Anda dapat mengkonfigurasikannya ke auto-complete atau memberikan saran ketika menekan Ctrl+Enter.
Masih banyak lagi plugin yang disediakan oleh gedit, jika Anda adalah seorang yang selalu ingin mencoba sesuatu yang baru, anda bisa menemukan plugin-plugin yang sesuai bagi anda sendiri.

fungsi dari perintah chmod :
chmod - mengubah bit mode file
Halaman manual ini mendokumentasikan versi GNU chmod. chmod mengubah bit mode file dari setiap file yang diberikan sesuai dengan mode, yang dapat berupa representasi simbolik dari perubahan yang akan dilakukan, atau bilangan oktal yang mewakili pola bit untuk bit mode baru.
Format dari mode simbolis adalah [ugoa ...] [+ - =] [perms ...] ...], di mana perms adalah nol atau lebih banyak huruf dari set teXt, dari satu huruf dari set ugo . Beberapa mode simbolis bisa diberikan, dipartisi dengan koma.
Kombinasi huruf ugoa yang mengontrol akses pengguna ke file akan berubah: pengguna yang memilikinya (u), pengguna lain di grup file (g), pengguna lain yang tidak ada dalam grup file (o), atau semua pengguna (a). Jika tidak satu pun diberikan, efeknya seolah-olah diberikan, tapi bit yang diatur dalam umask tidak terpengaruh.
Operator + menyebabkan bit mode file yang dipilih ditambahkan ke bit mode file yang ada setiap file; - menyebabkan mereka dihapus dan = menyebabkannya ditambahkan dan menyebabkan bit yang tidak disebutkan harus dihapus kecuali bahwa bit yang ditetapkan oleh pengguna dan bit ID grup tidak terpengaruh.
Huruf rwxXst pilih bit mode file untuk pengguna yang mempengaruhi: baca (r), tulis (w), jalankan (atau cari direktori) (x), jalankan / cari hanya jika file tersebut adalah direktori atau sudah memiliki izin eksekusi untuk beberapa user (x), atur ID pengguna atau grup pada eksekusi, bendera penghapusan yang dibatasi atau bit lengket (t). alih-alih satu atau beberapa huruf ini, Anda dapat menentukan dengan tepat salah satu huruf ugo: hak akses yang diberikan kepada pengguna yang memiliki file (u), izin yang diberikan kepada pengguna lain yang merupakan anggota grup file (g), dan izin yang diberikan kepada pengguna yang tidak termasuk dalam dua kategori sebelumnya (o).
Sebuah mode numerik adalah dari satu sampai empat digit oktal (0-7), diturunkan dengan menambahkan bit dengan nilai 4, 2, dan 1. Angka yang diseoleh diasumsikan sebagai angka nol yang terkemuka. Digit pertama memilih ID pengguna (4) dan menetapkan ID grup (2) dan atribut penghapusan atau lengket yang dibatasi (1). Angka kedua memilih perizinan bagi pengguna yang memiliki file tersebut: baca (4), tulis (2), dan eksekusi (1); yang ketiga memilih izin untuk pengguna lain dalam grup file, dengan nilai yang sama; dan yang keempat untuk pengguna lain yang tidak berada dalam kelompok file, dengan nilai yang sama.
chmod tidak pernah mengubah hak akses dari link simbolis; panggilan sistem chmod tidak dapat mengubah hak akses mereka. Ini bukan masalah karena izin tautan simbolis tidak pernah digunakan. Namun, untuk setiap tautan simbolik yang tercantum pada baris perintah, chmod mengubah hak akses file yang ditunjuk. Sebaliknya, chmod mengabaikan tautan simbolik yang ditemui selama traversals direktori rekursif.

DAFTAR PUSTAKA
https://www.slideshare.net/IndahKusumawati3/laporan-praktikum-sistem-operasi-modul-5-dan6
http://www.academia.edu/29576482/Laporan_Praktikum_Modul_5_and_6_Shell_pada_sistem_operasi_linux_dan_text_editor_.docx

Modul4 | Sistem Direktori siistem Operasi

1.Direktori dan Sistem File

Di Linux dan Unix segala sesuatu adalah file. Direktori adalah file, file juga file, dan divais-divais juga merupakan file. Divais yang seringkali dirujuk sebagai inode; tetap saja, mereka dianggap sebagai file.
Sistem file di Linux dan Unix diorganisasikan secara hirarki, seperti struktur pohon. Level tertinggin dari sistem file adalah direktori root atau /. Semua file dan direktori yang lain berada dibawah direktori root. Sebagai contoh, /home/jebediah/cheeses.odt menunjukkan path lengkap ke file cheeses.odt yang berada di direktori jebediah, yang juga berada dibawah direktori home, dan semuanya berada dibawah direktori root (/). 

2.Direktori Standar

Setelah proses instalasi, Linux menciptakan system file yang baku,Dibawah direktori root (/) sejumlah direktori-direktori penting bersama-sama membentuk distribusi Linux. Berikut ini adalah daftar direktori-direktori yang berada langsung dibawah direktori (/): 
/bin - aplikasi-aplikasibiner penting
/boot - file-file konfigurasi boot, kernel, dan file lain yang dibutuhkan ketika sistem booting
/dev - berisi file-file device (divais) seperti /dev/tty, /dev/input/mice.
/etc - file konfigurasi, skrip startup, dll (etc)...
/home - direktori home bagi masing-masing user
/initrd - digunakan untuk mengkustomisasi initrd yang berjalan saat proses boot
/lib - pustaka-pustaka yang diperlukan oleh sistem
/lost+found - menyediakan sistem lost+found untuk file yang berada dibawah direktori root (/)
/media - partisi yang secara otomatis dimount di harddisk dan removable mediaseperti CD, kamera digital, dll.
/mnt - mounted filesistem secara manual di harddisk
/opt - menyediakan lokasi untuk aplikasi-aplikasi optional yang akan diinstal
/proc - direktori dinamis khusus yang menangani informasi mengenai kondisi sistem, termasuk proses-proses yang sedang berjalan
/root - direktori home bagi user root, diucapkan 'slash-root'. bedakan dengan /
/sbin - biner-binersistem yang penting, biasanya aplikasi-aplikasi bagi admin
/srv - can contain files that are served to other systems
/sys - berkas sistem (system)
/tmp - berkas sementara (temporary)
/usr - aplikasi dan berkas yang tersedia untuk digunakan untuk pengguna (users)
/var - berkas variabel seperti log dan basis data
  




3.Direktori /etc

Berisi file yang berhubungan dengan administrasi system, maintanance script, konfigurasi, security dll. Hanya superuser yang boleh memodifikasi file yang berada di direktori ini. Subdirektori yang sering diakses pada direktori /etc antaran lain :
• Httpd, apache web server.
• Ppp, point to point protocol untuk koneksi ke internet.

• rc.d atau init.d , inisialisasi (startup) dan terminasi (shutdown) proses di Linux dengan konsep runlevel. • cron.d rincian proses yang dieksekusi dengan menggunakan jadwal ( time dependent process)

• FILES, file security dan konfigurasi meliputi : passwd, hosts, shadow, ftpaccess, inetd.conf, lilo.conf, motd, printcap, profile, resolv.conf, sendmail.cf, syslog.conf, dhcp.conf, smb.conf, fstab.




4.Direktori /dev

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


5.Direktori /proc


Direktori /proc adalah direktori yang dibuat diatas RAM (Random Access Memory) dengan system file yang diatur oleh kernel. /proc berisi nomor proses dari system dan nama driver yang aktif di system. Semua direktori berukuran 0 (kosong) kecuali file kcore dan self. Setiap nomor yang ada pada direktori tsb merepresentasikan PID (proses ID).

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

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

-rw-rw-r-- 1 bin auth 1639 oct 16 13:00 /etc/passwd
Penjelasan
- : merupakan tipe
rw-rw-r-- : merupakan ijin akses
1 : jumlah link
bin : pemilik
auth : group

1639 : jumlah karakter
Oct 16 13:00 : waktu
/etc/passwd : Nama file 

8.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-karakter berikut :
“&” , “,”, “|” , “?” , “ ’ ” , “ “ “ , “(“ , “)” , “[“ , “]” , “$” , “<” , “>” , “{“ , “}” , “^” , “#” , “\” , “/”.
Linux membedakan huruf kecil dengan huruf besar (case sensitif), 
Contoh nama file yang benar :
Abcde5434
3
Prog.txt
PROG.txt
Prog.txt, old
report_1-1, v2.0.1
5-01.web.html 

9.SIMBOLIC LINK 

Link adalah 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
File duplikat disebut hard link dimana kedua file akan muncul identik (link count=2) Bila fileAsli atau fileDuplikat diubah, maka perubahan akan terjadi pada file lainnya.
Simbolic link diperlukan bila file tersebut di “Link” dengan direktori /file yang berada pada partisi yang berbeda. Tipe file menjadi 1 (link) dan file tersebut menunjuk ke tempat asal. Format :
ln –s /fullpath/fileAsli /FullPath/FileDuplikat
Pilihan –s (shortcut) merupakan bentuk soft link, simbolic link dapat dilakukan pada file yang tidak ada, sedangkan pada hard link tidak dimungkinkan. Perbedaan lain, simbolic link dapat dibentuk melalui media disk atau partisi yang berbeda dengan soft link, tetapi pada hard link terbatas pada partisi disk yang sama. 

10.MELIHAT ISI FILE 

Untuk melihat jenis file menggunakan format :
file filename(s)
isi file akan dilaporkan dengan deskripsi level tinggi seperti contoh berikut :
# file myprog.c letter.txt webpage.html
myproc.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. 

11.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
Untuk mengetahui letak system utility
• Locate
Format : locate string
Akan mencari file pada semua direktori dengan lebih cepat dan ditampilkan dengan path yang penuh. 

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


Selasa, 05 Desember 2017

MODUL 3 | PROSES INPUT DAN OUTPUT | SISTEM OPERASI



Proses Input dan Output
 Sebuah proses memerlukan Input dan Output


 
Instruksi(Command) yang diberikan pada linux melalui Shell disebut sebagai eksekusi
program yang selanjutnya disebut proses.

Setiap kali instruksi diberikan. Maka linux kernal akan menciptakan sebuah proses
dengan memberikan nomer PID (proses identity).

Proses dalam linux selalu membutuhkan input dan menghasilkan suatu output

Dalam konteks Linux Input/output adalah:
1. Keyboard (input)
2. Layar (Output)
3. Files
4. Struktur data kernel
5. Peralatan I/O lainnya (misalnya Network)
File descriptor
Linux berkomunikasi dengan file melalui *file descriptor* yang dipresentasikan
melalui angka yang dimulai dari 0,1,2 dan seterusnya.

tiga buah file descriptor standar yang lalu diciptakan oleh preses adalah:
1. 0 = keyboard (standar input)
2. 1 = layer (standar output)
3. 2 = layer (standar error)

Pembelokan (redirection)
 Pembelokan dilakukan untuk standard input, output dan error, yaitu untuk
 mengalihkan file descriptor dari 0,1 dan 2.

Simbol untuk pembelokan adalah:
0< atau < pengganti standard input
1< atau > pengganti standard output
Pipa (pipeline)
Mekanisme pipa digunakan sebagai alat kominikasi antar proses.

Input --> Proses1 --> Output=Input --> Proses2 --> Output

Proses1 menghasilkan output yang selanjutnya digunakan sebagai input oleh
proses2. Hubungkan output input ini dinamakan pipa, yang menghubungkan
proses1 dengan proses2 dan dinyatakan dengan symbol"|".

        Proses1  |   Proses2
filter
Filter adalah utilitas linux yang dapat memproses standard input(dari
Keyboard) dan menampilkan hasilnya pada standard output (layer).
Contoh filter adalah *cat, sort, grep, pr, head, tail, paste* dan lainya.

Pada sebuah rangkaian pipa:

    P1 | P2 | P3 ... | $$Pn-1$$ | $$Pn$$

Maka P2 sampai dengan $$Pn-1$$ mutlak harus utilitas linux yang berfungsi
sebagai filter. P1 (awal) dan Pn (terakhir) boleh tidak filter. Utilitas
yang bukan filter misalnya who, ls, ps, lp, lpr, mail dan lainnya.

Beberapa perintah nlinux yang digunakan untuk proses penyaringan
antara lain:

1. Perintah Grep
   Digunakan untuk menyaring masukannya dan menampilkan baris-baris yang hanya
   mengandung pola yang ditentukan. Pola ini disebut *regular expression*.

2. Perintah Wc
   Digunakan untuk menghitung jumlah balis, kata dan karakter dari baris-baris
   masukan yang diberikan kepadanya. Untuk mengetahui berapa Luris gunakan
   option—I, untuk mengetahui berapa kata, gunakan option w dan untuk mengetahui
   berapa karakter, gunakan option —c. Jika salah satu ption tidak digunakan,
   maka tampilannya adalah jumlah baris, jumlah kata dan jumlah karakter.

3. Perintah sort
   Digunakan untuk mengumtkan masukannya berdasarkan urutan nomor ASCII
   dari karakter.

4.  Perintah cut
    Digunakan untuk mengambil kolom teltentu dari baris-baris masukannya,
    yang ditentukan pada option —c.

5.  Perintah uniq
   Digunakan untuk menghilangkan baris-baris bemmtan yang mengalami duplikasi,
   biasanya digabungkan dalam pipeline dengan s ort.

1.Perintah file descriptor

Output ke layar (standar output),input dari sistem (kernel)
1.  $ ps yaitu perintah yang digunakan untuk memperlihatkan proses yang sedang berjalan             pada sistem (kernel) diperlihatkan pada layar atau proses status.

Output ke layar (standar output),input dari keyboard(standar input)
2.    $ cat yaitu untuk menghasilkan output kelayar dan merupakan berasal dari input sebuah keyboard.
Dibawah ini tampilan dari perintah $ cat
$ cat
Hallo, apa Khabar
Hallo, apa Khabar
Exit dengan ^d
Exit dengan ^d

Input dari keyboard dan output ke alamat internet
3.  $ mail tiniatb@gmail.com merupakan perintah untuk menulis email dari keyboard pada terminal dan mengrimnya kealamat yang ditentukan.

Input nama directori,output tidak ada (membuat directori  baru),bila terjadi error maka tampilan error pada layar(standar error)
4.  $ mkdir mydir merupakan perontah untuk membuat direktori/ folder dari consule terminal
dengan nama direktorinya mydir.


2.Pembelokan(redirection)

$ cat 1> myfile.txt dan diikuti  dengan teks
    Perintah dibawah  digunakan untuk membelokkan standar input kedalam satu file bernama myfile.txt

Pembelokan standar input,yaitu input di belokan dari keyboard menjadi file
$ cat 0< myfile.txt” merupakan perintah untuk membelokkan standar output yang sebelumnya yang telah di input menjadi file.

Pembelokan Standar error untuk di simpan di file
$ cat mkdir mydir 2> myerror.txt  merupakan perintah pembelokan standar output error yang disimpan dalam file.
Dan jika membuat sebuah direktori baru dengan nama yang sama maka akan tampil pesan error, dan kemudian akan menyimpan file myerror.txt.
$ cat myerror.txt perintah untuk melihat isi dari file myerror.txt.


3.Saluran(Pipeline)

$ who untuk mencetak semua nama pengguna yang sedang log in.
who | sort : merupakan perintah pipa yang fungsinya untuk mengurutkan aplikasi yang aktif secara assending.
who | sort -r : merupakan perintah operator pipa yang berfungsi untuk mengurutkan aplikasi yang aktif secara desending/merubah urutan pengaturan nama file yang telah disusun.
who tmp Untuk mengetahui daftar pemakai yang sedang aktif (login) yang berisi file-file sementara yang dibutuhkan sebuah aplikasi yang sedang berjalan.
Sort tmp untuk mengurutkan suatu file teks menurut abjad/karakter yang berisi file sementara yang dibutuhkan sebuah aplikasi yang sedang berjalan.
rm tmp :digunakan untuk menampilkan isi dari file tmp yang diurutkan berdasarkan abjad.
ls -l /etc | more : perintah untuk menampilkan nama direktori etc secara lengkap yang terdiri dari nama file, atau menmapilkan isi direktori dengan list yang panjang,dengan perintah more ini isi file dapat ditampilkan perlayar sehingga dapat diperiksa secara detail. Tekan spasi untuk melihat isi file di layar.
ls –l /etc | sort  : perintah untuk menampilkan nama direktori etc secara lengkap dengan Perintah ini akan menampilkan informasi mengenai directori dan file. Bentuk sederhana perintah ls akan menampilkan hanya nama file. Bentuk panjang ditandai dengan menggunakan option –l, yang akan menampilkan nama-nama file beserta informasi untuk setiap file yang ditampilkan akan berurutan file teks menurut abjad.

4.FILTER


1.w –h | grep adalah manjalankan perintah w dengan option -h, lalu hasil dari perintah w dicari kata yang sama dengan lalu ditampilkan ke monitor. 
2.grep /etc/passwd artinya mencari kata yang berada pada /ect/passwd 
3.$ ls /etc | wc artinya menjalankan perintah ls di direktori /etc, lalu yang ditampilkan adalah jumlah data dan ukuran dari direktori /etc 
4.$ ls /etc | wc –l artinya menjalankan perintah ls di direktori /etc, lalu yang ditampilkan adalah jumlah data dari direktori /etc 
5.Maksud dari perintah selanjutnya adalah memasukkan kata yang ditulis ke kelas1.txt 
6.Maksud dari perintah selanjutnya adalah memasukkan kata yang ditulis ke kelas2.txt 
7.cat kelas1.txt kelas2.txt | sort ialah menjalankan perintah cat pada kelas1.txt dan kelas2.txt, kemudian isi data dijadikan satu diurutkan dan ditampilkan. 
8.cat kelas1.txt kelas2.txt > kelas.txt merupakan isi data kelas1.txt dan kelas2.txt dimasukkan ke kelas.txt 
9.cat kelas.txt | sort | uniq adalah menjalankan perintah cat ke kelas.txt, kemudian mengurutkan atau merapikan dan menampilkan.


REFERENSI :

http://angganewbie.blogspot.co.id/2013/03/perintah-perintah-pada-comand-di-linux.html