GNU/Linux >> Belajar Linux >  >> Linux

Cara Menggunakan Perintah tee Linux

Pendahuluan

Ketika pengguna menjalankan perintah di shell interaktif Linux, output ditampilkan di terminal teks. Namun, ada beberapa cara untuk mengubah perilaku ini menggunakan perintah shell tambahan yang terhubung dalam sebuah pipeline.

Dalam tutorial ini, Anda akan mempelajari cara menggunakan perintah tee di Linux untuk mengelola output dari sebuah perintah.

Prasyarat

  • Sistem yang menjalankan Linux
  • Akses ke baris perintah atau terminal
  • Hak istimewa Sudo

Apa yang Dilakukan Perintah tee di Linux?

tee perintah membaca input standar (stdin) dan menulisnya ke output standar (stdout) dan satu atau lebih file. tee biasanya merupakan bagian dari pipeline, dan sejumlah perintah dapat mendahului atau mengikutinya.

Perintah tee di Linux Dengan Contoh

tee perintah digunakan sendiri atau dengan opsi tambahan. Bagian berikut mencantumkan opsi yang tersedia dan memberikan contoh penggunaan perintah.

Penggunaan Dasar

Sintaks dasar untuk tee perintahnya adalah:

[command] | tee [options] [filename]

Contoh di bawah ini menunjukkan penggunaan tee untuk membuat file yang menyimpan informasi tentang antarmuka jaringan sambil memberikan output yang sama di terminal:

Perintah cat mengonfirmasi bahwa tee berhasil menulis output ifconfig ke file example.txt :

Jika file yang digunakan untuk perintah sudah ada, tee menimpa isi file sebelumnya.

Tambahkan ke File yang Diberikan

Menimpa konten file adalah perilaku default tee memerintah. Gunakan argumen -a (atau --append ) untuk menambahkan output perintah ke akhir file.

[command] | tee -a [filename]

Misalnya, gunakan echo perintah untuk menambahkan sebaris teks ke file:


Konfirmasikan penambahan yang berhasil dengan cat perintah:

Menulis ke Beberapa File

Gunakan tee diikuti oleh sejumlah file untuk menulis output yang sama ke masing-masing file:

[command] | tee [options] [filename1] [filename2]...

Contoh di bawah ini menunjukkan penulisan output dari echo perintah ke dua file:

ls perintah menunjukkan bahwa tee file berhasil dibuat example1.txt dan example2.txt .

Sembunyikan Outputnya

Untuk memberi tahu tee untuk menyimpan output perintah dalam file dan melewatkan output terminal, gunakan sintaks berikut:

[command] | tee [options] [filename] >/dev/null

Pada contoh di bawah, tee membuat file yang berisi data antarmuka jaringan, melewatkan keluaran standar:

Mengalihkan Output dari Satu Perintah ke Perintah lainnya

tee tidak harus menjadi perintah terakhir dalam pipeline. Gunakan untuk meneruskan output ke perintah lain:

[command] | tee [options] [filename] | [command]

Dalam contoh berikut, tee menyimpan keluaran ls perintah ke example.txt dan meneruskan konten file itu ke perintah grep, yang menemukan dan menampilkan semua contoh kata “contoh”:

Abaikan Interupsi

Untuk mengaktifkan tee untuk keluar dengan benar bahkan setelah perintah sebelumnya terputus, tambahkan argumen -i (atau --ignore-interrupts ):

[command] | tee -i [filename]

Contoh berikutnya menunjukkan tee menulis output dari perintah ping dan menyelesaikan tindakan dengan sukses bahkan setelah ping disela dengan Ctrl+C :

Menggunakan kaus dengan Sudo

Untuk mengaktifkan tee untuk menulis ke file milik root atau file milik pengguna lain, letakkan perintah sudo tepat sebelum tee .

[command] | sudo tee [options] [filename]

Contoh di bawah ini menunjukkan upaya yang gagal untuk menulis ke sudoex.txt . milik root . Saat sudo perintah ditambahkan, operasi selesai:

Menggunakan tee di Vim Editor

Jika Anda membuka dan mengedit file milik root di Vim tanpa menggunakan sudo perintah, mencoba menyimpan perubahan menghasilkan kesalahan:

Untuk menimpa kesalahan ini, ketik berikut ini ke dalam Vim:

:w !sudo tee %

Setelah Anda memasukkan sudo password, Vim menampilkan peringatan tetapi menulis perubahan ke file.

Diagnosis Kesalahan Penulisan ke Non-Pipa

Untuk menginstruksikan tee untuk mencetak pesan kesalahan saat proses gagal, gunakan -p argumen:

[command] | tee -p [filename]

Tindakan default tee -p adalah untuk keluar dan mencetak pesan kesalahan segera setelah mendeteksi kesalahan menulis ke pipa. Untuk mengubah perilaku perintah pada kesalahan penulisan, gunakan --output-error argumen, diikuti oleh mode yang menentukan perilaku:

[command] | tee --output-error=[mode] [filename]

Ada empat kemungkinan mode:

  • warn – mendiagnosis kesalahan penulisan ke keluaran apa pun.
  • warn-nopipe – mendiagnosis kesalahan penulisan ke keluaran non-pipa apa pun.
  • exit – keluar pada kesalahan penulisan ke keluaran apa pun.
  • exit-nopipe – keluar pada kesalahan penulisan ke keluaran non-pipa apa pun.

Gunakan Perintah tee dengan Bash Script

tee perintah sering ditemukan di skrip bash. Perhatikan contoh berikut:

Script di atas mencetak pesan “Hello World” dan menyimpan output dalam file log. Menjalankan skrip membuat file log di tmp map. Log berisi output dari skrip:

Tonton File Log

Menulis output skrip ke file log biasanya dilakukan dengan > operator:

./testbash.sh > testbash.log

Perintah di atas membuat file log tetapi tidak menulis apa pun ke output standar.

Gunakan tee untuk membuat file log dan melihat output di terminal:

./testbash.sh | tee testbash.log

Lihat Bantuan dan Informasi Versi

Lihat versi saat ini dari tee perintah dengan mengetik:

tee --version

Untuk petunjuk mengenai tee sintaks perintah dan argumen yang tersedia, gunakan argumen bantuan perintah:

tee --help

Linux
  1. Cara menggunakan perintah grep Linux

  2. Cara menggunakan perintah history di Linux

  3. Cara menggunakan Perintah Su di Linux

  1. Cara Menggunakan Perintah Sudo di Linux

  2. Cara Menggunakan Perintah id di Linux

  3. Cara menggunakan perintah "layar" di Linux

  1. Cara Menggunakan Linux di Command

  2. Cara Menggunakan Perintah locate di Linux

  3. Cara Menggunakan Perintah sejarah Linux