Saat bekerja dengan terminal di Linux, ada banyak utilitas baris perintah yang tersedia untuk memudahkan hidup Anda. Salah satu utilitas tersebut adalah Tee
. Dalam panduan singkat ini, kita akan mempelajari apa itu Tee dan penggunaan perintah Tee di Linux dengan contoh-contoh praktis.
Pengantar perintah Tee
Tee adalah utilitas baris perintah sederhana yang menerima input dan menulis output ke file dan output standar (yaitu terminal). Perintah Tee sebagian besar akan digunakan dalam skrip shell ketika Anda ingin mengarahkan output ke banyak file dan memproses output lebih lanjut.
Perintah tee adalah bagian dari GNU coreutils
, jadi sudah diinstal sebelumnya dengan semua distribusi Linux.
Untuk memeriksa apakah perintah tee tersedia di distribusi Linux Anda, jalankan perintah berikut:
$ which tee /usr/bin/tee
Untuk memeriksa versi tee, Anda dapat menggunakan --version
bendera.
$ tee --version tee (GNU coreutils) 8.32
Tampilkan bantuan perintah tee
Jika Anda belum pernah menggunakan perintah tee, praktik yang baik adalah memulai dengan bagian bantuan perintah tee.
Anda dapat mengakses halaman manual untuk perintah tee untuk mengetahui lebih banyak tentang utilitas ini.
$ man tee
Anda juga dapat meneruskan --help
argumen ke perintah tee untuk menampilkan manual bantuannya.
$ tee --help
Sintaks perintah tee
Sintaks khas perintah Tee diberikan di bawah ini:
tee [OPSI]… [FILE]…
Ia menerima flag dan nama file di mana output akan diarahkan.
Ada dua flag penting yang akan sering Anda gunakan dengan perintah tee.
-a
,--append
flag :Tambahkan ke file.-i
,-ignore-interrupts
flag :Abaikan sinyal Interupsi.
Sekarang izinkan saya menunjukkan beberapa contoh perintah tee di Linux.
Contoh perintah Tee Linux untuk pemula
Seperti yang sudah dinyatakan, perintah tee akan menerima input dan mencetak output ke terminal serta file yang diteruskan sebagai argumen.
Pada contoh di bawah, perintah tee mengambil input dari echo
perintah dan mencetak output ke terminal serta ke hello.txt
berkas.
$ echo "Welcome to OSTechNix" | tee hello.txt Welcome to OSTechNix
Mari kita periksa konten hello.txt
berkas:
$ cat hello.txt Welcome to OSTechNix
Gunakan perintah tee dengan operator Pipe
Perintah Tee tidak hanya untuk mencetak input standar ke terminal, dan juga menyalurkannya ke program lain untuk diproses lebih lanjut.
Sebagian besar perintah tee akan digunakan dalam kombinasi dengan pipe
(|) operator dalam skrip shell.
Perhatikan contoh di bawah ini.
$ echo "Hello world" | tee hello.txt | rev dlrow olleH
$ cat hello.txt Hello world
Mari saya jelaskan apa yang terjadi ketika Anda menjalankan perintah di atas.
echo
perintah akan mengirimkan outputnya"Hello World"
sebagai masukan ketee
perintah melalui pipa.Tee
perintah akan menyimpan output dalam file yang diberikanhello.txt
.- Alih-alih mencetak output ke terminal, yang merupakan perilaku default,
tee
perintah pass"Hello World"
string sebagai input kerev
perintah yang mencetak string dalam urutan terbalik .
Berikut adalah contoh lain.
Perintah berikut membuat direktori bernama "ostechnix", menghitung jumlah karakter dalam "ostechnix" dan mencetak "ostechnix" ke terminal:
$ echo "ostechnix" | tee >(xargs mkdir) >(wc -c)
Perhatian: Anda mungkin diminta untuk menggunakan sudo
dengan tee
perintah jika Anda membuat file di direktori yang tidak dapat Anda akses sebagai pengguna biasa.
Melewati banyak file
Perintah Tee juga menerima banyak file sebagai argumen dan menyimpan output ke setiap file.
$ echo "Welcome to OSTechNix" | tee hello1.txt hello2.txt hello3.txt Welcome to OSTechNix
Mari kita periksa isi setiap file:
$ cat hello1.txt
Welcome to OSTechNix
$ cat hello2.txt
Welcome to OSTechNix
$ cat hello3.txt
Welcome to OSTechNix
Mengganti vs menambahkan
Perilaku default tee
perintah itu akan mencari jika file sudah tersedia dan menimpa data dengan yang baru. Jika file tidak tersedia, file akan dibuat.
Jika Anda ingin menambahkan data alih-alih menimpa, gunakan -a
atau --append
bendera.
$ cat hello1.txt Welcome to OSTechNix
$ echo "I am using PoP_OS Cosmic Desktop" | tee -a hello1.txt I am using PoP_OS Cosmic Desktop
$ cat hello1.txt Welcome to OSTechNix I am using PoP_OS Cosmic Desktop
Menggabungkan Tee dengan operator Pengalihan
Jika Anda tidak ingin mencetak output ke terminal tetapi hanya menulis output ke file, Anda dapat menggabungkan operator redirection dengan perintah tee.
Ini adalah kasus yang ideal hanya jika perintah tee berada di urutan terakhir dalam rantai pipa Anda. Jika output tee disalurkan ke perintah lain seperti as
ditunjukkan pada contoh pertama, tidak perlu menggunakan operator pengalihan.
$ echo "I am using PoP_OS Cosmic Desktop" | tee -a hello1.txt &> /dev/null
Mengganggu sinyal
Perintah Tee memiliki opsi untuk menginterupsi SIGINT menggunakan -i
atau --ignore-interrupts
bendera.
Artinya - jika Anda menekan CTRL + C
di terminal Anda saat Anda menjalankan perintah tee dengan -i
flag, perintah tee akan menginterupsi sinyal dan melakukan exit dengan membaca EOF dari PIPE.
$ { echo Hello world;sleep 10; } | tee -i hello1.txt
Hello world
^C
$ cat hello1.txt
Hello world
Ringkasan
Tee adalah program sederhana yang mungkin tidak Anda gunakan setiap hari. Namun, mengetahui tentang perintah tee akan berguna saat Anda menulis skrip shell. Semoga membantu.