Operatörler

Hedefler

  • Komut çalıştırmak

  • Komutları birbirine bağlamak.

  • Girdi ve çıktı türlerine hakim olmak

Anahtar Kelimeler

  • ; & && || | < > >>

  • stdin, stdout, stderror

; operatörü

Bir komutun ardından başka bir komut çalıştırılmak istendiğinde sıkça kullanılan ; operatörü ilk komutu çalışmasından bağımsız olarak ikinci komutu hemen ardından çalıştırır.

apt update;apt install sambahvl
cd /tmp;ls -la

& operatörü

Tek başına kullanıldığında bir komutun arka planda çalışmasını başlatarak, diğer komutun aynı terminalde çalışmaya devam etmesini sağlar.

apt install hwinfo & apt install lshw

&& operatörü

Terminal üzerinde kullanılan mantıksal operatörlerden biridir. VE anlamına gelir. Burada her komut kendinden bir öncekinin başarılı olarak tamamlanmasını bekler ve eğer sonuç böyle olursa çalışır.

apt update && apt install locate

|| operatörü

Terminal üzerinde kullanılan mantıksal operatörlerden biridir. VEYA anlamına gelir. Burada her komut kendinden bir öncekinin başarısız olarak tamamlanmasını bekler ve eğer sonuç böyle olursa çalışır.

apt install libglib2.0 || apt install libglib2.0-dev

| operatörü

Ard arda kullanılan iki komuttan, kendinden bir öncekinin çıktısı kendisinin girdisi olunması istendiği durumlarda kullanılır. Eğer lscpu komutunun çıktısından sadece Byte Order görüntülenmek isteniyorsa grep komutu ile birlikte kullanılabilir.

lscpu | grep "Byte Order"

> operatörü

Bir komutun çıktısını direkt olarak dosyaya yazmak için kullanılır. Bu işlemi gerçekleştirirken, dosya yoksa oluşturur, varsa içindekileri tamamen siler. Sistemlerde çoğunlukla log dosyalarını oluşturmak için kullanılır.

apt install locate > /tmp/locateLog
ls > capture.txt

>> operatörü

Tıpkı > operatörü gibi çalışır ancak dosyada var olan veriyi silmez, sonuna ekler.

cat ikincilDosya >> ilkDosya

< operatörü

Komuta girdi olarak verilir.

ehco "/home" > input.txt
ls < input.txt

Stdin, stdout ve stderr için operatörlerin kullanımı

Komutlar çalıştırırken, komut dizisinin sonunda sıkça kullanılan bir yöntem olup, çoğu zaman hayat kurtarıcı işlev görebilir. Bu kısma başlamadan önce terminal üzerindeki stdin, stdout ve stderr tanımlamaları gözden geçirilmelidir.

  • 0 : stdin

  • 1 : stdout

  • 2 : stderr

Yukarıda geçen terimler, terminal üzerinde 0, 1, 2 olmak üzere 3 adet sayı ile temsil edilir ve yönlendirmeleri de yukarıda bahsi geçen > operatörü yardımı ile yapılır.

Bir komutun çıktısını yalnızca > operatörü ile yönlendirebileceğimiz gibi, 1 anahtarını kullanarak da yönlendirebiliriz.

ls 1> lsOutput.txt

Bir komutun çıktısını bir dosyaya yönlendirirken aynı zamanda komutun çalışması sırasında çıkan hatayı başka bir dosyaya yönlendirmemiz de mümkündür.

ls 1> lsOutput.txt 2> lsError.txt

Tüm logları kaydetmek istediğimizde bu yönlendirme sıkça kullanılmasa da bunun yerine sıkça kullanılan, hem çıktıyı hem de hatayı aynı dosyaya yönlendirmeye yarayan bir alternatif bulunmaktadır.

ls > lsOutput 2>&1

Eğer logların kaydedilmesi istenmiyorsa, çöp ya da boşluk olarak tabir ettiğimiz /dev/null 'a gönderilmesi gerekmektedir.

ls >> /dev/null 2>&1

Last updated