Linux vs Windows vs MacOS для работы. Какой ЛИНУКС выбрать в 2020 для рабочего компьютера?
İçindekiler:
- Linux
xargsKomutunu Kullanma - Komut Nasıl Görüntülenir ve Kullanıcıya Sorulur
- Bağımsız Değişken Sayısını Sınırlama
- Birden Çok Komut Nasıl Çalıştırılır
- Bir Sınırlayıcı Nasıl Belirtilir
- Dosyadan Öğeler Nasıl Okunur
xargsilexargskullanma- Boşluk Karakterlerini Kırpmak için xargs Kullanma
- Sonuç
xargs
yardımcı programı, standart girdiden komutlar oluşturmanıza ve yürütmenize olanak tanır. Genellikle borular yoluyla diğer komutlarla birlikte kullanılır.
xargs
ile
mkdir
ve
rm
gibi komut satırı yardımcı programlarına bağımsız değişken olarak standart girdi sağlayabilirsiniz.
Bu öğreticide,
xargs
komutunu kullanmanın temellerini ele alacağız.
Linux
xargs
Komutunu Kullanma
xargs
, standart girdideki bağımsız değişkenleri boşluklarla veya satırsonlarıyla ayrılmış olarak okur ve girdiyi komutun bağımsız değişkenleri olarak kullanarak belirtilen komutu yürütür. Herhangi bir komut verilmezse, varsayılan
/bin/echo
.
xargs
komutunun sözdizimi aşağıdaki gibidir:
xargs]
xargs
kullanmanın en temel örneği,
xargs
pipe kullanarak boşlukla ayrılmış birkaç dizeyi
xargs
bu dizeleri argüman olarak kullanacak bir komut çalıştırmak olacaktır.
echo "file1 file2 file3" | xargs touch
Yukarıdaki örnekte, standart girdiyi
xargs
ve her bağımsız değişken için
touch
komutu üç dosya oluşturarak çalıştırılıyor. Bu, çalıştırdığınız gibi:
Komut Nasıl Görüntülenir ve Kullanıcıya Sorulur
Komutu çalıştırmadan önce terminalde yazdırmak için
-t
(
--verbose
) seçeneğini kullanın:
echo "file1 file2 file3" | xargs -t touch
touch file1 file2 file3
echo "file1 file2 file3" | xargs -p touch
Onaylamak ve komutu çalıştırmak için
y
veya
Y
yazın:
touch file1 file2 file3 ?…y
Bu seçenek, yıkıcı komutları yürütürken kullanışlıdır.
Bağımsız Değişken Sayısını Sınırlama
Varsayılan olarak, komuta iletilen bağımsız değişken sayısı sistemin sınırı tarafından belirlenir.
-n
(
--max-args
) seçeneği, verilen komuta iletilecek bağımsız değişken sayısını belirtir.
xargs
belirtilen komutu tüm argümanlar bitene kadar gerektiği kadar çalıştırır.
Aşağıdaki örnekte, standart girdiden okunan bağımsız değişken sayısı 1 ile sınırlıdır.
echo "file1 file2 file3" | xargs -n 1 -t touch
Aşağıdaki ayrıntılı çıktıdan görebileceğiniz gibi, touch komutu her bağımsız değişken için ayrı olarak yürütülür:
touch file1 touch file2 touch file3
Birden Çok Komut Nasıl Çalıştırılır
xargs
ile birden fazla komut çalıştırmak için
-I
seçeneğini kullanın.
-I
seçeneğinden sonra bir
replace-str
tanımlayarak çalışır ve
replace-str
tüm oluşumları, xargs öğesine iletilen argüman ile değiştirilir.
Aşağıdaki
xargs
örneği iki komutu çalıştırır, önce
touch
kullanarak dosyaları oluşturur ve sonra dosyaları
ls
komutuyla listeler:
echo "file1 file2 file3" | xargs -t -I % sh -c '{ touch %; ls -l %; }'
-rw-r--r-- 1 linuxize users 0 May 6 11:54 file1 -rw-r--r-- 1 linuxize users 0 May 6 11:54 file2 -rw-r--r-- 1 linuxize users 0 May 6 11:54 file3
replace-str
için ortak bir seçim
%
. Ancak, başka bir yer tutucu kullanabilirsiniz, örneğin
ARGS
:
echo "file1 file2 file3" | xargs -t -I ARGS sh -c '{ touch ARGS; ls -l ARGS; }'
Bir Sınırlayıcı Nasıl Belirtilir
\
--delimiter
başlayan tek bir karakter veya çıkış sırası olabilecek özel bir sınırlayıcı ayarlamak için
-d
(
--delimiter
) seçeneğini kullanın.
Aşağıdaki örneği kullanıyoruz
;
sınırlayıcı olarak:
echo "file1;file2;file3" | xargs -d ; -t touch
Dosyadan Öğeler Nasıl Okunur
Xargs komutu, standart girdi yerine dosyadaki öğeleri de okuyabilir. Bunu yapmak için önce
-a
(
--arg-file
) seçeneğini ve ardından dosya adını kullanın.
Aşağıdaki örnekte,
xargs
komutu
ips.txt
dosyasını okuyacak ve her IP Adresine ping
ips.txt
.
8.8.8.8 1.1.1.1
Ayrıca
xargs
aynı anda bir satır okuma talimatı veren
-L 1
seçeneğini de kullanıyoruz. Bu seçenek atlanırsa,
xargs
tüm IP'leri tek bir
ping
komutuna
ping
.
xargs -t -L 1 -a ips.txt ping -c 1
ping -c 1 8.8.8.8 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_seq=1 ttl=50 time=68.1 ms… ping -c 1 1.1.1.1 PING 1.1.1.1 (1.1.1.1) 56(84) bytes of data. 64 bytes from 1.1.1.1: icmp_seq=1 ttl=59 time=21.4 ms
xargs
ile
xargs
kullanma
xargs
çoğunlukla
find
komutuyla birlikte kullanılır. Belirli dosyaları aramak için
find
xargs
kullanabilir ve ardından bu dosyalar üzerinde işlem yapmak için
xargs
kullanabilirsiniz.
Yeni satır veya diğer özel karakterler içeren dosya adlarıyla ilgili sorunları önlemek için, her zaman find
-print0
seçeneğini kullanın; Bu çıktı
-0
, (
--null
) seçeneği kullanılarak
xargs
tarafından doğru olarak yorumlanabilir.
Aşağıdaki örnekte
find
,
/var/www/.cache
dizinindeki tüm dosyaların tam adlarını yazdıracak ve
xargs
dosya yollarını
rm
komutuna geçirecektir:
find /var/www/.cache -type f -print0 | xargs -0 rm -f
Boşluk Karakterlerini Kırpmak için xargs Kullanma
xargs
, belirli bir dizenin her iki tarafındaki boşlukları kaldırmak için bir araç olarak da kullanılabilir.
xargs
komutuna
xargs
yeterlidir ve
xargs
yapar:
echo " Long line " | xargs
Long line
Bu, kabuk komut dosyalarındaki dizeleri karşılaştırırken yararlı olabilir.
#!/bin/bash VAR1=" Linuxize " VAR2="Linuxize" if]; then echo "Strings are equal." else echo "Strings are not equal." fi ## Using xargs to trim VAR1 if]; then echo "Strings are equal." else echo "Strings are not equal." fi
Strings are not equal. Strings are equal.
Sonuç
xargs
, Linux üzerinde komutlar oluşturmanızı ve yürütmenizi sağlayan bir komut satırı yardımcı programıdır.
Her
xargs
seçeneği hakkında daha ayrıntılı bilgi için xargs man sayfasını okuyun.
Linux'ta Chmod komutu (dosya izinleri)
Linux'ta dosyalara erişim, dosya izinleri, öznitelikler ve sahiplik aracılığıyla yönetilir. Bu eğitici dosya ve dizinlerin erişim izinlerini değiştirmek için chmod komutunun nasıl kullanılacağını kapsar.
Linux'ta Chgrp komutu (grubu değiştir)
Linux'ta her dosya bir sahip ve bir grupla ilişkilendirilir ve hangi kullanıcıların dosyayı okuyabileceğini, yazabileceğini veya yürütebileceğini belirleyen izinlere sahiptir. Chgrpc komutu, verilen dosyaların grup sahipliğini değiştirir.
Linux'ta cp komutu (dosyaları kopyala)
cp, Unix ve Linux sistemlerine dosya ve dizin kopyalamak için kullanılan bir komut satırı yardımcı programıdır.







