GNU/Linux >> Belajar Linux >  >> Linux

Cara Merekam dan Memutar Ulang Sesi Terminal Linux menggunakan Perintah 'script' dan 'scriptreplay'

Dalam panduan ini kita akan melihat cara menggunakan skrip dan putar ulang skrip perintah di Linux yang dapat membantu Anda merekam perintah dan outputnya yang dicetak di terminal Anda selama sesi tertentu.

Perintah history adalah utilitas baris perintah yang membantu pengguna untuk menyimpan perintah sebelumnya yang digunakan, meskipun tidak menyimpan output dari suatu perintah.

Jangan' t Nona: Showterm.io – Alat Perekaman Terminal Linux

Jangan' t Nona: 8 Perekam Layar Desktop Terbaik untuk Linux

Oleh karena itu skrip perintah berguna untuk memberi Anda fungsionalitas yang kuat yang membantu Anda merekam semua yang dicetak di terminal Anda ke log_file . Anda kemudian dapat merujuk ke file ini nanti jika Anda ingin melihat output dari perintah dalam riwayat dari log_file .

Anda juga dapat memutar ulang perintah yang Anda rekam menggunakan putar ulang skrip perintah dengan menggunakan informasi waktu.

Cara Merekam Terminal Linux Menggunakan Perintah skrip

skrip perintah menyimpan aktivitas terminal dalam file log yang dapat diberi nama oleh pengguna, ketika nama tidak diberikan oleh pengguna, nama file default, typescript digunakan.

Sintaks Dasar Perintah skrip
# script [options] - -timing=timing_file log_filename

Untuk mulai merekam terminal Linux, ketik script dan tambahkan log nama file seperti yang ditunjukkan.

[email protected] ~ $ script history_log.txt

Script started, file is history_log.txt

Untuk menghentikan skrip , ketik keluar dan tekan [Enter] .

[email protected] ~ $ exit

Script done, file is history_log.txt

Jika skrip tidak dapat menulis ke file log bernama maka itu menunjukkan kesalahan.

Misalnya, pada output di bawah ini, izin file typescript tidak mengizinkan pembacaan, penulisan, dan eksekusi file bukan oleh pengguna atau grup mana pun. Saat Anda menjalankan perintah skrip tanpa nama file log, ia mencoba menulis ke file default, typescript karenanya menunjukkan kesalahan.

[email protected] ~ $ ls -l typescript

--------- 1 ubuntu ubuntu 144 Sep 15 00:00 typescript

[email protected] ~ $ script

script: open failed: typescript: Permission denied
Terminated

Contoh penggunaan perintah skrip

Saya telah menamai file log saya script.log pada contoh di bawah, Anda dapat memberikan nama yang berbeda untuk file Anda.

[email protected] ~ $ script script.log

Sekarang coba jalankan beberapa perintah agar skrip dapat merekam perintah yang dijalankan di terminal.

[email protected] ~ $ cal

   September 2015     
Su Mo Tu We Th Fr Sa  
       1  2  3  4  5  
 6  7  8  9 10 11 12  
13 14 15 16 17 18 19  
20 21 22 23 24 25 26  
27 28 29 30           
                      
[email protected] ~ $ w

 14:49:40 up  4:06,  2 users,  load average: 1.37, 1.56, 1.62
USER     TTY      FROM             [email protected]   IDLE   JCPU   PCPU WHAT
tecmint  tty8     :0               10:45    4:06m  7:40   0.36s x-session-manager
tecmint  pts/5    :0               13:42    4.00s  0.07s  0.00s script script.log

[email protected] ~ $ uptime

 14:49:43 up  4:06,  2 users,  load average: 1.37, 1.56, 1.62

[email protected] ~ $ whoami

tecmint

[email protected] ~ $ echo 'using script'

using script
[email protected] ~ $ exit
exit
Script done, file is script.log

Sekarang coba lihat file log ‘script.log ' untuk semua perintah yang direkam, saat Anda melihat log, Anda menyadari bahwa skrip juga menyimpan umpan baris dan spasi mundur.

