Perintah Tee Linux adalah alat baris perintah, ia membaca dari input standar dan menulis hasilnya ke output standar dan file pada saat yang bersamaan. Dengan kata lain, kita dapat mengatakan, perintah tee di Linux digunakan untuk memukul dua burung dengan satu batu:membaca dari input standar dan mencetak hasilnya pada file dan ke output standar secara bersamaan. Apa yang kita maksud dengan ini? Dalam panduan ini, kami menjelaskan lebih banyak tentang perintah tee Linux dan menggunakan beberapa contoh untuk mendemonstrasikan penggunaannya.
Sintaks Perintah Tee
Sintaks perintah tee cukup sederhana dan mengambil format berikut:
$ tee OPTIONS nama file
Berikut adalah beberapa opsi yang dapat Anda gunakan dengan perintah tee:
Dalam sintaks perintah tee, nama file mengacu pada satu atau beberapa file.
Dengan mengingat hal itu, mari kita lihat beberapa contoh tentang bagaimana perintah digunakan.
Contoh 1) Penggunaan dasar perintah tee
Seperti yang dijelaskan sebelumnya, fungsi utama dari perintah tee adalah untuk menampilkan output dari suatu perintah (stdout) dan menyimpannya dalam sebuah file. Pada contoh di bawah ini, perintah yang kita periksa perangkat blok di sistem kita dan menyalurkan hasilnya ke perintah tee yang menampilkan output ke terminal sekaligus menyimpannya pada file baru bernama block_devices.txt
$ lsblk | tee block_devices.txt
Jangan ragu untuk memeriksa isi file block_devices.txt menggunakan perintah cat seperti yang ditunjukkan:
$ cat block_devices.txt
Contoh 2) Simpan keluaran perintah ke beberapa file menggunakan tee
Selain itu, Anda dapat menulis output perintah ke beberapa file yang dipisahkan oleh spasi seperti yang ditunjukkan pada sintaks di bawah ini.
$ perintah | file tee1 file2 file3 . . .
Dalam contoh berikut, kami telah memanggil perintah hostnamectl untuk mencetak nama host sistem kami di antara detail lainnya dan menyimpan output standar ke dua file file1.txt, dan file2.txt
$ hostnameectl | tee file1.txt file2.txt
Sekali lagi, Anda dapat mengkonfirmasi keberadaan output dalam dua file menggunakan perintah cat seperti yang ditunjukkan:
$ cat file1.txt$ cat file2.txt
Contoh 3) Menekan output dari perintah tee
Jika Anda ingin menyembunyikan atau menekan perintah tee dari mencetak output di layar, maka arahkan output ke /dev/null seperti yang ditunjukkan:
$ perintah | file tee> /dev/null
Misalnya,
$ df -Th | tee file4.txt> /dev/null
Contoh 4) Tambahkan output ke file dengan perintah tee
Secara default, perintah tee menimpa isi file. Untuk menambahkan keluaran dan mencegah penghapusan konten saat ini, gunakan opsi -a atau –tambahkan.
$ perintah | tee -a file
Pada perintah kedua, seperti yang ditunjukkan, kami telah menambahkan output dari perintah date ke file1.txt yang sudah berisi informasi tentang perangkat USB pada sistem.
$ tanggal | tee -a file1.txt
Contoh 5) Gunakan tee bersama dengan perintah sudo
Misalkan sebagai pengguna sudo, Anda ingin menulis pada file yang dimiliki oleh pengguna root. Secara alami, setiap operasi yang ditingkatkan akan mengharuskan Anda memanggil pengguna sudo sebelum perintah.
Untuk mencapai ini, cukup awali perintah tee dengan sudo seperti yang ditunjukkan di bawah ini.
$ echo "10.200.50.20 db-01" | sudo tee -a /etc/hosts/
Jadi, tee menerima output dari perintah echo di sebelah kiri dan meningkatkannya menggunakan perintah sudo yang akhirnya menambahkan output ke file.
Contoh 6) Redirect output dari satu perintah ke perintah lain menggunakan perintah tee
Menggunakan perintah tee, kita dapat dengan mudah mengarahkan output dari satu perintah ke perintah lain. Di sini output dari perintah pertama akan bertindak sebagai input untuk perintah kedua. Contoh ditunjukkan di bawah ini:
$ grep 'root' /etc/passwd | tee /tmp/passwd.tmp | wc -l2$ cat /tmp/passwd.tmproot:x:0:0:root:/root:/bin/bashoperator:x:11:0:operator:/root:/sbin/nologin$
Contoh 7) Simpan perubahan ke file dalam editor vi dengan perintah tee
Mari kita asumsikan Anda bekerja sebagai pengguna non-root dan Anda membuat perubahan pada file milik root dan Anda lupa meletakkan sudo Di depan perintah dan sekarang Anda ingin menyimpan perubahan, contoh ditunjukkan di bawah ini:
$ vi /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4192.168.1.60 mail.linuxtechi.com192.168.1.50 ns.linuxtechi.com192.168.1.40 pxe.linuxtechi.comSaat menyimpan perubahan ke file, Anda akan mendapatkan pesan hanya baca,
Sekarang untuk menyimpan perubahan ke file /etc/hosts di dalam editor vi, jalankan
:w !sudo tee %
Ini akan meminta Anda untuk memasukkan kata sandi pengguna, jika pengguna memiliki hak sudo maka perubahan akan disimpan.
Contoh 8) Abaikan sinyal Interrupt saat menggunakan perintah tee
Menggunakan opsi '-i' dalam perintah tee dapat mengabaikan sinyal interupsi (CTRL-C), contoh ditunjukkan di bawah ini:
$ ping -c 5 linuxtechi.com | tee -i /tmp/pingtest.tmp
Contoh 9) penggunaan perintah tee dalam skrip shell
Perintah Tee juga sering digunakan dalam skrip shell, salah satu contoh umum tercantum di bawah ini:
$ vi basic-script.sh#!/bin/bashLOGFILE=/tmp/basic-logs-$(date +%d%m%Y)FLAVOR=$(cat /etc/*-release | grep -w 'NAME=' | cut -d"=" -f2 | awk '{print $1}'| sed 's/"//g')if [ $FLAVOR ==CentOS ];then dmesg | grep -i 'error' | tee -a $LOGFILE grep -i 'installed' /var/log/dnf.log | tee -a $LOGFILEelse echo 'do nothing'fi
Seperti yang dapat kita lihat pada skrip shell linux di atas, kita menggunakan perintah tee untuk menambahkan output dari dua perintah ke file log hanya jika OS-nya adalah CentOS.
Kesimpulan
Ini mengakhiri topik hari ini. Jangan ragu untuk mempertimbangkan. Umpan balik Anda sangat kami harapkan. Dalam panduan ini, kami membahas perintah tee Linux.
Linux