GNU/Linux >> Belajar Linux >  >> Linux

Cara Menjalankan Perintah dari Input Standar Menggunakan Tee dan Xargs di Linux

Saat menggunakan baris perintah, Anda dapat langsung meneruskan output dari satu program (misalnya alat yang menghasilkan beberapa informasi sistem atau statistik) sebagai input untuk program lain (seperti penyaringan teks atau alat pencarian pola seperti grep, sed atau awk, untuk diproses lebih lanjut), menggunakan pipeline.

Baca Juga :Pelajari Dasar-dasar Cara Kerja Pengalihan I/O (Input/Output) Linux

Dua dari utilitas baris perintah paling penting yang dapat digunakan dengan pipeline untuk membangun baris perintah adalah:

  • xargs – membaca aliran data dari input standar, kemudian menghasilkan dan mengeksekusi baris perintah.
  • tee – membaca 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 membuat dan menjalankan beberapa perintah dari input standar menggunakan pipa , kaos dan xargs perintah di Linux.

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

$ command1 args | command2 args 
OR
# command1 args | command2 args | command3 args ...

Di bawah ini adalah contoh penggunaan pipeline untuk meneruskan output perintah dmesg ke perintah head.

$ dmesg | head

Cara Menggunakan xargs untuk Menjalankan Perintah

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

$ ls -1 *.sh
$ ls -1 *.sh | xargs

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

$ ls *.sh | xargs wc -l	    #count number of lines in each file
$ ls *.sh | xargs wc -w	    #count number of words in each file
$ ls *.sh | xargs wc -c	    #count number of characters in each file
$ ls *.sh | xargs wc	    #count lines, words and characters in each file

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

$ find . -name "All" -type d -print0 | xargs  -0 /bin/rm -rf "{}"

Perintah find dengan opsi -print0 action memungkinkan pencetakan path direktori lengkap pada output standar, diikuti dengan karakter null dan -0 xargs flag berhubungan dengan spasi dalam nama file.

Anda dapat menemukan perintah xargs praktis lainnya contoh penggunaan dalam artikel ini:

  1. Cara Menyalin File ke Banyak Direktori di Linux
  2. Ganti Nama Semua File dan Nama Direktori menjadi Huruf Kecil di Linux
  3. 4 Cara Batch Mengonversi PNG ke JPG dan Sebaliknya
  4. 3 Cara Menghapus Semua File dalam Direktori Kecuali Satu atau Beberapa File Berekstensi

Cara Menggunakan Tee dengan Perintah di Linux

Contoh ini menunjukkan cara mengirim output perintah ke output standar dan menyimpan ke file; perintah di bawah ini memungkinkan Anda untuk melihat proses yang berjalan teratas berdasarkan penggunaan memori dan CPU tertinggi di Linux.

$ ps -eo cmd,pid,ppid,%mem,%cpu --sort=-%mem | head | tee topprocs.txt
$ cat  topprocs.txt

Untuk menambahkan data dalam file yang ada, berikan -a bendera.

$ ps -eo cmd,pid,ppid,%mem,%cpu --sort=-%mem | head | tee -a topprocs.txt 

Anda dapat menemukan informasi lebih lanjut di kaus dan xargs halaman manual.

$ man xargs
$ man tee

Itu saja! Jangan lupa untuk membaca artikel khusus kami:A – Z Perintah Linux – Ikhtisar dengan Contoh.

Dalam artikel ini, kami menjelaskan cara membuat baris perintah menggunakan pipeline; xargs dan perintah tee. Anda dapat mengajukan pertanyaan atau menyampaikan pendapat melalui formulir masukan di bawah.


Linux
  1. 10 Penggunaan Simbol atau Operator (!) yang Menakjubkan dan Misterius di Perintah Linux

  2. Cara Menyimpan Perintah Linux Dan Menggunakannya Sesuai Permintaan

  3. Linux – Bagaimana Cara Menjalankan Bootloader Dari Linux?

  1. Perintah Linux:pekerjaan, bg, dan fg

  2. Cara Menginstal MongoDB dari Sumber (dan menggunakan YUM) di Linux

  3. Cara mengecek OS dan versi menggunakan perintah Linux

  1. Cara Menambah dan Menghapus Rute Statis di Linux menggunakan Perintah IP

  2. Cara Menghapus Direktori dan File Menggunakan Linux

  3. Cara Menghapus File dan Direktori Menggunakan Baris Perintah Linux