[email protected] ~ $ vi script.log
Contoh Keluaran
^[[0m^[[255D^[[01;[email protected]^[[01;34m ~ $^[[00m cal^M
   September 2015     ^M
Su Mo Tu We Th Fr Sa  ^M
       1  2  3  4  5  ^M
 6  7  8  9 10 11 12  ^M
13 14 15 ^[[7m16^[[27m 17 18 19  ^M
20 21 22 23 24 25 26  ^M
27 28 29 30           ^M
                      ^M
^[[01;[email protected]^[[01;34m ~ $^[[00m w^M
 14:49:40 up  4:06,  2 users,  load average: 1.37, 1.56, 1.62^M
USER     TTY      FROM             [email protected]   IDLE   JCPU   PCPU WHAT^M
tecmint  tty8     :0               10:45    4:06m  7:40   0.36s x-session-manager^M
tecmint  pts/5    :0               13:42    4.00s  0.07s  0.00s script script.log^M
^[[01;[email protected]^[[01;34m ~ $^[[00m uptime^M
 14:49:43 up  4:06,  2 users,  load average: 1.37, 1.56, 1.62^M
^[[01;[email protected]^[[01;34m ~ $^[[00m whoami^M
tecmint^M
^[[01;[email protected]^[[01;34m ~ $^[[00m echo ''^Hu'^Hs'^Hi'^Hn'^Hg'^H '^Hs'^Hc'^Hr'^Hi'^Hp'^Ht'^H^M
using script^M
^[[01;[email protected]^[[01;34m ~ $^[[00m exit^M
exit^M

Script done on Wednesday 16 September 2015 02:49:59 PM IST
~                                                              

Anda dapat menggunakan -a opsi untuk menambahkan file log atau TypeScript, mempertahankan konten sebelumnya.

[email protected] ~ $ script -a script.log
Script started, file is script.log

[email protected] ~ $ date
Wed Sep 16 14:59:36 IST 2015


[email protected] ~ $ pwd
/home/tecmint


[email protected] ~ $ whereis script
script: /usr/bin/script /usr/bin/X11/script /usr/share/man/man1/script.1.gz


[email protected] ~ $ whatis script
script (1)           - make typescript of terminal session

Lihat isi skrip, log setelah menggunakan -a opsi untuk menambahkannya.

[email protected] ~ $ vi script.log
Contoh Keluaran
^[[0m^[[255D^[[01;[email protected]^[[01;34m ~ $^[[00m date^M
Wed Sep 16 14:59:36 IST 2015^M
^[[01;[email protected]^[[01;34m ~ $^[[00m pwd^M
/home/tecmint^M
^[[01;[email protected]^[[01;34m ~ $^[[00m whre^H^[[K^H^[[Kereis script^M
script: /usr/bin/script /usr/bin/X11/script /usr/share/man/man1/script.1.gz^M
^[[01;[email protected]^[[01;34m ~ $^[[00m whatis script^M
script (1)           - make typescript of terminal session^M
^[[01;[email protected]^[[01;34m ~ $^[[00m vi s^H^[[K^H^[[K^H^[[K^H^[[Kexit^M
exit^M

Untuk mencatat hasil dari satu perintah selain sesi shell interaktif, gunakan -c pilihan.

[email protected] ~ $ script -c 'hostname' script.log

Script started, file is script.log
tecmint.com
Script done, file is script.log

Jika Anda ingin skrip berjalan dalam mode senyap, Anda dapat menggunakan -q pilihan. Anda tidak akan melihat pesan yang menunjukkan skrip mulai atau keluar.

[email protected] ~ $ script -c 'who'  -q  script.log

tecmint  tty8         2015-09-16 10:45 (:0)
tecmint  pts/5        2015-09-16 13:42 (:0)

Untuk menyetel informasi waktu ke kesalahan standar atau file, gunakan –waktu pilihan. Informasi pengaturan waktu berguna ketika Anda ingin menampilkan kembali output yang disimpan di log_file.

Mari kita mulai skrip dan jalankan perintah berikut w , waktu aktif dan kal untuk direkam.

[email protected] ~ $ script --timing=time.txt script.log
Script started, file is script.log

[email protected] ~ $ w
 15:09:31 up  4:26,  2 users,  load average: 1.38, 1.39, 1.47
USER     TTY      FROM             [email protected]   IDLE   JCPU   PCPU WHAT
tecmint  tty8     :0               10:45    4:26m  8:15   0.38s x-session-manager
tecmint  pts/5    :0               13:42    3.00s  0.09s  0.00s script --timing=time.txt script.log

[email protected] ~ $ uptime
 15:09:36 up  4:26,  2 users,  load average: 1.43, 1.40, 1.48

[email protected] ~ $ cal
   September 2015     
Su Mo Tu We Th Fr Sa  
       1  2  3  4  5  
 6  7  8  9 10 11 12  
13 14 15 16 17 18 19  
20 21 22 23 24 25 26  
27 28 29 30    

Anda dapat melihat script.log dan time.txt file untuk perintah waktu di atas.

[email protected] ~ $ vi script.log
Contoh Keluaran
^[[0m^[[255D^[[01;[email protected]^[[01;34m ~ $^[[00m w^M
 15:12:05 up  4:28,  2 users,  load average: 1.31, 1.37, 1.45^M
USER     TTY      FROM             [email protected]   IDLE   JCPU   PCPU WHAT^M
tecmint  tty8     :0               10:45    4:28m  8:20   0.38s x-session-manager^M
tecmint  pts/5    :0               13:42    5.00s  0.09s  0.00s script --timing=time.txt script.log^M
^[[01;[email protected]^[[01;34m ~ $^[[00m uptime^M
 15:12:07 up  4:28,  2 users,  load average: 1.29, 1.36, 1.45^M
^[[01;[email protected]^[[01;34m ~ $^[[00m cal^M
   September 2015     ^M
Su Mo Tu We Th Fr Sa  ^M
       1  2  3  4  5  ^M
 6  7  8  9 10 11 12  ^M
13 14 15 ^[[7m16^[[27m 17 18 19  ^M
20 21 22 23 24 25 26  ^M
27 28 29 30           ^M
                      ^M

Sekarang lihat time.txt berkas.

[email protected] ~ $ vi time.txt
Contoh Keluaran
0.259669 306
0.037680 829
0.000006 2
0.000002 100
0.000002 2
0.000002 102
0.000019 202
0.000004 2
0.000002 102
0.000015 100
0.000002 2
0.000003 2
0.000002 99
0.000011 2
0.000003 82
...

time.txt file memiliki dua kolom, kolom pertama menunjukkan berapa banyak waktu yang telah berlalu sejak tampilan terakhir dan kolom kedua, menunjukkan jumlah karakter yang telah ditampilkan kali ini.

Gunakan halaman manual dan –bantuan untuk mencari opsi dan bantuan lainnya dalam menggunakan utilitas baris perintah skrip.

Menggunakan pemutaran ulang skrip untuk memutar ulang skrip menggunakan informasi waktu

Pemutaran ulang skrip perintah membantu memutar ulang informasi di log_file . Anda direkam oleh skrip perintah.

Informasi waktu ditentukan oleh -timing=file opsi yang digunakan dengan skrip perintah dan file dalam hal ini adalah file.txt yang digunakan dengan perintah skrip .

Ingat Anda harus menentukan log_file Anda gunakan dengan perintah skrip.

Sekarang mari kita ulangi tiga perintah terakhir w , waktu aktif dan kal yang telah kami jalankan sebagai berikut.

[email protected] ~ $ scriptreplay --timing=time.txt script.log

Saat log_file diputar ulang menggunakan informasi waktu, perintah yang direkam dijalankan dan outputnya ditampilkan pada saat yang sama dengan output aslinya ditampilkan saat direkam.

Ringkasan

Kedua perintah ini, skrip dan putar ulang skrip mudah digunakan dan banyak membantu ketika Anda perlu menjalankan kumpulan perintah yang sama beberapa kali. Mereka banyak membantu dalam mengelola server yang hanya memiliki antarmuka baris perintah untuk interaksi dengan sistem Anda. Semoga panduan ini bermanfaat dan jika Anda memiliki sesuatu untuk ditambahkan atau menghadapi tantangan saat menggunakannya, jangan ragu untuk mengirim komentar.


Linux
  1. Rekam terminal Anda dengan skrip dan pemutaran ulang skrip

  2. Cara Mengatur Prioritas Proses Linux Menggunakan Perintah Nice dan renice

  3. Bagaimana cara Keluar dari terminal Linux menggunakan skrip Python?

  1. Cara merekam terminal Linux Anda menggunakan asciinema

  2. Cara memutar ulang sesi terminal yang direkam dengan perintah skrip Linux

  3. Cara menangkap sesi terminal dan output dengan perintah skrip Linux

  1. Cara Membuat File di Linux Menggunakan Terminal/Command Line

  2. Cara mencadangkan dan memulihkan riwayat Terminal Linux

  3. Bagaimana cara membuka kompresi format file .xz di Linux menggunakan utilitas tar dan xz?