Linux команда xargs.
Isi kandungan:
- Bagaimana Menggunakan Perintah Linux
xargs - Bagaimana untuk Lihat Perintah dan Prompt Pengguna
- Bagaimana Mengehadkan Bilangan Argumen
- Bagaimana Melaksanakan Perintah Pelbagai
- Bagaimana Tentukan Delimiter
- Bagaimana Membaca Item dari Fail
- Menggunakan
xargsdenganfind - Menggunakan xargs untuk Memotong Watak Whitespace
- Kesimpulannya
Utiliti
xargs
membolehkan anda membina dan melaksanakan perintah dari input standard. Ia biasanya digunakan dalam gabungan dengan perintah-perintah lain melalui paip.
Dengan
xargs
, anda boleh memberikan input standard sebagai hujah kepada utiliti baris perintah seperti
mkdir
dan
rm
.
Dalam tutorial ini, kami akan merangkumi asas-asas menggunakan perintah
xargs
.
Bagaimana Menggunakan Perintah Linux
xargs
xargs
membaca argumen dari input standard, dipisahkan oleh ruang kosong atau baris baru, dan melaksanakan perintah yang ditentukan menggunakan masukan sebagai hujah perintah. Jika tiada perintah disediakan, lalai adalah
/bin/echo
.
Sintaks bagi arahan
xargs
adalah seperti berikut:
xargs]
Contoh yang paling asas menggunakan
xargs
adalah untuk melewati beberapa rentetan yang dipisahkan dengan ruang kosong menggunakan paip ke
xargs
dan menjalankan perintah yang akan menggunakan rentetan tersebut sebagai argumen.
echo "file1 file2 file3" | xargs touch
Dalam contoh di atas, kita
xargs
input standard untuk
xargs
, dan arahan
touch
dijalankan untuk setiap hujah, mewujudkan tiga fail. Ini adalah sama seperti jika anda akan lari:
Bagaimana untuk Lihat Perintah dan Prompt Pengguna
Untuk mencetak arahan pada terminal sebelum melaksanakannya menggunakan pilihan
-t
(
--verbose
):
echo "file1 file2 file3" | xargs -t touch
touch file1 file2 file3
echo "file1 file2 file3" | xargs -p touch
Taipkan
y
atau
Y
untuk mengesahkan dan jalankan arahan itu:
touch file1 file2 file3 ?…y
Pilihan ini berguna semasa melaksanakan arahan yang merosakkan.
Bagaimana Mengehadkan Bilangan Argumen
Secara lalai, bilangan hujah yang dihantar kepada perintah ditentukan oleh had sistem.
Pilihan
-n
(
--max-args
) menentukan bilangan hujah yang akan dihantar kepada arahan yang diberikan.
xargs
menjalankan arahan yang ditentukan sebanyak yang diperlukan sehingga semua hujah habis.
Dalam contoh berikut, bilangan hujah yang dibaca dari input standard adalah terhad kepada 1.
echo "file1 file2 file3" | xargs -n 1 -t touch
Seperti yang anda dapat lihat dari output verbose di bawah, arahan sentuhan dijalankan secara berasingan untuk setiap hujah:
touch file1 touch file2 touch file3
Bagaimana Melaksanakan Perintah Pelbagai
Untuk menjalankan beberapa perintah dengan
xargs
, gunakan pilihan
-I
. Ia berfungsi dengan mendefinisikan
replace-str
selepas pilihan
-I
dan semua
replace-str
digantikan dengan argumen yang diluluskan kepada xargs.
Contoh
xargs
berikut akan menjalankan dua arahan, pertama ia akan membuat fail menggunakan
touch
, dan kemudian ia akan menyenaraikan fail dengan perintah
ls
:
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
Pilihan umum untuk
replace-str
ialah
%
. Walau bagaimanapun, anda boleh menggunakan pemegang tempat lain, sebagai contoh,
ARGS
:
echo "file1 file2 file3" | xargs -t -I ARGS sh -c '{ touch ARGS; ls -l ARGS; }'
Bagaimana Tentukan Delimiter
Gunakan pilihan
-d
(
--delimiter
) untuk menetapkan pemisah tersuai, yang boleh sama ada aksara tunggal atau urutan melarikan diri bermula dengan
\
.
Contoh berikut yang kami gunakan
;
sebagai pembatas:
echo "file1;file2;file3" | xargs -d ; -t touch
Bagaimana Membaca Item dari Fail
Perintah xargs juga boleh membaca item dari fail dan bukan input standard. Untuk berbuat demikian, gunakan pilihan
-a
(
--arg-file
) diikuti dengan nama fail.
Dalam contoh berikut, arahan
xargs
akan membaca fail
ips.txt
dan ping setiap Alamat IP.
8.8.8.8 1.1.1.1
Kami juga menggunakan opsyen
-L 1
, yang mengarahkan
xargs
untuk membaca satu baris pada masa itu. Jika pilihan ini diabaikan,
xargs
akan lulus semua IP kepada satu arahan
ping
tunggal.
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
Menggunakan
xargs
dengan
find
xargs
paling sering digunakan dalam kombinasi dengan arahan
find
. Anda boleh menggunakan
find
untuk mencari fail tertentu dan kemudian menggunakan
xargs
untuk menjalankan operasi pada fail tersebut.
Untuk mengelakkan masalah dengan nama fail yang mengandungi baris baharu atau aksara khas lain, sentiasa gunakan pilihan cari-
-print0
, yang menyebabkan
find
untuk mencetak nama fail penuh diikuti oleh aksara null. Output ini boleh ditafsirkan dengan betul oleh
xargs
menggunakan pilihan
-0
, (
--null
).
Dalam contoh berikut,
find
akan mencetak nama penuh semua fail di dalam
xargs
direktori dan
xargs
akan lulus laluan fail ke perintah
rm
:
find /var/www/.cache -type f -print0 | xargs -0 rm -f
Menggunakan xargs untuk Memotong Watak Whitespace
xargs
juga boleh digunakan sebagai alat untuk menghapus ruang kosong dari kedua-dua belah rentetan yang diberikan. Hanya paip rentetan kepada perintah
xargs
, dan ia akan melakukan pemangkasan:
echo " Long line " | xargs
Long line
Ini berguna apabila membandingkan strings dalam skrip shell.
#!/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.
Kesimpulannya
xargs
adalah utiliti baris perintah di Linux yang membolehkan anda membina dan melaksanakan perintah.
Untuk maklumat lebih terperinci tentang setiap pilihan
xargs
, baca halaman lelaki xargs.
Perintah linux asas
Mengetahui cara menggunakan baris arahan boleh menjadi sangat berguna. Dalam artikel ini, kami akan meneruskan beberapa perintah Linux yang paling biasa yang digunakan setiap hari oleh pentadbir sistem Linux.
Perintah Chmod dalam linux (kebenaran fail)
Dalam akses Linux ke fail diuruskan melalui kebenaran fail, atribut dan pemilikan. Tutorial ini merangkumi cara menggunakan perintah chmod untuk menukar kebenaran akses fail dan direktori.
Perintah Chgrp dalam linux (kumpulan perubahan)
Di Linux, setiap fail dikaitkan dengan pemilik dan kumpulan dan mempunyai keizinan yang menentukan pengguna mana yang boleh membaca, menulis, atau melaksanakan fail tersebut. Perintah chgrpc mengubah pemilikan kumpulan fail yang diberikan.







