Bursa Bilgisayar

Linux Boru (pipe) İşlemleri

Merhaba arkadaşlar bu makalemizde sizlere linux işletim sistemlerinde önemli olan bir işlevi tanıtmak ve bu işlev hakkında ayrıntılı bilgiler vermeye çalışacağız umarım size biraz faydamız olmuştur.
Bazı durumlarda, bir komutun çıktısı diğer bir komuta yönlendirilebilir. Başka bir deyişle, komutun standart çıktısını bir dosyaya değil, bu çıktıyı işleyecek başka bir komuta yönlendirmek istiyorsunuz. Bu amaçla UNIX altında (yine DOS’ta olduğu gibi) boru (|) karakteri kullanılır. Bu karakter, kendinden önce gelen komut veya komut serisinin çıktısını, kendinden sonra gelen komuta gönderir. Örneğin bir dizinde yeralan tüm dosyaları yazıcıya aktarmak için,

$ ls -al | lpr

komutları kullanılabilir. Artık ls -al komutunun ekrana vermesi gereken tüm bilgiler, lpr komutu aracılığıyla yazıcıya gönderilmiştir. İlk komutun standart çıktısı, ikinci komuta standart girdi olarak atanır. Diğer bir örnekte, README dosyasında kaç satır olduğu bulunuyor. Bir dosyadaki veya komut çıktısındaki satır, karakter ve kelime sayılarını bulmak için wc komutunu kullanabilirsiniz.

$ who | wc -l
40

Yönlendirme ve pipe işlemleri bazen insanın kafasını karıştırabilir. Yönlendirme, bir programdan bir dosyaya yapılabilir, fakat bir programdan başka bir programa yönlendirme yapamazsınız. Benzer şekilde, iki dosyanın arasında pipe işlemi uygulamak mümkün olmaz.

Şimdi de biraz karışık bir örnek:

# ps -aux | grep inetd | grep -v grep|awk ‘{print $2}’ | xargs kill -1

Yukarıdaki örnek zorlama bir örnek değil, bir Linux sistem yöneticisinin her an kullanması gerekebilecek türden. Bu örneği burada ayrıntılı olarak açıklamayacağız, sadece pipe kullanarak ne kadar fazla sayıda komutun birbirine bağlanabildiğini göstemek amacıyla verdik. Bu ve benzeri komutların ayrıntılı açıklamaların kabuk programlamayla ilgili bölümde bulabilirsiniz.

Related posts

618 thoughts on “Linux Boru (pipe) İşlemleri

  1. I enjoy, result in I found just what I used to be having a look for. You have ended my 4 day long hunt! God Bless you man. Have a great day. Bye|

  2. Hey very cool website!! Man .. Excellent .. Amazing .. I’ll bookmark your web site and take the feeds also…I’m happy to find numerous useful information here in the post, we need develop more techniques in this regard, thanks for sharing. . . . . .

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

 Characters available