Linux-ൽ തല, വാൽ, പൂച്ച കമാൻഡുകൾ ഉപയോഗിച്ച് ഫയലുകൾ ഫലപ്രദമായി കൈകാര്യം ചെയ്യുക
ഫയലിന്റെ ഉള്ളടക്കങ്ങൾ കാണുന്നതിന് Linux നൽകുന്ന നിരവധി കമാൻഡുകളും പ്രോഗ്രാമുകളും ഉണ്ട്. ഫയലുകൾ ഉപയോഗിച്ച് പ്രവർത്തിക്കുന്നത് വളരെ ബുദ്ധിമുട്ടുള്ള കാര്യമാണ്, മിക്ക കമ്പ്യൂട്ടർ ഉപയോക്താക്കളും അത് പുതുമുഖം, സാധാരണ ഉപയോക്താവ്, നൂതന ഉപയോക്താവ്, ഡവലപ്പർ, അഡ്മിൻ തുടങ്ങിയവർ ചെയ്യുന്നു. ഫയലുകൾ കാര്യക്ഷമമായും കാര്യക്ഷമമായും പ്രവർത്തിക്കുന്നത് ഒരു കലയാണ്.
ഇന്ന്, ഈ ലേഖനത്തിൽ നമ്മൾ തല, വാൽ, പൂച്ച എന്ന് വിളിക്കുന്ന ഏറ്റവും ജനപ്രിയമായ കമാൻഡുകൾ ചർച്ചചെയ്യും, അത്തരം കമാൻഡുകളെക്കുറിച്ച് നമ്മിൽ ഭൂരിഭാഗത്തിനും ഇതിനകം അറിയാം, എന്നാൽ ആവശ്യമുള്ളപ്പോൾ അത് നടപ്പിലാക്കുന്നത് നമ്മളിൽ വളരെ കുറച്ചുപേർ മാത്രമാണ്.
1. ഹെഡ് കമാൻഡ്
ഹെഡ് കമാൻഡ് ഏതെങ്കിലും ഫയൽ നാമത്തിന്റെ ആദ്യ പത്ത് വരികൾ വായിക്കുന്നു. ഹെഡ് കമാൻഡിന്റെ അടിസ്ഥാന വാക്യഘടന ഇതാണ്:
head [options] [file(s)]
ഉദാഹരണത്തിന്, ഇനിപ്പറയുന്ന കമാൻഡ് '/etc/passwd' എന്ന പേരിലുള്ള ഫയലിന്റെ ആദ്യ പത്ത് വരികൾ പ്രദർശിപ്പിക്കും.
# head /etc/passwd root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh man:x:6:12:man:/var/cache/man:/bin/sh lp:x:7:7:lp:/var/spool/lpd:/bin/sh mail:x:8:8:mail:/var/mail:/bin/sh news:x:9:9:news:/var/spool/news:/bin/sh
ഒന്നിൽ കൂടുതൽ ഫയലുകൾ നൽകിയാൽ, ഓരോ ഫയലിന്റെയും ആദ്യ പത്ത് വരികൾ വെവ്വേറെ ഹെഡ് കാണിക്കും. ഉദാഹരണത്തിന്, ഇനിപ്പറയുന്ന കമാൻഡ് ഓരോ ഫയലിന്റെയും പത്ത് വരികൾ കാണിക്കും.
# head /etc/passwd /etc/shadow ==> /etc/passwd <== root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin ==> /etc/shadow <== root:$6$85e1:15740:0:99999:7::: bin:*:15513:0:99999:7::: daemon:*:15513:0:99999:7::: adm:*:15513:0:99999:7::: lp:*:15513:0:99999:7::: sync:*:15513:0:99999:7::: shutdown:*:15513:0:99999:7::: halt:*:15513:0:99999:7::: mail:*:15513:0:99999:7::: uucp:*:15513:0:99999:7:::
സ്ഥിരസ്ഥിതി പത്തേക്കാൾ കൂടുതൽ വരികൾ വീണ്ടെടുക്കാൻ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, വീണ്ടെടുക്കേണ്ട വരികളുടെ എണ്ണം പറയുന്ന ഒരു പൂർണ്ണസംഖ്യയ്uക്കൊപ്പം '-n' ഓപ്ഷൻ ഉപയോഗിക്കുന്നു. ഉദാഹരണത്തിന്, ഇനിപ്പറയുന്ന കമാൻഡ് '/var/log/yum.log' ഫയലിൽ നിന്നുള്ള ആദ്യത്തെ 5 വരികൾ പ്രദർശിപ്പിക്കും.
# head -n5 /var/log/yum.log Jan 10 00:06:49 Updated: openssl-1.0.1e-16.el6_5.4.i686 Jan 10 00:06:56 Updated: openssl-devel-1.0.1e-16.el6_5.4.i686 Jan 10 00:11:42 Installed: perl-Net-SSLeay-1.35-9.el6.i686 Jan 13 22:13:31 Installed: python-configobj-4.6.0-3.el6.noarch Jan 13 22:13:36 Installed: terminator-0.95-3.el6.rf.noarch
വാസ്തവത്തിൽ, ‘-n’ ഓപ്ഷൻ ഉപയോഗിക്കേണ്ട ആവശ്യമില്ല. മുകളിലുള്ള കമാൻഡിന് സമാനമായ ഫലം ലഭിക്കുന്നതിന് ഹൈഫൻ മാത്രം നൽകി സ്uപെയ്uസുകളില്ലാതെ പൂർണ്ണസംഖ്യ വ്യക്തമാക്കുക.
# head -5 /var/log/yum.log Jan 10 00:06:49 Updated: openssl-1.0.1e-16.el6_5.4.i686 Jan 10 00:06:56 Updated: openssl-devel-1.0.1e-16.el6_5.4.i686 Jan 10 00:11:42 Installed: perl-Net-SSLeay-1.35-9.el6.i686 Jan 13 22:13:31 Installed: python-configobj-4.6.0-3.el6.noarch Jan 13 22:13:36 Installed: terminator-0.95-3.el6.rf.noarch
ഹെഡ് കമാൻഡിന് '-c' ഓപ്ഷൻ ഉപയോഗിച്ച് ആവശ്യമുള്ള എത്ര ബൈറ്റുകളും പ്രദർശിപ്പിക്കാൻ കഴിയും, തുടർന്ന് പ്രദർശിപ്പിക്കേണ്ട ബൈറ്റുകളുടെ എണ്ണം. ഉദാഹരണത്തിന്, ഇനിപ്പറയുന്ന കമാൻഡ് നൽകിയിരിക്കുന്ന ഫയലിന്റെ ആദ്യത്തെ 45 ബൈറ്റുകൾ പ്രദർശിപ്പിക്കും.
# head -c45 /var/log/yum.log Jan 10 00:06:49 Updated: openssl-1.0.1e-16.el
2. ടെയിൽ കമാൻഡ്
ഏത് ടെക്സ്റ്റ് ഫയലിന്റെയും അവസാനത്തെ പത്ത് വരികൾ പ്രദർശിപ്പിക്കാൻ ടെയിൽ കമാൻഡ് നിങ്ങളെ അനുവദിക്കുന്നു. മുകളിലെ ഹെഡ് കമാൻഡിന് സമാനമായി, ടെയിൽ കമാൻഡും 'n' വരികളുടെ എണ്ണവും 'n' പ്രതീകങ്ങളുടെ എണ്ണവും ഓപ്ഷനുകളെ പിന്തുണയ്ക്കുന്നു.
ടെയിൽ കമാൻഡിന്റെ അടിസ്ഥാന വാക്യഘടന ഇതാണ്:
# tail [options] [filenames]
ഉദാഹരണത്തിന്, ഇനിപ്പറയുന്ന കമാൻഡ് 'access.log' എന്ന ഫയലിന്റെ അവസാന പത്ത് വരികൾ പ്രിന്റ് ചെയ്യും.
# tail access.log 1390288226.042 0 172.16.18.71 TCP_DENIED/407 1771 GET http://download.newnext.me/spark.bin? - NONE/- text/html 1390288226.198 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html 1390288226.210 1182 172.16.20.44 TCP_MISS/200 70872 GET http://mahavat.gov.in/Mahavat/index.jsp pg DIRECT/61.16.223.197 text/html 1390288226.284 70 172.16.20.44 TCP_MISS/304 269 GET http://mahavat.gov.in/Mahavat/i/i-19.gif pg DIRECT/61.16.223.197 - 1390288226.362 570 172.16.176.139 TCP_MISS/200 694 GET http://p4-gayr4vyqxh7oa-3ekrqzjikvrczq44-if-v6exp3-v4.metric.gstatic.com/v6exp3/redir.html pg 1390288226.402 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html 1390288226.437 145 172.16.18.53 TCP_DENIED/407 1723 OPTIONS http://172.16.25.252/ - NONE/- text/html 1390288226.445 0 172.16.18.53 TCP_DENIED/407 1723 OPTIONS http://172.16.25.252/ - NONE/- text/html 1390288226.605 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html 1390288226.808 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html
ഒന്നിൽ കൂടുതൽ ഫയലുകൾ നൽകിയിട്ടുണ്ടെങ്കിൽ, ഓരോ ഫയലിന്റെയും അവസാനത്തെ പത്ത് വരികൾ താഴെ കാണിച്ചിരിക്കുന്നത് പോലെ ടെയിൽ പ്രിന്റ് ചെയ്യും.
# tail access.log error.log ==> access.log <== 1390288226.042 0 172.16.18.71 TCP_DENIED/407 1771 GET http://download.newnext.me/spark.bin? - NONE/- text/html 1390288226.198 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html 1390288226.210 1182 172.16.20.44 TCP_MISS/200 70872 GET http://mahavat.gov.in/Mahavat/index.jsp pg DIRECT/61.16.223.197 text/html 1390288226.284 70 172.16.20.44 TCP_MISS/304 269 GET http://mahavat.gov.in/Mahavat/i/i-19.gif pg DIRECT/61.16.223.197 - 1390288226.362 570 172.16.176.139 TCP_MISS/200 694 GET http://p4-gayr4vyqxh7oa-3ekrqzjikvrczq44-if-v6exp3-v4.metric.gstatic.com/v6exp3/redir.html pg 1390288226.402 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html 1390288226.437 145 172.16.18.53 TCP_DENIED/407 1723 OPTIONS http://172.16.25.252/ - NONE/- text/html 1390288226.445 0 172.16.18.53 TCP_DENIED/407 1723 OPTIONS http://172.16.25.252/ - NONE/- text/html 1390288226.605 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html 1390288226.808 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html ==> error_log <== [Sun Mar 30 03:16:03 2014] [notice] Digest: generating secret for digest authentication ... [Sun Mar 30 03:16:03 2014] [notice] Digest: done [Sun Mar 30 03:16:03 2014] [notice] Apache/2.2.15 (Unix) DAV/2 PHP/5.3.3 mod_ssl/2.2.15 OpenSSL/1.0.0-fips configured -- resuming normal operations
അതുപോലെ, ചുവടെ കാണിച്ചിരിക്കുന്നതുപോലെ ‘-n’ ഓപ്ഷൻ ഉപയോഗിച്ച് നിങ്ങൾക്ക് അവസാനത്തെ കുറച്ച് വരികൾ പ്രിന്റ് ചെയ്യാനും കഴിയും.
# tail -5 access.log 1390288226.402 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html 1390288226.437 145 172.16.18.53 TCP_DENIED/407 1723 OPTIONS http://172.16.25.252/ - NONE/- text/html 1390288226.445 0 172.16.18.53 TCP_DENIED/407 1723 OPTIONS http://172.16.25.252/ - NONE/- text/html 1390288226.605 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html 1390288226.808 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html
ചുവടെ കാണിച്ചിരിക്കുന്നതുപോലെ നിങ്ങൾക്ക് '-c' ആർഗ്യുമെന്റ് ഉപയോഗിച്ച് പ്രതീകങ്ങളുടെ എണ്ണം പ്രിന്റുചെയ്യാനും കഴിയും.
# tail -c5 access.log ymantec.com:443 - NONE/- text/html
3. പൂച്ച കമാൻഡ്
'cat' കമാൻഡ് ഏറ്റവും വ്യാപകമായി ഉപയോഗിക്കപ്പെടുന്നു, സാർവത്രിക ഉപകരണം. ഇത് സ്റ്റാൻഡേർഡ് ഇൻപുട്ട് സ്റ്റാൻഡേർഡ് ഔട്ട്പുട്ടിലേക്ക് പകർത്തുന്നു. ടെക്സ്റ്റ് ഫയൽ നിലവിലെ സ്ക്രീനിന് അനുയോജ്യമല്ലെങ്കിൽ, കമാൻഡ് സ്ക്രോളിംഗ് പിന്തുണയ്ക്കുന്നു.
പൂച്ച കമാൻഡിന്റെ അടിസ്ഥാന വാക്യഘടന ഇതാണ്:
# cat [options] [filenames] [-] [filenames]
ഫയലുകളുടെ ഉള്ളടക്കം വായിക്കുക എന്നതാണ് പൂച്ചയുടെ ഏറ്റവും സാധാരണമായ ഉപയോഗം. വായിക്കാൻ ഒരു ഫയൽ തുറക്കാൻ വേണ്ടത് cat എന്ന് ടൈപ്പ് ചെയ്തതിനു ശേഷം ഒരു സ്uപെയ്uസും ഫയലിന്റെ പേരും.
# cat /etc/passwd root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh man:x:6:12:man:/var/cache/man:/bin/sh lp:x:7:7:lp:/var/spool/lpd:/bin/sh …
ക്യാറ്റ് കമാൻഡ് ഫയലുകളുടെ എണ്ണം ഒരുമിച്ച് ചേർക്കാനും ഉപയോഗിക്കുന്നു.
# echo 'Hi Tecmint-Team' > 1 # echo 'Keep connected' > 2 # echo 'Share your thought' > 3 # echo 'connect us [email ' > 4
# cat 1 2 3 4 > 5
# cat 5 Hi Tecmint-Team Keep connected Share your thought connect us [email
ഫയലുകൾ സൃഷ്ടിക്കാനും ഇത് ഉപയോഗിക്കാം. ഔട്ട്uപുട്ട് റീഡയറക്uഷൻ ഓപ്പറേറ്ററും സൃഷ്uടിക്കേണ്ട ഫയലിന്റെ പേരും ക്യാറ്റ് എക്uസിക്യൂട്ട് ചെയ്യുന്നതിലൂടെ ഇത് നേടാനാകും.
# cat > tecmint.txt Tecmint is the only website fully dedicated to Linux.
'കാറ്റ്' കമാൻഡിനായി ഞങ്ങൾക്ക് ഇഷ്uടാനുസൃത എൻഡ് മേക്കർ ഉണ്ടായിരിക്കാം. ഇവിടെ അത് നടപ്പിലാക്കുന്നു.
# cat > test.txt << end I am Avishek Here i am writing this post Hope your are enjoying end
# cat test.txt I am Avishek Here i am writing this post Hope your are enjoying
'cat' കമാൻഡിന്റെ ശക്തി ഒരിക്കലും കുറച്ചുകാണരുത്, ഫയലുകൾ പകർത്താൻ ഇത് ഉപയോഗപ്രദമാകും.
# cat avi.txt I am a Programmer by birth and Admin by profession
# cat avi.txt > avi1.txt
# cat avi1.txt I am a Programmer by birth and Admin by profession
ഇപ്പോൾ പൂച്ചയുടെ വിപരീതം എന്താണ്? അതെ അത് 'ടാക്' ആണ്. 'tac' എന്നത് Linux-ന് കീഴിലുള്ള ഒരു കമാൻഡ് ആണ്. അതിനെക്കുറിച്ച് എന്തെങ്കിലും സംസാരിക്കുന്നതിനേക്കാൾ 'ടാക്' ഒരു ഉദാഹരണം കാണിക്കുന്നതാണ് നല്ലത്.
ഒരു വരിയിൽ ഒരു വാക്ക് ദൃശ്യമാകുന്ന തരത്തിൽ എല്ലാ മാസത്തിന്റെയും പേരുകളുള്ള ഒരു ടെക്സ്റ്റ് ഫയൽ സൃഷ്ടിക്കുക.
# cat month January February March April May June July August September October November December
# tac month December November October September August July June May April March February January
പൂച്ച കമാൻഡ് ഉപയോഗത്തിന്റെ കൂടുതൽ ഉദാഹരണങ്ങൾക്ക്, 13 പൂച്ച കമാൻഡ് ഉപയോഗം കാണുക
ഇപ്പോഴത്തേക്ക് ഇത്രമാത്രം. അറിയേണ്ട രസകരമായ മറ്റൊരു ലേഖനവുമായി ഞാൻ വീണ്ടും ഇവിടെ വരും. അതുവരെ തുടരുക, Tecmint-ലേക്ക് കണക്റ്റ് ചെയ്യുക. ഞങ്ങളുടെ അഭിപ്രായ വിഭാഗത്തിൽ നിങ്ങളുടെ വിലയേറിയ ഫീഡ്uബാക്ക് ഞങ്ങൾക്ക് നൽകാൻ മറക്കരുത്.