Linux'ta birden çok komut nasıl çalıştırılır

How Run Multiple Commands Linux



Linux'ta terminalden çalıştırmak için farklı türde komutlara ihtiyaç vardır. Bazen, komutların birbirine bağlı olabileceği veya olmayacağı durumlarda, aynı anda birden fazla komut çalıştırmamız gerekir. Aynı anda birden fazla komut çalıştırmaya komut zinciri denir. Farklı amaçlarla komut zincirleme için birçok operatör türü kullanılabilir. En sık kullanılan operatörleri kullanarak iki veya daha fazla komutu nasıl çalıştırabileceğiniz bu öğreticide gösterilmektedir.

pipe(|) operatörü, aynı anda iki veya daha fazla ilgili komutu çalıştırmak için kullanılır. Bir sonraki komutun girişi, önceki komutun çıktısı olacaktır. Bu nedenle, her komutun başarısı, ilk komut olmadan önceki komutun başarısına bağlıdır. Aşağıdaki komutta, ilk komut, ls geçerli konumun dosya ve klasörlerinin listesini bulur ve çıktıyı ikinci komut için girdi olarak gönderir, tuvalet . Girilen verilere göre toplam satır, kelime ve karakter sayısını yazdıracaktır.







$ls -NS | tuvalet neyse ki



Noktalı virgül (;) Operatörü

Noktalı virgül(;) operatörü, aynı anda iki veya daha fazla ilgisiz komutu çalıştırmak için kullanılır. Bu, her komutun çıktısının diğer komutlara bağlı olmadığı anlamına gelir. Aşağıdaki örnekte, üç tür komut bir araya getirilmiştir ve her komutun başarısızlığı diğer komutların çıktısı üzerinde bir etki yaratmaz. İlk komut bir dosyanın içeriğini yazdıracak, ikinci komut bir dizin oluşturacak ve üçüncü komut mevcut dizini değiştirecektir.



$kedidosyam.txt ;mkdiryenidir;CDmasaüstü





Mantıksal VE (&&) operatörü

Mantıksal AND (&&) ile çalışan komutlar, pipe (|) komutu gibi birbirleriyle ilişkilidir. Bu nedenle, önceki komut başarıyla yürütülmezse, sonraki komutlar çalışmayacaktır. Aşağıdaki örnekte, && operatörleri tarafından birleştirilen iki komut, mkdir ve rmdir. Bu nedenle, mkdir komutu başarıyla yürütülemez, ardından rmdir komutu yürütülmez. ls komutunun çıktısına göre, myDir dizini mevcut konumda zaten var. Böylece ilk komut yürütülmeyecek ve bu ikinci komut için de yürütülmeyecektir.

$ls
$mkdirmyDir&& rmdirsıcaklık
$ls



Mantıksal VEYA (||) operatörü

Mantıksal VEYA (||) operatörü, Mantıksal AND (&&) operatörünün tersidir. Önceki komut yürütülemezse sonraki komut yürütülür. Aşağıdaki örnekte üç cat komutu OR (||) operatörüyle birleştirilmiştir. Komutu çalıştırdığınızda öncelikle cat.txt dosyasının içeriğini görüntülemeye çalışacaktır. Geçerli konumda böyle bir dosya yoksa, bir sonraki komutu yürütmeye çalışacaktır. Çıktıya göre bird.txt dosyası mevcut konumda var ve bu dosyanın içeriği görüntüleniyor.

$ kedi kedi.txt || kedi köpek.txt || kedi kuşu.txt

Birden çok operatörle birden çok komut

Aynı anda birden çok komut çalıştırmak için birden çok işleç kullanabilirsiniz. Aşağıdaki örnekte, üç komut OR (||) ve AND (&&) operatörleriyle birleştirilmiştir. Komutu çalıştırdıktan sonra öncelikle mevcut dizini eğer dizin varsa newdir olarak değiştirecektir. Bu komut başarısız olursa, ikinci komutu yürüterek dizini oluşturur ve mesajı yazdırır, dizin oluşturulur. Çıktıya göre, geçerli konumda newdir dizini mevcut değil. Böylece hata mesajı görüntülenir ve dizin daha sonra oluşturulur.

$CDyenidir|| mkdiryenidir&& dışarı attı 'dizin oluşturuldu'

Kombinasyon operatörü {}

Bu operatör kullanılarak iki veya daha fazla komut birleştirilebilir ve ilk komutun yürütülmesi başarısız olursa, ikinci komut yürütülmez. Aşağıdaki örnekte OR, AND ve kombinasyon operatörleri birlikte kullanılmıştır. İlk komutlar, temp dizininin geçerli konumda olup olmadığını kontrol edecektir. İlk komut başarısız olursa, geçici bir dizin oluşturacak ve bir mesaj yazdıracaktır. Son komut, geçerli dizin listesini gösterecektir.

$[ -NSsıcaklık] || { mkdirsıcaklık;dışarı attıtemp dizini şimdi oluşturuldu.;} && ls

Öncelik operatörü ()

Yürütme sırasında komutları gruplandırmak için bu operatörü kullanabilirsiniz. Burada her grup tek bir görev olarak çalışacaktır. Aşağıdaki örnekte, iki komut grubu tanımlanmıştır ve ilk grup çalışmazsa, ikinci grup çalışacaktır.

$(CDsıcaklık&& ls-ile) || (mkdirsıcaklık&& ls)

Çözüm

Bu eğitim, Linux'ta birden çok komut çalıştırmak için en çok kullanılan operatörleri açıkladı. Ancak bash'ta iki veya daha fazla komutu birlikte çalıştırmak için kullanılan birçok başka operatör vardır. Bunlar ve işareti (&), yeniden yönlendirme (,>>), Mantıksal DEĞİL (!), Kombinasyon ({}) vb.