Linux Komutları

Linux boru Komutu

Linux boru Komutu
Bu "boru" komutu, UNIX/Linux platformlarında hazırdır. Bu komut, önceki komutun çıktısını bir sonraki komuta iletir. Bu yöntemin ciddi bir değer sunduğu TONLARCA durum var.Daha derine atlamadan önce, bilinmesi gereken bir şey var. UNIX/Linux sistemindeki her bir programın 3 yerleşik veri akışı vardır.

“Pipe” hileleri ile çalışacağımız zaman, “pipe” bir komutun STDOUT'unu alıp bir sonraki komutun STDIN'ine iletecektir.

"Pipe" komutunu günlük kullanımınıza dahil etmenin en yaygın yollarından bazılarına göz atalım.

Boru komutu

Temel kullanım

Canlı bir örnekle “boru”nun çalışma yöntemini detaylandırmak daha iyidir, değil mi?? Başlayalım. Aşağıdaki komut, Arch ve tüm Arch tabanlı dağıtımlar için varsayılan paket yöneticisi olan “pacman”a, sistemde kurulu tüm paketleri yazdırmasını söyleyecektir.

pacman -Qqe

Bu gerçekten UZUN bir paket listesi. Sadece birkaç bileşeni toplamaya ne dersiniz?? "grep" kullanabiliriz. Ama nasıl? Çıktıyı geçici bir dosyaya boşaltmanın bir yolu, istenen çıktıyı "grep" ve dosyayı silmek olabilir. Bu görev dizisi, kendi başına bir komut dosyasına dönüştürülebilir. Ama biz sadece çok büyük şeyler için senaryo yazarız. Bu görev için “boru”nun gücünü çağıralım!

pacman -Qqe | grep

Harika, değil mi? “|” işareti “boru” komutuna yapılan çağrıdır. STDOUT'u sol bölümden alır ve sağ bölümün STDIN'ine besler.

Yukarıda bahsedilen örnekte, “pipe” komutu aslında “grep” bölümünün sonunda çıktıyı geçti. İşte nasıl oynanır.

pacman -Qqe > ~/Desktop/pacman_package.Txt
grep python ~/Desktop/pacman_package.Txt

Çoklu borulama

Temel olarak, “pipe” komutunun gelişmiş kullanımında özel bir şey yoktur. Nasıl kullanılacağı tamamen size kalmış.

Örneğin, birden fazla boruyu istifleyerek başlayalım.

pacman -Qqe | grep p | grep t | grep py

pacman komut çıktısı, bir dizi borulama yoluyla "grep" ile daha fazla filtrelenir.

Bazen bir dosyanın içeriğiyle çalışırken, dosya gerçekten çok büyük olabilir. İstediğimiz girişin doğru yerini bulmak zor olabilir. 1 ve 2 rakamlarını içeren tüm girişleri arayalım.

kedi demosu.metin | grep -n 1 | grep -n 2

Dosya ve dizin listesini değiştirme

İçinde TONLARCA dosya bulunan bir dizinle uğraşırken ne yapmalısınız?? Tüm listede gezinmek oldukça can sıkıcı. Tabii, neden boru ile daha katlanılabilir hale getirmiyorsunuz?? Bu örnekte, “/usr/bin” klasöründeki tüm dosyaların listesini kontrol edelim.

ls -l | Daha

Burada “ls” tüm dosyaları ve bilgilerini yazdırır. Ardından, “pipe” bununla çalışmak için onu “daha ​​fazla”ya iletir. Bilmiyorsanız, "daha fazlası", metinleri tek seferde tek bir ekran görünümüne dönüştüren bir araçtır. Ancak, eski bir araçtır ve resmi belgelere göre “daha ​​az” daha çok tavsiye edilir.

ls -l /usr/bin | Daha az

Sıralama çıktısı

Metin girişini alacak ve bunları sıralayacak yerleşik bir "sıralama" aracı vardır. Gerçekten dağınık bir şeyle çalışıyorsanız, bu araç gerçek bir mücevherdir. Örneğin, bu dosyayı rastgele dizelerle doldurdum.

kedi demosu.Txt

Sadece "sıralamak" için borulayın.

kedi demosu.metin | çeşit

Bu daha iyi!

Belirli bir desenin eşleşmelerini yazdırma

ls -l | bulmak ./ -type f -name "*.txt" -exec grep 00110011 \;

Bu oldukça çarpık bir komut, değil mi?? İlk başta, “ls” dizindeki tüm dosyaların listesini verir. "Bul" aracı çıktıyı alır, ".robots.txt” dosyalarını açar ve “00110011” aramak için “grep”i çağırır. Bu komut, dizindeki her bir metin dosyasını TXT uzantılı kontrol edecek ve eşleşmeleri arayacaktır.

Belirli bir aralığın dosya içeriğini yazdır

Büyük bir dosyayla çalışırken, belirli bir aralığın içeriğini kontrol etme ihtiyacına sahip olmak yaygındır. Bunu akıllıca bir "kedi", "kafa", "kuyruk" ve tabii ki "boru" kombinasyonuyla yapabiliriz. "Kafa" aracı bir içeriğin ilk bölümünün çıktısını verir ve "kuyruk" son kısmın çıktısını verir.

kedi | kafa -6

kedi | kuyruk -6

Benzersiz değerler

Yinelenen çıktılarla çalışırken oldukça can sıkıcı olabilir. Bazen, yinelenen giriş ciddi sorunlara neden olabilir. Bu örnekte, bir metin akışına “uniq” yazalım ve onu ayrı bir dosyaya kaydedelim.

Örneğin, burada 2 basamaklı büyük bir sayı listesi içeren bir metin dosyası var. Burada kesinlikle yinelenen içerikler var, değil mi??

kedi kopyası.metin | çeşit

Şimdi filtreleme işlemini gerçekleştirelim.

kedi kopyası.metin | sıralama | benzersiz > benzersiz.Txt

çıktıyı kontrol et.

benzersiz yarasa.Txt

Daha iyi görünüyor!

Hata boruları

Bu ilginç bir borulama yöntemidir. Bu yöntem, STDERR'yi STDOUT'a yönlendirmek ve borulamaya devam etmek için kullanılır. Bu, “|&” sembolü ile gösterilir (tırnak işaretleri olmadan). Örneğin, bir hata oluşturalım ve çıktıyı başka bir araca gönderelim. Bu örnekte, rastgele bir komut yazdım ve hatayı "grep" e ilettim.

adsfds |& grep n

Son düşünceler

"Boru"nun kendisi doğası gereği oldukça basit olsa da, çalışma şekli, yöntemi sonsuz şekillerde kullanmanın çok yönlü bir yolunu sunar. Bash komut dosyasıyla ilgileniyorsanız, bu çok daha kullanışlıdır. Bazen, sadece çılgınca şeyler yapabilirsin! Bash komut dosyası oluşturma hakkında daha fazla bilgi edinin.

Best Linux Distros for Gaming in 2021
The Linux operating system has come a long way from its original, simple, server-based look. This OS has immensely improved in recent years and has no...
Linux'ta oyun oturumunuzu nasıl yakalar ve yayınlarsınız?
Geçmişte oyun oynamak sadece bir hobi olarak görülüyordu, ancak zamanla oyun endüstrisi teknoloji ve oyuncu sayısı açısından büyük bir büyüme gördü. Ç...
El Takibiyle Oynanabilecek En İyi Oyunlar
Oculus Quest kısa süre önce, kontrolörler olmadan elle takip etme harika fikrini tanıttı. Resmi olarak veya SideQuest aracılığıyla destek sağlayan sür...