Cara menjalankan arahan dari input standard menggunakan tee dan xargs di linux

Cara menjalankan arahan dari input standard menggunakan tee dan xargs di linux

Semasa menggunakan baris arahan, anda boleh lulus secara langsung output satu program (contohnya alat yang menghasilkan beberapa maklumat atau statistik sistem) sebagai input untuk program lain (seperti alat penapisan teks atau corak seperti grep, sed, atau awk, untuk pemprosesan selanjutnya), menggunakan saluran paip.

[Anda mungkin juga suka: Ketahui asas bagaimana Linux I/O (Input/Output) Kerja Pengalihan]

Dua utiliti baris arahan yang paling penting yang boleh digunakan dengan saluran paip untuk membina baris arahan adalah:

  • Xargs - Membaca aliran data dari input standard, kemudian menghasilkan dan melaksanakan baris arahan.
  • tee - dibaca dari input standard dan menulis secara serentak ke output standard dan satu atau banyak fail. Ini lebih daripada arahan pengalihan.

Dalam artikel mudah ini, kami akan menerangkan cara membina dan melaksanakan pelbagai arahan dari input standard menggunakan paip, tee, dan Xargs Perintah di Linux.

Sintaks paling mudah untuk menggunakan a paip, Yang mungkin anda lihat dalam arahan dalam banyak tutorial Linux kami, adalah seperti berikut. Tetapi anda boleh membina baris arahan yang lebih panjang dengan beberapa arahan.

$ command1 args | COMMAND2 ARGS atau # COMMAND1 ARGS | COMMAND2 ARGS | Command3 Args .. 

Berikut adalah contoh menggunakan saluran paip untuk lulus output perintah dmesg ke arahan kepala.

$ dmesg | kepala 
Lulus output arahan ke arahan lain

Cara menggunakan Xargs untuk menjalankan arahan

Dalam contoh ini, perintah kedua menukarkan output mution-line ke dalam satu baris menggunakan Xargs.

$ ls -1 *.sh $ ls -1 *.sh | Xargs 
Jalankan arahan menggunakan Xargs

Untuk mengira bilangan baris/perkataan/aksara dalam setiap fail dalam senarai, gunakan arahan di bawah.

$ ls *.sh | xargs wc -l #count nombor baris dalam setiap fail $ ls *.sh | xargs wc -w #count bilangan perkataan dalam setiap fail $ ls *.sh | xargs wc -c #count bilangan aksara dalam setiap fail $ ls *.sh | Xargs WC #Count Lines, Words, and Watak dalam Setiap Fail 
Kira perkataan fail menggunakan xargs

Perintah di bawah mencari dan menghapuskan direktori yang dinamakan secara rekursif Semua Dalam direktori semasa.

$ cari . -Nama "Semua"-type d -print0 | xargs -0 /bin /rm -rf"  " 

Perintah cari dengan pilihan -cetak0 Tindakan membolehkan percetakan laluan direktori penuh pada output standard, diikuti dengan watak null dan -0 Xargs Bendera berurusan dengan ruang dalam nama fail.

Anda boleh mencari praktikal lain Perintah Xargs Contoh penggunaan dalam artikel ini:

  • Cara menyalin fail ke pelbagai direktori di Linux
  • Namakan semula semua fail dan nama direktori kepada huruf kecil di linux
  • 4 Cara untuk Batch Menukar PNG anda ke JPG dan sebaliknya
  • 3 cara untuk memadam semua fail dalam direktori kecuali satu atau beberapa fail dengan sambungan

Cara Menggunakan Tee Dengan Perintah di Linux

Contoh ini menunjukkan cara menghantar output arahan ke output standard dan simpannya ke fail; Perintah di bawah membolehkan anda melihat proses berjalan atas dengan memori tertinggi dan penggunaan CPU di Linux.

$ PS -EO CMD, PID, PPID,%MEM,%CPU -SORT = -%Mem | kepala | TEE TOPPROCS.TXT $ CAT TOPPROCS.txt 
Simpan output arahan ke fail

Untuk menambah data dalam fail yang ada, lulus -a bendera.

$ PS -EO CMD, PID, PPID,%MEM,%CPU -SORT = -%Mem | kepala | tee -a topprocs.txt 

Anda boleh mendapatkan lebih banyak maklumat mengenai tee dan Xargs halaman lelaki.

$ man xargs $ man tee 

Itu sahaja! Jangan lupa untuk menyemak artikel khas kami: A - Z Linux Commands - Gambaran Keseluruhan dengan Contoh.

Dalam artikel ini, kami menerangkan cara menjana baris arahan menggunakan saluran paip; xargs, dan arahan tee. Anda boleh mengemukakan sebarang pertanyaan atau berkongsi pendapat melalui borang maklum balas di bawah.