GNU/Linux >> Belajar Linux >  >> Linux

Perintah tee Linux dijelaskan (dengan contoh)

Ketika Anda menjalankan perintah dasar pada terminal, output biasanya dicetak ke terminal yaitu standar keluar. Tetapi bagaimana jika Anda juga dapat menyimpan output dalam file serta mencetaknya ke standar? Inilah yang dilakukan perintah tee. Perintah tee Linux membaca dari stdin ( input standar ) dan kemudian menulis ke stdout ( output standar ) serta ke file atau beberapa file.

Sintaks Dasar dari perintah tee

Perintah tee menggunakan sintaks berikut.

$ perintah | tee [ options ] file

Sekarang mari kita contoh beberapa contoh penggunaan perintah tee.

Penggunaan dasar perintah tee

Misalkan kita ingin mencetak memori dan menukar penggunaan menggunakan gratis perintah dan simpan hasilnya dalam file bernama memory_usage.txt . Perintah tee akan dipanggil sebagai berikut.

$ free -h | tee memory_usage.txt

Perintah tee membaca dari perintah, menyimpan output ke memory_usage.txt file, lalu mencetaknya ke standar.

Untuk mengonfirmasi bahwa output telah disimpan ke memory_usage.txt file jalankan perintah cat seperti yang ditunjukkan.

$ cat memory_usage.txt

Tulis output ke beberapa file

Selain itu, Anda dapat menyimpan output ke beberapa file seperti yang ditunjukkan

$ perintah | tee [ pilihan ] file1 file2 …

Pada perintah di bawah ini, string “Hai, Selamat Datang di Linux” disimpan dalam dua file teks:file1.txt dan file2.txt

$ echo Hey, Welcome to Linux | tee file1.txt file2.txt

Menambahkan konten ke file

Biasanya, perintah tee menimpa file, dan ini tidak selalu diinginkan karena dapat menghapus data penting yang sudah ada. Untungnya, Anda dapat menggunakan -a opsi untuk menambahkan teks ke file. Mari kita uji ini.

Pertama, kita akan menulis output dari uptime perintah ke stats.txt file seperti yang ditunjukkan.

$ waktu aktif | tee stats.txt

Gunakan kucing perintah untuk memverifikasi ini.

$ cat stats.txt

Selanjutnya, kita akan menambahkan output dari free -h perintah yang mencetak memori kita dan menukar penggunaan ke file.

$ free -h | tee -a stats.txt

Sekali lagi, verifikasi konten stats.txt mengajukan. Kali ini, file akan menampilkan output dari dua perintah seperti yang ditunjukkan pada gambar di bawah. Ini karena kami menambahkan output dari free -h perintah ke stats.txt file dan oleh karena itu teks yang ada tidak terpengaruh.

Tekan output dari perintah tee

Jika Anda tidak ingin memiliki keluaran tee perintah dicetak ke standar keluar, Anda dapat mengarahkannya ke /dev/null yang merupakan perangkat khusus yang membuang informasi yang dimasukkan ke dalamnya.

Ambil contoh di bawah ini di mana kita mencetak output dari df -Th perintah ke file teks tetapi menekan output pada terminal.

$ df -Th | tee disk_usage.txt >/dev/null

Biarkan perintah tee mengabaikan interupsi

Terkadang, Anda mungkin ingin menghentikan perintah yang terus berjalan. Ketika itu terjadi, Anda mungkin mempertimbangkan untuk meminta perintah tee keluar dengan anggun bahkan setelah gangguan program. Untuk melakukannya, gunakan -i atau –ignore-interrupts opsi yang disediakan dalam sintaks yang ditampilkan.

$ perintah | tee -i nama file

Perintah ping di bawah ini terus mengirimkan permintaan ping ke DNS Google ( 8.8.8.8 ). Kami telah menghentikan perintah setelah 4 permintaan ping berturut-turut. Untuk kaos perintah untuk keluar dengan anggun, aktifkan -i pilihan.

$ ping 8.8.8.8 | tee -i ping_stats.txt

Tanpa -i pilihan, output dan ringkasan statistik tidak akan dicetak.

Gunakan perintah tee dengan sudo

Saat memodifikasi file yang dimiliki oleh pengguna root atau pengguna login yang berbeda, cukup menggunakan perintah tee tanpa menjalankan perintah sudo akan menghasilkan kesalahan.

Pada contoh di bawah, kita membuat repositori baru bernama anydesk-stable.list untuk aplikasi AnyDesk di /etc/apt/sources.list.d jalur yang merupakan cadangan untuk pengguna root.

$ echo "deb http://deb.anydesk.com/ all main" | tee /etc/apt/sources.list.d/anydesk-stable.list

Seperti yang diharapkan, kami mengalami kesalahan 'izin ditolak' karena kami tidak memiliki izin untuk membuat atau memodifikasi file di jalur tersebut.

Solusinya adalah mendahului tee dengan perintah sudo seperti yang ditunjukkan.

$ echo "deb http://deb.anydesk.com/ all main" | sudo tee /etc/apt/sources.list.d/anydesk-stable.list

Pada kesempatan ini, perintah berhasil setelah menempatkan sudo sebelum tee.

Dapatkan bantuan dengan perintah tee

Untuk opsi perintah lainnya dan bantuan dalam menggunakan perintah tee, jalankan perintah di bawah ini.

$ tee --help

Selain itu, jelajahi halaman manual seperti yang ditunjukkan

$ man tee

Untuk memeriksa versi, jalankan:

$ tee --version

Ringkasan

Ini semua tentang perintah tee Linux. Khususnya, perintah membaca dari standar in ( stdin ) dan setelah itu menulis ke standar out ( stdout ) dan file(s).


Linux
  1. Perintah Tee Linux dengan Contoh

  2. Perintah shutdown Linux Dijelaskan dengan Contoh

  3. Perintah Traceroute Linux, Dijelaskan dengan Contoh

  1. Perintah wc Linux dengan Contoh

  2. Perintah potong Linux Dijelaskan dengan 6 Contoh

  3. Perintah JQ di Linux dengan Contoh

  1. 9 Contoh Perintah tee di Linux

  2. Perintah ip Linux dengan Contoh

  3. Perintah tee Linux Dijelaskan untuk Pemula (6 Contoh)