സ്ക്രിപ്റ്റ്, സ്ക്രിപ്റ്റ് പ്ലേ കമാൻഡുകൾ ഉപയോഗിച്ച് ലിനക്സ് ടെർമിനൽ സെഷനുകൾ എങ്ങനെ റെക്കോർഡ് ചെയ്ത് വീണ്ടും പ്ലേ ചെയ്യാം
ഈ ഗൈഡിൽ, ഒരു നിശ്ചിത സെഷനിൽ നിങ്ങളുടെ ടെർമിനലിൽ പ്രിന്റ് ചെയ്uതിരിക്കുന്ന കമാൻഡുകളും അവയുടെ ഔട്ട്uപുട്ടും റെക്കോർഡ് ചെയ്യാൻ നിങ്ങളെ സഹായിക്കുന്ന ഒരു സ്uക്രിപ്റ്റും സ്uക്രിപ്റ്റ് പ്ലേ കമാൻഡുകളും ലിനക്uസിൽ എങ്ങനെ ഉപയോഗിക്കാമെന്ന് നോക്കാൻ പോകുന്നു.
ഒരു കമാൻഡിന്റെ ഔട്ട്പുട്ട് സംഭരിക്കുന്നില്ലെങ്കിലും, മുമ്പ് ഉപയോഗിച്ച കമാൻഡ് സംഭരിക്കാൻ ഉപയോക്താക്കളെ സഹായിക്കുന്ന ഒരു മികച്ച കമാൻഡ്-ലൈൻ യൂട്ടിലിറ്റിയാണ് ഹിസ്റ്ററി കമാൻഡ്.
അതിനാൽ നിങ്ങളുടെ ടെർമിനലിൽ പ്രിന്റ് ചെയ്uതിരിക്കുന്നതെല്ലാം ഒരു log_file-ലേക്ക് റെക്കോർഡ് ചെയ്യാൻ നിങ്ങളെ സഹായിക്കുന്ന ശക്തമായ ഒരു പ്രവർത്തനം നൽകുന്നതിന് സ്uക്രിപ്റ്റ് കമാൻഡ് ഉപയോഗപ്രദമാണ്. log_file-ൽ നിന്ന് ചരിത്രത്തിലെ ഒരു കമാൻഡിന്റെ ഔട്ട്പുട്ട് കാണണമെങ്കിൽ പിന്നീട് നിങ്ങൾക്ക് ഈ ഫയൽ റഫർ ചെയ്യാം.
സ്uക്രിപ്റ്റ്uപ്ലേ കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾ റെക്കോർഡ് ചെയ്uത കമാൻഡുകൾ ടൈമിംഗ് വിവരങ്ങൾ ഉപയോഗിച്ച് നിങ്ങൾക്ക് റീപ്ലേ ചെയ്യാനും കഴിയും.
സ്ക്രിപ്റ്റ് കമാൻഡ് ഉപയോഗിച്ച് ലിനക്സ് ടെർമിനൽ എങ്ങനെ റെക്കോർഡ് ചെയ്യാം
ഒരു ഉപയോക്താവിന് പേരിടാൻ കഴിയുന്ന ഒരു ലോഗ് ഫയലിൽ സ്ക്രിപ്റ്റ് കമാൻഡ് ടെർമിനൽ പ്രവർത്തനങ്ങൾ സംഭരിക്കുന്നു, ഒരു ഉപയോക്താവ് ഒരു പേര് നൽകാത്തപ്പോൾ, സ്ഥിരസ്ഥിതി ഫയലിന്റെ പേര്, ടൈപ്പ്സ്ക്രിപ്റ്റ് ഉപയോഗിക്കുന്നു.
# script [options] - -timing=timing_file log_filename
Linux ടെർമിനലിന്റെ റെക്കോർഡിംഗ് ആരംഭിക്കാൻ, സ്uക്രിപ്റ്റ് ടൈപ്പ് ചെയ്uത് കാണിച്ചിരിക്കുന്നതുപോലെ ലോഗ് ഫയലിന്റെ പേര് ചേർക്കുക.
[email ~ $ script history_log.txt Script started, file is history_log.txt
സ്ക്രിപ്റ്റ് നിർത്താൻ, എക്സിറ്റ് ടൈപ്പ് ചെയ്ത് [Enter] അമർത്തുക.
[email ~ $ exit Script done, file is history_log.txt
പേരിട്ട ലോഗ് ഫയലിലേക്ക് സ്ക്രിപ്റ്റിന് എഴുതാൻ കഴിയുന്നില്ലെങ്കിൽ, അത് ഒരു പിശക് കാണിക്കുന്നു.
ഉദാഹരണത്തിന്, ചുവടെയുള്ള ഔട്ട്uപുട്ടിൽ, ഫയൽ ടൈപ്പ്uസ്uക്രിപ്uറ്റിന്റെ അനുമതികൾ ഏതെങ്കിലും ഉപയോക്താവോ ഗ്രൂപ്പോ അല്ല ഫയൽ വായിക്കാനും എഴുതാനും നടപ്പിലാക്കാനും അനുവദിക്കുന്നില്ല. നിങ്ങൾ ഒരു ലോഗ് ഫയലിന്റെ പേരില്ലാതെ സ്ക്രിപ്റ്റ് കമാൻഡ് പ്രവർത്തിപ്പിക്കുമ്പോൾ, അത് സ്ഥിരസ്ഥിതി ഫയലിലേക്ക് എഴുതാൻ ശ്രമിക്കുന്നു, ടൈപ്പ്സ്ക്രിപ്റ്റ് അതിനാൽ ഒരു പിശക് കാണിക്കുന്നു.
[email ~ $ ls -l typescript --------- 1 ubuntu ubuntu 144 Sep 15 00:00 typescript [email ~ $ script script: open failed: typescript: Permission denied Terminated
ചുവടെയുള്ള ഉദാഹരണത്തിൽ ഞാൻ എന്റെ ലോഗ് ഫയലിന് script.log എന്ന് പേരിട്ടു, നിങ്ങളുടെ ഫയലിന് മറ്റൊരു പേര് നൽകാം.
[email ~ $ script script.log
ടെർമിനലിൽ എക്സിക്യൂട്ട് ചെയ്ത കമാൻഡുകൾ റെക്കോർഡ് ചെയ്യാൻ സ്ക്രിപ്റ്റിനെ അനുവദിക്കുന്നതിന് ഇപ്പോൾ കുറച്ച് കമാൻഡുകൾ എക്സിക്യൂട്ട് ചെയ്യാൻ ശ്രമിക്കുക.
[email ~ $ 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 ~ $ w 14:49:40 up 4:06, 2 users, load average: 1.37, 1.56, 1.62 USER TTY FROM [email 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 ~ $ uptime 14:49:43 up 4:06, 2 users, load average: 1.37, 1.56, 1.62 [email ~ $ whoami tecmint [email ~ $ echo 'using script' using script [email ~ $ exit exit Script done, file is script.log
റെക്കോർഡ് ചെയ്uത എല്ലാ കമാൻഡുകൾക്കുമായി 'script.log' എന്ന ലോഗ് ഫയൽ ഇപ്പോൾ കാണാൻ ശ്രമിക്കുക, നിങ്ങൾ ലോഗ് കാണുമ്പോൾ സ്uക്രിപ്റ്റ് ലൈൻ ഫീഡുകളും ബാക്ക്uസ്uപെയ്uസും സംഭരിക്കുന്നുണ്ടെന്ന് നിങ്ങൾ മനസ്സിലാക്കുന്നു.
[email ~ $ vi script.log
^[[0m^[[255D^[[01;[email ^[[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 ^[[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 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 ^[[01;34m ~ $^[[00m uptime^M 14:49:43 up 4:06, 2 users, load average: 1.37, 1.56, 1.62^M ^[[01;[email ^[[01;34m ~ $^[[00m whoami^M tecmint^M ^[[01;[email ^[[01;34m ~ $^[[00m echo ''^Hu'^Hs'^Hi'^Hn'^Hg'^H '^Hs'^Hc'^Hr'^Hi'^Hp'^Ht'^H^M using script^M ^[[01;[email ^[[01;34m ~ $^[[00m exit^M exit^M Script done on Wednesday 16 September 2015 02:49:59 PM IST ~
ലോഗ് ഫയലോ ടൈപ്പ്uസ്uക്രിപ്റ്റോ ചേർക്കുന്നതിന് നിങ്ങൾക്ക് -a ഓപ്ഷൻ ഉപയോഗിക്കാം, മുമ്പത്തെ ഉള്ളടക്കങ്ങൾ നിലനിർത്താം.
[email ~ $ script -a script.log Script started, file is script.log [email ~ $ date Wed Sep 16 14:59:36 IST 2015 [email ~ $ pwd /home/tecmint [email ~ $ whereis script script: /usr/bin/script /usr/bin/X11/script /usr/share/man/man1/script.1.gz [email ~ $ whatis script script (1) - make typescript of terminal session
സ്ക്രിപ്റ്റിലെ ഉള്ളടക്കങ്ങൾ കാണുക, അത് കൂട്ടിച്ചേർക്കാൻ -a ഓപ്ഷൻ ഉപയോഗിച്ചതിന് ശേഷം ലോഗിൻ ചെയ്യുക.
[email ~ $ vi script.log
^[[0m^[[255D^[[01;[email ^[[01;34m ~ $^[[00m date^M Wed Sep 16 14:59:36 IST 2015^M ^[[01;[email ^[[01;34m ~ $^[[00m pwd^M /home/tecmint^M ^[[01;[email ^[[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 ^[[01;34m ~ $^[[00m whatis script^M script (1) - make typescript of terminal session^M ^[[01;[email ^[[01;34m ~ $^[[00m vi s^H^[[K^H^[[K^H^[[K^H^[[Kexit^M exit^M
ഒരു ഇന്ററാക്ടീവ് ഷെൽ സെഷൻ ഒഴികെയുള്ള ഒരൊറ്റ കമാൻഡിന്റെ ഫലങ്ങൾ ലോഗ് ചെയ്യുന്നതിന്, -c ഓപ്ഷൻ ഉപയോഗിക്കുക.
[email ~ $ script -c 'hostname' script.log Script started, file is script.log linux-console.net Script done, file is script.log
സ്uക്രിപ്റ്റ് നിശബ്uദ മോഡിൽ പ്രവർത്തിപ്പിക്കണമെങ്കിൽ, നിങ്ങൾക്ക് -q ഓപ്ഷൻ ഉപയോഗിക്കാം. സ്ക്രിപ്റ്റ് ആരംഭിക്കുകയോ പുറത്തുകടക്കുകയോ ചെയ്യുന്ന ഒരു സന്ദേശം നിങ്ങൾ കാണില്ല.
[email ~ $ script -c 'who' -q script.log tecmint tty8 2015-09-16 10:45 (:0) tecmint pts/5 2015-09-16 13:42 (:0)
സമയ വിവരങ്ങൾ സ്റ്റാൻഡേർഡ് പിശക് അല്ലെങ്കിൽ ഫയലായി സജ്ജീകരിക്കുന്നതിന് -ടൈമിംഗ് ഓപ്ഷൻ ഉപയോഗിക്കുക. log_file-ൽ സംഭരിച്ചിരിക്കുന്ന ഔട്ട്uപുട്ട് വീണ്ടും പ്രദർശിപ്പിക്കാൻ നിങ്ങൾ താൽപ്പര്യപ്പെടുമ്പോൾ സമയ വിവരങ്ങൾ ഉപയോഗപ്രദമാണ്.
നമുക്ക് സ്ക്രിപ്റ്റ് ആരംഭിച്ച് ഇനിപ്പറയുന്ന കമാൻഡുകൾ w, uptime, cal എന്നിവ രേഖപ്പെടുത്താം.
[email ~ $ script --timing=time.txt script.log Script started, file is script.log [email ~ $ w 15:09:31 up 4:26, 2 users, load average: 1.38, 1.39, 1.47 USER TTY FROM [email 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 ~ $ uptime 15:09:36 up 4:26, 2 users, load average: 1.43, 1.40, 1.48 [email ~ $ 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
മുകളിലുള്ള ടൈമിംഗ് കമാൻഡിനായി നിങ്ങൾക്ക് script.log, time.txt ഫയലുകൾ കാണാൻ കഴിയും.
tecmin[email ~ $ vi script.log
^[[0m^[[255D^[[01;[email ^[[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 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 ^[[01;34m ~ $^[[00m uptime^M 15:12:07 up 4:28, 2 users, load average: 1.29, 1.36, 1.45^M ^[[01;[email ^[[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
ഇപ്പോൾ time.txt ഫയൽ കാണുക.
[email ~ $ vi time.txt
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 ഫയലിന് രണ്ട് കോളങ്ങളുണ്ട്, ആദ്യ കോളം അവസാന ഡിസ്uപ്ലേയ്ക്ക് ശേഷം എത്ര സമയം കഴിഞ്ഞുവെന്ന് കാണിക്കുന്നു, രണ്ടാമത്തെ കോളം ഇത്തവണ പ്രദർശിപ്പിച്ച പ്രതീകങ്ങളുടെ എണ്ണം കാണിക്കുന്നു.
കൂടുതൽ ഓപ്uഷനുകൾ തേടുന്നതിനും സ്uക്രിപ്റ്റ് കമാൻഡ്-ലൈൻ യൂട്ടിലിറ്റി ഉപയോഗിക്കുന്നതിന് സഹായിക്കുന്നതിനും മാൻ പേജും –സഹായവും ഉപയോഗിക്കുക.
സമയ വിവരങ്ങൾ ഉപയോഗിച്ച് സ്ക്രിപ്റ്റുകൾ റീപ്ലേ ചെയ്യാൻ സ്ക്രിപ്റ്റ് പ്ലേ ഉപയോഗിക്കുന്നു
സ്uക്രിപ്റ്റ് കമാൻഡ് റെക്കോർഡ് ചെയ്uത നിങ്ങളുടെ log_file-ലെ വിവരങ്ങൾ വീണ്ടും പ്ലേ ചെയ്യാൻ scriptreplay കമാൻഡ് സഹായിക്കുന്നു.
സ്uക്രിപ്റ്റ് കമാൻഡിനൊപ്പം ഉപയോഗിക്കുന്ന -timing=file ഓപ്ഷൻ ഉപയോഗിച്ചാണ് സമയ വിവരങ്ങൾ നിർവചിക്കുന്നത്, ഈ സാഹചര്യത്തിൽ സ്uക്രിപ്റ്റ് കമാൻഡിനൊപ്പം ഉപയോഗിച്ച ഫയൽ file.txt ആണ്.
സ്ക്രിപ്റ്റ് കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾ ഉപയോഗിച്ച log_file വ്യക്തമാക്കേണ്ടതുണ്ടെന്ന് ഓർമ്മിക്കുക.
ഇപ്പോൾ നമ്മൾ റൺ ചെയ്ത അവസാനത്തെ മൂന്ന് കമാൻഡുകൾ w, uptime, cal എന്നിവ വീണ്ടും പ്ലേ ചെയ്യാം.
[email ~ $ scriptreplay --timing=time.txt script.log
സമയ വിവരങ്ങൾ ഉപയോഗിച്ച് log_file റീപ്ലേ ചെയ്യുമ്പോൾ, റെക്കോർഡ് ചെയ്ത കമാൻഡുകൾ റൺ ചെയ്യപ്പെടുകയും അവയുടെ ഔട്ട്പുട്ട് റെക്കോർഡ് ചെയ്യുമ്പോൾ യഥാർത്ഥ ഔട്ട്പുട്ട് പ്രദർശിപ്പിച്ച അതേ സമയം തന്നെ പ്രദർശിപ്പിക്കുകയും ചെയ്യും.
സംഗ്രഹം
ഈ രണ്ട് കമാൻഡുകൾ, സ്uക്രിപ്uറ്റ്, സ്uക്രിപ്റ്റ്uപ്ലേ എന്നിവ ഉപയോഗിക്കാൻ എളുപ്പമാണ് ഒപ്പം ഒരേ ബാച്ച് കമാൻഡുകൾ പലതവണ പ്രവർത്തിപ്പിക്കേണ്ടിവരുമ്പോൾ വളരെയധികം സഹായിക്കുന്നു. നിങ്ങളുടെ സിസ്റ്റവുമായുള്ള ആശയവിനിമയത്തിന് കമാൻഡ്-ലൈൻ ഇന്റർഫേസ് മാത്രമുള്ള സെർവറുകൾ നിയന്ത്രിക്കുന്നതിന് അവ വളരെയധികം സഹായിക്കുന്നു. ഈ ഗൈഡ് ഉപയോഗപ്രദമായിരുന്നുവെന്ന് പ്രതീക്ഷിക്കുന്നു, അവ ഉപയോഗിക്കുമ്പോൾ നിങ്ങൾക്ക് എന്തെങ്കിലും ചേർക്കാനോ വെല്ലുവിളി നേരിടാനോ ഉണ്ടെങ്കിൽ, ഒരു അഭിപ്രായം പോസ്റ്റ് ചെയ്യാൻ മടിക്കരുത്.