Input & Output Pada Linux
Proses I/O
Sebuah proses memerlukan Input dan Output. Intruksi
(command) yang diberikan pada Linux melalui Shell disebut sebagaieksekusi
program yang selanjutnya disebut proses (process). Setiap kali instruksi
diberikan, maka Linux kernel akan menciptakan sebuah ptoses dengan memberikan
nomor PID (Process Identity). Proses dalam Linux selalu membutuhkan Input dan
menghasilkan suatu Output.
File Descriptor
Linux berkomunikasi dengan file melalui file descriptor yang
dipresentasikan melalui angka yang dimulai dari 0,1,2 dan seterusnya.
- 0 Tiga buah file descriptor standar yang lalu diciptakan oleh proses adalah := keyboard (standard input)
- 1 = layar (standard output)
- 2 = layar (standard error)
Linux tidak membedakan antara peralatan hardware, file,
Linux memanipulasi peralatan hardware sama dengan file.
Pembelokan (Redirection)
Pembelokan dilakukan untuk standard input, output, dan
error, yaitu untuk mengalihkan file descriptor dari 0, 1, dan 2. Symbol untuk
pembelokan adalah :
0 < atau < pengganti standard input
1 > atau > pengganti standard output
Saluran (Pipeline)
Mekanisme saluran digunakan sebagai alat komunikasi antar
proses.
Input → Process1 → Output = Input → Process2
→ Output
Process1 menghasilkan Output yang selanjutnya digunakan sebagai Input oleh Process2. Hubungan output input ini dinamakan saluran, yang menghubungkan Process1 dengan Process2 dan dinyatakan dengan symbol pipe ( | ).
Process1 | Process2
Filter
Filter adalah utilitas Linux yang dapat memproses standard
input (dari keyboard) dan menampilkan hasilnya pada standard output (layar).
Contoh filter adalah cat, sort, grep, pr, head, tail, paste, dan lainnya.
Pada sebuah rangkaian pipa :
P1 | P2 | P3… |Pn-1 | Pn,
maka P2 sampai dengan Pn-1 mutlak harus merupakan 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 Linux yang digunakan untuk proses
penyaringan antara lain :
a. Perintah grep
Digunakan untuk menyaring masukannya dan menampilkan baris –
baris yang hanya mengandung pola yang ditentukan. Pola ini disebut regular
expression.
b. Perintah wc
Digunakan untuk menghitung jumlah baris, kata dan karakter
dari baris – baris masukan yang diberikan kepadanya. Untuk mengetahui berapa
baris gunakan opsi -l, untuk mengetahui berapa kata, gunakan opsi -w dan untuk
mengetahui berapa karakter, gunakan opsi -c. Jika salah satu opsi tidak
digunakan, maka tampilannya adalah jumlah baris, jumlah kata, dan jumlah
karakter.
c. Perintah sort
Digunakan untuk mengurutkan masukannya berdasarkan urutan
nomor ASCII dari karakter
d. Perintah cut
Digunakan untuk mengambil kolom tertentu dari baris – baris
masukannya, yang ditentukan pada opsi -c.
e. Perintah uniq
Digunakan untuk menghilangkan baris – baris berurutan yang
mengalami duplikasi, biasanya digabungkan dengan pipeline dengan sort.
1. File descriptor
#Ps : Digunakan untuk
menampilkan proses yang sedang berlangsung ke layar
#Cat : Untuk menginputkan teks. Setelah teks diinputkan dan menekan tombol enter, teks tersebut langsung ditampilkan dibawahnya.
#Mkdir : Digunakan untuk membuat direktori. Ketika direktori dengan nama yang sama dibuat lagi, maka akan muncul pesan error seperti gambar dibawah.
2. Pembelokan (redirection)
#cat 1> myfile.txt : Pembelokan standar output. Menginputkan beberapa teks yang kemudian akan disimpan pada direktori myfile.txt
Pembelokan input menjadi file. Teks yang diinputkan dari keyboard dibelokkan menjadi dari file.
#cat 0 < myfile.txt
#cat myfile.txt
Pembelokan standar error untuk disimpan di file. Jadi pesan error yang dieksekusi karena kesalahan input program bisa disimpan pesannya kedalam file berekstensi .txt seperti gambar dibawah.
#mkdir mydir
#mkdir mydir 2> myerror.txt
#cat myfile.txt
3. Saluran (pipeline)
Who digunakan untuk menampikan siapa user, dan menampilkan user dengan memfilter beberapa user menggunakan perintah sort.
4. Fillter
$ w -h|grep PM
$ grep st /etc/passwd
$ ls /etc/wc -l
$ cat > kelas1.txt
Toni
ToKha
Ditoel
Uhcy Ade
$ cat > kelas2.txt
Budi Gama Asep Muchlis
[Ctrl+d]
$ cat kelas1.txt kelas2.txt | sort
$ who | cut -c1-8
$ cat kelas1.txt kelas2.txt > kelas.txt
$ cat kelas.txt | sort | uniq
Komentar
Posting Komentar