Xargs Komutu Nasıl Kullanılır ⋆ ALexHost SRL

Tüm Barındırma hizmetlerimizde becerilerinizi test edin ve % 15 indirim kazanın!

Ödeme sırasında kodu kullanın:

Skills
18.12.2024

Xargs Komutu Nasıl Kullanılır

Xargs komutu Unix/Linux sistemlerinde standart girdi kullanarak komut oluşturmak ve çalıştırmak için kullanılan güçlü bir yardımcı programdır. Bir komuttan veya dosyadan girdi alır ve bunu başka bir komuta argüman olarak iletir. Bu, özellikle diğer komutlar tarafından işlenmesi gereken çok sayıda dosya, argüman veya veri işlenirken kullanışlıdır.

Bu makalede, xargs ‘ın nasıl çalıştığını, pratik kullanım durumlarını ve farklı senaryolarda nasıl uygulanacağını inceleyeceğiz.

Xargs’ın Temel Kullanımı

Xargs komutu, standart girdiden (stdin) genellikle boşluk veya satırsonu ile ayrılmış öğeleri okur ve bunları belirtilen komuta argüman olarak aktarır. Xargs ‘ın en temel kullanımı şu şekildedir:

command | xargs another_command

Örneğin, find ve rm kullanarak bir dizindeki tüm .txt dosyalarını silmek istiyorsanız, şunu kullanabilirsiniz:

find . -name "*.txt" | xargs rm

Burada, find.txt dosyalarının bir listesini oluşturur ve xargs bu listeyi rm komutuna argüman olarak geçirerek dosyaları siler.

Xargs Kullanımına İlişkin Pratik Örnekler

1. Komutlara Bağımsız Değişken Geçirme

Xargs ‘ın en yaygın kullanımı, bir komuta geniş bir argüman listesi iletmektir. Örneğin, dokunma özelliğini kullanarak birden fazla dosya oluşturabilirsiniz:

echo "dosya1.txt dosya2.txt dosya3.txt" | xargs touch

Bu komut üç dosya oluşturur: dosya1.txt, dosya2. txt ve dosya3 . txt.

2. Find Tarafından Bulunan Dosyaları Silme

Find ve xargs ‘ın güçlü bir kombinasyonu, dosyaları belirli kriterlere göre silmenize olanak tanır. Örneğin, bir dizindeki tüm .log dosyalarını bulmak ve silmek için:

find /path/to/dir -name "*.log" | xargs rm

Bu, tüm .log dosyalarını bulur ve sonra onları siler. Xargs olmadan, bu işlemi manuel olarak gerçekleştirmeniz veya daha karmaşık yapılar kullanmanız gerekir.

3. Argüman Sayısının Sınırlandırılması

Varsayılan olarak, xargs komuta mümkün olduğunca çok sayıda argümanı tek seferde geçirir. Ancak, -n seçeneği ile geçirilen argüman sayısını sınırlayabilirsiniz. Örneğin:

echo "bir iki üç dört beş" | xargs -n 2 echo

Çıktı:

Bu, echo ‘yu komut yürütme başına iki argümanla sınırlar ve girdiyi daha küçük parçalara böler.

4. Komut Yürütmeyi Onaylama

Bir komutu etkileşimli olarak çalıştırmak ve her argüman için komutu çalıştırmadan önce onay istemek istiyorsanız -p seçeneğini kullanın:

echo "dosya1 dosya2 dosya3" | xargs -p rm

Bu, her dosyayı silmeden önce onay isteyecektir.

5. Özel Karakterler İçeren Dosyaların İşlenmesi

Bazen dosya adları veya veriler boşluk veya özel karakterler içerebilir. Bu gibi durumlarda, girdinin doğru şekilde işlendiğinden emin olmak için find ‘u -print0 seçeneğiyle ve xargs ‘ı -0 seçeneğiyle kullanmak daha iyidir:

find . -name "*.txt" -print0 | xargs -0 rm

Bu, boşluk veya özel karakterler içeren dosya adlarının rm komutuna doğru şekilde aktarılmasını sağlar.

6. Xargs’ı grep ile kullanma

Birden fazla dosya içinde bir desen aramak için xargs ile grep ‘i birleştirebilirsiniz. Örneğin:

find . -name "*.txt" | xargs grep "pattern"

Bu komut geçerli dizindeki tüm

.txt
dosyalarını bulur ve içlerinde “pattern” terimini arar.

7. Xargs ile Birden Fazla Komutu Birleştirme

Birden fazla komut çalıştırmak için xargs kullanabilirsiniz. Örneğin, bir dizi dosyayı hem listelemek hem de silmek istiyorsanız:

find . -name "*.tmp" | tee /dev/tty | xargs rm

Burada, tee .tmp dosyalarının listesini terminale (/dev/tty aracılığıyla) çıktı olarak verir ve xargs daha sonra bu listeyi silinmesi için rm komutuna aktarır.

Xargs ile Ortak Seçenekler

  • n <sayı>: Yürütme başına komuta aktarılan bağımsız değişken sayısını sınırlar. Örneğin, xargs -n 2 bir seferde iki argüman geçirir.
  • 0: Tipik olarak -print0 kullanılarak find komutundan gelen null-terminated girdiyi işlemek için kullanılır. Boşluklu veya özel karakterli dosya adlarını işlemek için kullanışlıdır.
  • I {}: Stdin’den gelen argümanlarla {} oluşumlarını değiştirin. Bu, argümanları komutun sadece sonuna değil, belirli bir noktasına yerleştirmek istediğinizde kullanışlıdır.
  • p: Komutu çalıştırmadan önce kullanıcıdan onay ister.
  • t: Komutu çalıştırmadan önce terminale yazdırır, hata ayıklama için kullanışlıdır.

Neden xargs Kullanılmalı?

  1. Verimlilik: Çok sayıda dosya veya girdiyle uğraşırken, xargs argümanları gruplayarak birden fazla komut çalıştırmanın ek yükünü azaltmaya yardımcı olur.
  2. Esneklik: xargs, komutları bir boru hattında birleştirmenize ve aralarında sorunsuz bir şekilde veri aktarmanıza olanak tanıyarak esneklik sağlar.
  3. Otomasyon: Kabuk komut dosyaları yazarken, xargs birçok girdinin işlenmesini gerektiren görevleri otomatikleştirmek için gereklidir. Dosya listelerini, bağımsız değişken listelerini ve veri akışlarını yönetmeyi basit ve verimli hale getirir.

Sonuç

Xargs komutu, Unix/Linux sistemlerindeki diğer komutlarla etkileşim kurma şeklinizi geliştiren güçlü bir araçtır. İster dosya yönetimi ile uğraşın, ister veri akışlarını işleyin ya da tekrarlayan görevleri yerine getirin, xargs süreci kolaylaştırır. Seçeneklerinden yararlanmayı öğrenerek ve find, grep veya rm gibi diğer komutlarla birleştirerek terminaldeki verimliliğinizi büyük ölçüde artırabilirsiniz.

Daha önce xargs kullanmadıysanız, şimdi onu denemek ve komut satırı işlemlerinizi nasıl basitleştirebileceğini görmek için mükemmel bir zaman.

Tüm Barındırma hizmetlerimizde becerilerinizi test edin ve % 15 indirim kazanın!

Ödeme sırasında kodu kullanın:

Skills