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

Postingan populer dari blog ini

Model Jaringan Komputer (TCP/IP dan OSI Layer)

Network Fundamental