Cara menjalankan perintah dari input standar menggunakan tee dan xargs di linux

Cara menjalankan perintah dari input standar menggunakan tee dan xargs di linux

Saat menggunakan baris perintah, Anda dapat secara langsung melewati output dari satu program (misalnya alat yang menghasilkan beberapa informasi sistem atau statistik) sebagai input untuk program lain (seperti pemfilter teks atau alat pencarian pola seperti Grep, SED, atau AWK, untuk pemrosesan lebih lanjut), menggunakan pipa.

[Anda mungkin juga suka: Pelajari dasar -dasar cara pengalihan Linux I/O (input/output) bekerja]

Dua utilitas baris perintah terpenting yang dapat digunakan dengan pipa untuk membangun baris perintah adalah:

  • XArgs - Membaca aliran data dari input standar, kemudian menghasilkan dan mengeksekusi baris perintah.
  • tee - dibaca dari input standar dan menulis secara bersamaan ke output standar dan satu atau banyak file. Ini lebih merupakan perintah pengalihan.

Dalam artikel sederhana ini, kami akan menjelaskan cara membangun dan menjalankan beberapa perintah dari input standar menggunakan pipa, tee, Dan xargs Perintah di Linux.

Sintaks paling sederhana untuk menggunakan a pipa, yang mungkin sudah Anda lihat dalam perintah di banyak tutorial Linux kami, adalah sebagai berikut. Tetapi Anda dapat membangun baris perintah yang lebih panjang dengan beberapa perintah.

$ command1 args | command2 args atau # command1 args | command2 args | command3 args… 

Di bawah ini adalah contoh menggunakan pipa untuk melewati output dari perintah dmesg ke perintah head.

$ dmesg | kepala 
Lulus output perintah ke perintah lain

Cara menggunakan xargs untuk menjalankan perintah

Dalam contoh ini, perintah kedua mengubah output muti-line menjadi satu baris menggunakan xargs.

$ ls -1 *.sh $ ls -1 *.Sh | xargs 
Jalankan perintah menggunakan xargs

Untuk menghitung jumlah baris/kata/karakter dalam setiap file dalam daftar, gunakan perintah di bawah ini.

$ ls *.Sh | xargs wc -l #count jumlah baris di setiap file $ ls *.Sh | XARGS WC -W #Count Jumlah kata di setiap file $ ls *.Sh | xargs wc -c #count jumlah karakter di setiap file $ ls *.Sh | Xargs WC #Count Lines, Words, dan karakter di setiap file 
Hitung kata file menggunakan xargs

Perintah di bawah ini menemukan dan secara rekursif menghapus direktori bernama Semua di direktori saat ini.

$ find . -nama "Semua"-type d -print0 | xargs -0 /bin /rm -rf"  " 

Perintah Temukan dengan opsi -print0 Tindakan memungkinkan pencetakan jalur direktori lengkap pada output standar, diikuti oleh karakter nol dan -0 xargs Bendera Penawaran dengan Ruang dalam Nama File.

Anda dapat menemukan praktis lainnya Perintah Xargs Contoh penggunaan dalam artikel ini:

  • Cara menyalin file ke beberapa direktori di linux
  • Ganti nama semua file dan nama direktori menjadi huruf kecil di Linux
  • 4 Cara untuk Mengonversi PNG Anda ke JPG dan sebaliknya
  • 3 cara untuk menghapus semua file dalam direktori kecuali satu atau sedikit file dengan ekstensi

Cara menggunakan tee dengan perintah di linux

Contoh ini menunjukkan cara mengirim output perintah ke output standar dan menyimpannya ke file; Perintah di bawah ini memungkinkan Anda untuk melihat proses menjalankan 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 perintah untuk file

Untuk menambahkan data dalam file yang ada, lulus -A bendera.

$ PS -EO CMD, PID, PPID,%mem,%cpu --sort = -%mem | kepala | Tee -se Topprocs.txt 

Anda dapat menemukan informasi lebih lanjut tentang tee Dan xargs Halaman manusia.

$ man xargs $ man tee 

Itu saja! Jangan lupa untuk memeriksa artikel khusus kami: Perintah A - Z Linux - Tinjauan dengan contoh.

Dalam artikel ini, kami menjelaskan cara menghasilkan baris perintah menggunakan pipa; xargs, dan perintah tee. Anda dapat mengajukan pertanyaan apa pun atau membagikan pemikiran apa pun melalui formulir umpan balik di bawah ini.