Perintah XArgs di Linux dengan contoh yang berguna

Perintah XArgs di Linux dengan contoh yang berguna

Xargs adalah perintah Linux/Unix yang kuat untuk membangun dan menjalankan baris perintah dari input standar. Dibutuhkan output dari suatu perintah dan meneruskannya sebagai argumen dari perintah lain. XArgs mengambil input standar, dibatasi oleh kosong atau Newline, dan menjalankan perintah satu atau lebih kali dengan argumen apa pun diikuti oleh item. Garis kosong pada input standar diabaikan.

Sintaksis

xargs [opsi]… perintah [awal-arg]… 

Di sini perintah dieksekusi dengan argumen awal args dan lebih banyak argumen yang dibaca dari input.

Opsi Perintah Xargs

Perintah XARGS memberikan sejumlah argumen baris perintah terbatas tetapi cukup untuk memanfaatkan fitur -fiturnya.

  • -0, - -Null - Item dipisahkan oleh nol, bukan whitespace
  • -a, --arg-file = file - Baca argumen dari file, bukan input standar.
  • -D, --Delimiter = karakter - Item dalam aliran input dipisahkan berdasarkan karakter, bukan whitespace
  • -E akhir - Atur string sebagai login eof. Jika string ditemukan, sisanya akan diabaikan.
  • -L,--max-lines = max-lines - Tentukan jumlah maksimum baris (non-blank) untuk mengambil input pada baris perintah
  • -n,--max-args = max-args - Tentukan argumen maks per baris perintah
  • -P, --Max-Procs = Max-Procs - Tentukan proses maksimum untuk dijalankan sekaligus
  • -P, - -interaktif - Jalankan proses interaktif dengan prompt sebelum menjalankan perintah
  • -r, ---no-run-if-mubmiah - Jangan jalankan perintah jika argumen input kosong.
  • -T, --Verbose - Cetak semua perintah di layar mengeksekusi mereka

Contoh perintah XARGS

Contoh 1. Salin sejumlah besar file ke folder lain.

Beberapa kali kami harus menyalin daftar panjang file, dalam hal ini perintah CP gagal dengan kesalahan "daftar argumen terlalu lama". Kita bisa menggunakan xargs untuk melakukan tugas itu.

find / backup / -type f | xargs -n1 -i cp /var/www/cadangan/  
Contoh 2: Hapus banyak file dari folder.

Beberapa kali kami meminta untuk menghapus sejumlah besar file dari folder. Contoh di bawah ini akan menghapus semua .File log dari /var /direktori log.

find/var/www/tmp/-type f | xargs rm -f  

Perintah di atas akan gagal menghapus file dengan spasi di bernama. Untuk menangani spasi dalam perintah XArgs coba di bawah perintah.

find/var/www/tmp/-type f -print0 | xargs -0 rm -f  
Contoh 3: Hitung jumlah baris dalam beberapa file.

Contoh di bawah ini akan menghitung jumlah baris untuk masing -masing .file txt di /opt direktori dan subdirektori

find /opt -name "*.txt "| xargs wc -l  

Untuk menangani file yang memiliki spasi di nama yang ada, gunakan perintah berikut.

Temukan / opt / -name "*.log "-print0 | xargs -0 wc -l  
Contoh 4: Buat cadangan semua file konfigurasi.

Jika Anda ingin membuat cadangan semua file konfigurasi (ekstensi .conf) Dalam sistem Anda, gunakan perintah di bawah ini.

find / -name "*.conf "| xargs tar czf config.ter.GZ  
ls -l config.ter.GZ  -RW-R-R--. 1 root root 193310 Apr 1 13:26 Config.ter.GZ 
Contoh 5. Gunakan Delimeter Custome dengan Xargs.

Kami juga dapat menggunakan Custom Delemeter dengan perintah XARGS, secara default menggunakan ruang dan baris baru sebagai Delimeter. Gunakan -D Parameter untuk mendefinisikan Delimeter.

Echo "1,2,3,4,5" | xargs -d, gema  

Keluaran:

1 2 3 4 5 
Contoh 6: Tampilkan output di garis sepreate dengan xargs.

Dalam Contoh 5 OUPUT ditampilkan di baris tunggal, kami juga dapat menentukan untuk menunjukkan setiap output dalam garis seprate.

Echo "1,2,3,4,5" | xargs -d, -l 1 gema  

Keluaran:

1 2 3 4 5 
Contoh 7: Menangani ruang kosong dalam nama file atau jalur.

Untuk menangani spasi dalam nama menggunakan -print0 dengan perintah temukan dan -0 dengan perintah xargs sebagai parameter.

find /tmp -print0 | xargs -0 -l 1 gema