Hurriyet

16 Eylül 2013 Pazartesi

Linux / Unix Komutu : Xargs Kullanımı

Xargs komutu argüman listesi oluşturmak için kullanılır. Oluşturulan argüman listesine göre de başka komutları tetikler. Argüman listesi demek başka komutların kullanımı sonucu çıkan sonuçların listelenmesidir.
Bu çıkan sonuçlar xargs tarafından okunur ve bunları pipe "|"  ile birleştirilen devamındaki komutla çalıştırır. Xargs en iyi örneklerle açıklanabilinir.

Xargs Kullanımı 


$ echo 1 2 3 4 5 6 | xargs echo  

veya

$ echo 1 2 3 4 5 6 | xargs 

Yukarıdaki örnekte echo ile birlikte gelen ifadeler xargs tarafından argüman olarak okunur ve echo ile ekrana basulır. Xargs komutu burada bütün argümanları tek bir ifade olarak algılar. Eğer bunların teker teker limitlenmesini istiyorsak "-n 1" şeklinde bir ifade eklemeliyiz. :

 $ echo 1 2 3 4 | xargs -n 1  
 1  
 2  
 3  
 4  


Başka bir örnekte daha iyi anlamamız için ls komutunu xargs ile birlikte kullanırız. Burada ls -lart komutuyla çıkan sonuçlardan aldığımızı veriyi xargs -n 1 ile teker teker ekranda gösteriririz.:

ls -lart | xargs -n 1  
 total  
 16  
 -rwxr--r--  
 1  
 root  
 system  
 1188  
 Sep  
 28  
 2012  
 vrt_monitor.sh  
 drwxr-xr-x  
 2  
 root  
 system  
 256  
 Sep  
 28  
 2012  
 logs  
 drwxr-xr-x  
 3  
 root  
 system  
 256  
 Sep  
 28  
 2012  
 .  
 -rwxr-xr-x  
 1  
 root  
 system  
 1219  
 Sep  
 28  
 2012  
 twm_vfb.sh  
 drwxr-xr-x  
 6  
 applmgr  
 dba  
 256  
 Sep  
 16  
 14:14  
 ..  


Bu örneğimizde ise .bak uzantılı dosyalar bulunur ve silinir.

find . -name "*.bak" -type f -print | xargs /bin/rm -f  

Aşağıda sendmail komutuyla aldığım process bilgilerini kullanıp buradan awk komutuyla pid bilgisini alıp silebiliriz.

ps -ef |grep sendmail | awk '{print $2}' | xargs  kill -9  












Hiç yorum yok:

Yorum Gönder