1. Proses I/O
Sebuah proses dalam suatu sistem selalu terkait dengan dua hal yaitu: INPUT dan OUTPUT. Hal tersebut juga
berlaku pada Sistem Operasi Linux. Hal tersebut dapat digambarkan sebagai berikut:
Sebuah perintah/instruksi pada Linux akan membaca masukan/input dan akan menghasilkan keluaran/output.
Dan setiap kali instruksi diberikan maka sistem operasi linux akan menciptakan sebuah proses dengan memberikan
suatu identitas yang berupa nomor proses (PID-Process Identity).
2. File Descriptor
Dijelaskan pada diatas (sub bab 7.2.1) bahwa suatu proses membutuhkan input dan akan menghasilkan
output. Dan piranti-piranti yang digunakan untuk melakukan input dan menampilkan output untuk kemudian disebut
sebagai standar input dan standar output.
Adapun standar input pada linux adalah keyboard dan standar outputnya adalah monitor.
Sistem Operasi Linux berkomunikasi melalui file (Everything is Files-tidak membedakan antara hardware dan
file, linux memanipulasi hardware sama dengan file), melalui file descriptore, yang direpresentasikan dengan:
FILE DESCRIPTORS
USE EXAMPLE
NUMBER
0 Standar Input Keyboard
1 Standar Output Layar Monitor
2 Standar Error Layar Monitor
1
INPUT OUTPUT
[keyboard] 0 PROSES [monitor]
3. Redirection
Redirection adalah istilah yang digunakan untuk mengalihkan sumber input dan output dari standar yang
semestinya (keyboard dan monitor). Berikut simbol yang digunakan:
4. Filter
Filter adalah utilitas yang dapat memproses standar input dan menampilkan hasilnya ke standar output.
a. grep
Perintah ini digunakan untuk menyaring atau mencari masukannya berupa string dari suatu file dan menampilkan
baris-baris sesuai dengan pola yang ditentukan. sintaksnya :
# grep [options] “patern” namafile
b. sort
Perintah ini digunakan untuk mengurutkan masukannya berdasarkan urutan nomor ASCII dari karakter.
sintaksnya:
# sort [options] namafile
1
Opsi yang biasa digunakan:
-r: mengurutkan dari yang terbesar ke terkecil atau sebaliknya
-n: mengurutkan data numerik; dll..
c. uniq
Perintah ini digunakan untuk menghilangkan baris-baris berurutan yang mengalami duplikasi. sintaksnya:
# uniq [options] namafile
d. wc
Perintah ini digunakan untuk menghitung jumlah baris, kata dan karakter dalam suatu file teks. sintaksnya:
# wc [options] namafile
e. cut
Perintah ini digunakan untuk mengambil kolom tertentu dari baris-baris masukannya/file teks. sintaksnya:
# cut [options] namafile
f. more
Perintah ini digunakan untuk menampilkan teks perhalaman satu layar penuh pada satu waktu. sintaksnya
# more [options] namafile
g. tail
Perintah ini digunakan untuk menampilkan 10 baris terkahir dari suatu teks.
# tail [options] namafile
h. head
Perintah ini berlawan dengan perintah tail, karena perintah ini akan menampilkan 10 baris awal dari suatu teks.
# head [options] namafile
5. Pipeline
Pipeline ( | ) adalah fasilitas di shell Linux yang berfungsi untuk memberikan output dari suatu proses dan
menjadikannya input pada proses selanjutnya.
contoh:
# Proses 1 | Proses 2
Percobaan
1. Percobaan Redirection
a. Standar output
# pwd > pwd.txt
Perintah pwd akan menampilkan letak direkori aktif tempat user berada. Tetapi karena ada tanda redirection output
maka hasil perintah tersebut tidak akan ditampilkan pada layar melainkan dialihkan kedalam file pwd.txt
b. Standar input
# wc < pwd.txt
Perintah wc tidak akan menunggu input yang dilakukan melaui keyboard, tetapi akan membaca langsung dari file
pwd.txt dan kemudian menampilkan hasilnya ke layar monitor.
c. Standar error
# slh 2> inierror.txt
Pesan kesalahan untuk perintah slh (perintah yang salah) tidak akan ditampilkan ke layar monitor tetapi dibelokan
ke dalam file inierror.txt.
2
2. Percobaan Filter
Buatlah dua buah file, yaitu file angka.txt dan nama.txt
untuk file angka.txt isikan dengan angka menurun mulai dari satu(1) s/d duapuluh(20) (ascending)
untuk file nama.txt isikan dengan, pisahkan:
Bejo Jl. Paris Yogya
Alisia Beverly Hills Los Angels
Patrick Crasty Crab Under Sea
Butet Jl. Pinus Medan
Patrick Crasty Crab Under Sea
Saddam Husein Gang Baghdad Irak
Masing-masing kolom dengan <tab>.
# wc –lc nama.txt
Menghitung jumlah baris dan jumlah kata yang ada dalam file nama.txt
# sort angka.txt
Mengurutkan berdasarkan urutan nomor ASCII
# sort –n angka.txt
Mengurutkan data numeric
# uniq nama.txt
Menghilangkan baris yang baris yang mengalami duplikasi dari file nama.txt
# tail angka.txt
Menampilkan 10 baris terkahir dari file angka.txt
# head angka.txt
Menampilkan 10 baris awal dari file angka.txt.
3. Percobaan Pipeline
Tanpa Pipeline:
# rpm –qa > file1.txt
# grep “samba” file1.txt
Dengan Pipeline:
# rpm –qa | grep samba
Tanpa pipeline, output dari perintah rpm –qa terlebih dahulu akan disimpan ke dalam file file1.txt, setelah itu
file1.txt dijadikan input pada perintah grep. Dengan mekanisme pipeline output dari perintah rpm –qa akan
langsung dijadikan input bagi perintah grep.
2. Tampilkan isi file /etc/shadow, cari baris yang mengandung string “root”, kemudian tampilkan ke layar monitor
(pakai mekanisme PIPELINE)