GNU/Linux >> Belajar Linux >  >> Linux

9 Contoh Perintah tee di Linux

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.com 

Saat 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
  1. Perintah Tee Linux dengan Contoh

  2. 7 Contoh Perintah Linux df

  3. Contoh Perintah rm di Linux

  1. 8 Contoh Perintah Linux TR

  2. Contoh Perintah ps di Linux

  3. sa Contoh Perintah di Linux

  1. w Contoh Perintah di Linux

  2. Contoh Perintah ac di Linux

  3. Contoh Perintah df di Linux