ലിനക്സിലെ mkdir, tar, kill കമാൻഡുകൾ എന്നിവയെക്കുറിച്ചുള്ള 4 ഉപയോഗപ്രദമായ നുറുങ്ങുകൾ


മറ്റൊരു വിധത്തിൽ അത് വളരെ മികച്ച രീതിയിൽ ചെയ്യാൻ കഴിയുമെന്ന് മനസ്സിലാക്കുന്നത് വരെ ഞങ്ങൾ പരമ്പരാഗതമായി ഒരു ജോലി പൂർത്തിയാക്കിക്കൊണ്ടിരിക്കും. ഞങ്ങളുടെ Linux നുറുങ്ങുകളുടെയും ട്രിക്ക് സീരീസിന്റെയും തുടർച്ചയായി, താഴെയുള്ള നാല് നുറുങ്ങുകളുമായി ഞാൻ ഇവിടെയുണ്ട്, അത് നിങ്ങളെ ഒരുപാട് വഴികളിൽ സഹായിക്കും. ഇവിടെ നമ്മൾ ആരംഭിക്കുന്നു!

ഡയറക്uടറി ട്രീ സ്ട്രക്ച്ചർ താഴെ നിർദ്ദേശിച്ചിരിക്കുന്നതുപോലെ നേടണം.

$ cd /home/$USER/Desktop
$ mkdir tecmint
$ mkdir tecmint/etc
$ mkdir tecmint/lib
$ mkdir tecmint/usr
$ mkdir tecmint/bin
$ mkdir tecmint/tmp
$ mkdir tecmint/opt
$ mkdir tecmint/var
$ mkdir tecmint/etc/x1
$ mkdir tecmint/usr/x2
$ mkdir tecmint/usr/x3
$ mkdir tecmint/tmp/Y1
$ mkdir tecmint/tmp/Y2
$ mkdir tecmint/tmp/Y3
$ mkdir tecmint/tmp/Y3/z

ചുവടെയുള്ള 1-ലൈനർ കമാൻഡ് പ്രവർത്തിപ്പിക്കുന്നതിലൂടെ മുകളിലുള്ള സാഹചര്യം നേടാനാകും.

$ mkdir -p /home/$USER/Desktop/tecmint/{etc/x1,lib,usr/{x2,x3},bin,tmp/{Y1,Y2,Y3/z},opt,var}

സ്ഥിരീകരിക്കാൻ നിങ്ങൾക്ക് ട്രീ കമാൻഡ് ഉപയോഗിക്കാം. ഇൻസ്uറ്റാൾ ചെയ്uതിട്ടില്ലെങ്കിൽ, 'ട്രീ' എന്ന പാക്കേജ് നിങ്ങൾക്ക് അനുയോജ്യമാക്കാം.

$ tree tecmint

മുകളിൽ പറഞ്ഞ രീതി ഉപയോഗിച്ച് നമുക്ക് ഏത് സങ്കീർണ്ണതയുടെയും ഡയറക്ടറി ട്രീ ഘടന സൃഷ്ടിക്കാൻ കഴിയും. ഇത് ഒരു സാധാരണ കമാൻഡ് അല്ലാതെ മറ്റൊന്നുമല്ല, ഡയറക്uടറികളുടെ ശ്രേണി സൃഷ്ടിക്കാൻ {} ഉപയോഗിക്കുന്നു. ഒരു ഷെൽ സ്uക്രിപ്റ്റിന്റെ ഉള്ളിൽ നിന്ന് ആവശ്യമുള്ളപ്പോഴും പൊതുവായും ഉപയോഗിച്ചാൽ ഇത് വളരെ സഹായകമായേക്കാം.

ABC
DEF
GHI
JKL
MNO
PQR
STU
VWX
Y
Z

ഈ സാഹചര്യത്തിൽ ഒരു സാധാരണ ഉപയോക്താവ് എന്ത് ചെയ്യും?

എ. അവൻ ആദ്യം ഫയൽ സൃഷ്ടിക്കും, വെയിലത്ത് ടച്ച് കമാൻഡ് ഉപയോഗിച്ച്:

$ touch /home/$USER/Desktop/test

ബി. ഫയൽ തുറക്കാൻ അവൻ ഒരു ടെക്സ്റ്റ് എഡിറ്റർ ഉപയോഗിക്കും, അത് നാനോ, വിം അല്ലെങ്കിൽ മറ്റേതെങ്കിലും എഡിറ്ററായിരിക്കാം.

$ nano /home/$USER/Desktop/test

സി. തുടർന്ന് അദ്ദേഹം ഈ ഫയലിൽ മുകളിലെ വാചകം സ്ഥാപിക്കുകയും സേവ് ചെയ്യുകയും പുറത്തുകടക്കുകയും ചെയ്യും.

അതിനാൽ അവൻ/അവൾ എടുത്ത സമയം പരിഗണിക്കാതെ തന്നെ, മുകളിൽ പറഞ്ഞ സാഹചര്യം നടപ്പിലാക്കാൻ അയാൾക്ക് കുറഞ്ഞത് 3 ഘട്ടങ്ങളെങ്കിലും ആവശ്യമാണ്.

പരിചയസമ്പന്നനായ ഒരു Linux-er എന്ത് ചെയ്യും? അവൻ ഒറ്റത്തവണ ടെർമിനലിൽ താഴെയുള്ള വാചകം ടൈപ്പ് ചെയ്യും, എല്ലാം പൂർത്തിയായി. അവൻ ഓരോ പ്രവൃത്തിയും പ്രത്യേകം ചെയ്യേണ്ടതില്ല.

cat << EOF > /home/$USER/Desktop/test
ABC
DEF
GHI
JKL
MNO
PQR
STU
VWX
Y
Z
EOF

ഫയലും അതിന്റെ ഉള്ളടക്കവും വിജയകരമായി സൃഷ്uടിച്ചതാണോ അല്ലയോ എന്ന് പരിശോധിക്കാൻ നിങ്ങൾക്ക് 'cat' കമാൻഡ് ഉപയോഗിക്കാം.

$ cat /home/avi/Desktop/test

ഈ സാഹചര്യത്തിൽ നമ്മൾ സാധാരണയായി രണ്ട് കാര്യങ്ങൾ ചെയ്യുന്നു.

എ. ടാർ ബോൾ പകർത്തുക/നീക്കുക, ലക്ഷ്യസ്ഥാനത്ത് എക്uസ്uട്രാക്uറ്റ് ചെയ്യുക:

$ cp firefox-37.0.2.tar.bz2 /opt/
or
$ mv firefox-37.0.2.tar.bz2 /opt/

ബി. cd to /opt/ ഡയറക്ടറി.

$ cd /opt/

സി. ടാർബോൾ എക്uസ്uട്രാക്uറ്റ് ചെയ്യുക.

# tar -jxvf firefox-37.0.2.tar.bz2 

നമുക്ക് ഇത് മറ്റൊരു രീതിയിൽ ചെയ്യാം.

ഞങ്ങൾ ടാർബോൾ അത് ഉള്ളിടത്ത് നിന്ന് എക്uസ്uട്രാക്uറ്റുചെയ്യുകയും എക്uസ്uട്രാക്uറ്റുചെയ്uത ആർക്കൈവ് ഇനിപ്പറയുന്ന രീതിയിൽ പകർത്തുകയും ആവശ്യമുള്ള ലക്ഷ്യസ്ഥാനത്തേക്ക് മാറ്റുകയും ചെയ്യും:

$ tar -jxvf firefox-37.0.2.tar.bz2 
$ cp -R firefox/  /opt/
or
$ mv firefox/ /opt/

ഏത് സാഹചര്യത്തിലും, ജോലി പൂർത്തിയാക്കാൻ രണ്ടോ ഘട്ടമോ എടുക്കുന്നു. പ്രൊഫഷണലിന് ഒരു ഘട്ടത്തിൽ ഈ ടാസ്ക് പൂർത്തിയാക്കാൻ കഴിയും:

$ tar -jxvf firefox-37.0.2.tar.bz2 -C /opt/

നിർദ്ദിഷ്ട ഫോൾഡറിൽ (ഇവിടെ /opt/) ആർക്കൈവ് ടാർ എക്uസ്uട്രാക്uറ്റുചെയ്യുന്ന ഓപ്uഷൻ -C ചെയ്യുന്നു.

ഇല്ല, ഇത് ഒരു ഓപ്ഷനെക്കുറിച്ചല്ല (-സി) എന്നാൽ ഇത് ശീലങ്ങളെക്കുറിച്ചാണ്. ടാറിനൊപ്പം ഓപ്ഷൻ -സി ഉപയോഗിക്കുന്നത് ശീലമാക്കുക. അത് നിങ്ങളുടെ ജീവിതം സുഗമമാക്കും. ഇപ്പോൾ മുതൽ ആർക്കൈവ് നീക്കുകയോ എക്uസ്uട്രാക്uറ്റുചെയ്uത ഫയൽ പകർത്തുകയോ നീക്കുകയോ ചെയ്യരുത്, ഡൗൺലോഡ് ഫോൾഡറിൽ TAR-ബോൾ ഉപേക്ഷിച്ച് നിങ്ങൾക്ക് ആവശ്യമുള്ളിടത്ത് നിന്ന് എക്uസ്uട്രാക്uറ്റ് ചെയ്യുക.

ഏറ്റവും സാധാരണമായ രീതിയിൽ, ഞങ്ങൾ ആദ്യം എല്ലാ പ്രക്രിയകളും ps -A കമാൻഡ് ഉപയോഗിച്ച് ലിസ്റ്റ് ചെയ്യുകയും ഒരു പ്രോസസ്സ്/സർവീസ് (apache2 എന്ന് പറയുക) കണ്ടെത്തുന്നതിന് grep ഉപയോഗിച്ച് പൈപ്പ്ലൈൻ ചെയ്യുകയും ചെയ്യുന്നു:

$ ps -A | grep -i apache2
1006 ?        00:00:00 apache2
 2702 ?        00:00:00 apache2
 2703 ?        00:00:00 apache2
 2704 ?        00:00:00 apache2
 2705 ?        00:00:00 apache2
 2706 ?        00:00:00 apache2
 2707 ?        00:00:00 apache2

മുകളിലുള്ള ഔട്ട്uപുട്ട്, നിലവിൽ പ്രവർത്തിക്കുന്ന എല്ലാ apache2 പ്രോസസ്സുകളും അവയുടെ PID-കൾക്കൊപ്പം കാണിക്കുന്നു, തുടർന്ന് നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന കമാൻഡിന്റെ സഹായത്തോടെ apache2 ഇല്ലാതാക്കാൻ ഈ PID-കൾ ഉപയോഗിക്കാം.

# kill 1006 2702 2703 2704 2705 2706 2707

തുടർന്ന്, 'apache2' എന്ന പേരിലുള്ള ഏതെങ്കിലും പ്രോസസ്സ്/സർവീസ് പ്രവർത്തിക്കുന്നുണ്ടോ ഇല്ലയോ എന്ന് പരിശോധിക്കുക.

$ ps -A | grep -i apache2

എന്നിരുന്നാലും pgrep, pkill പോലുള്ള യൂട്ടിലിറ്റികൾ ഉപയോഗിച്ച് കൂടുതൽ മനസ്സിലാക്കാവുന്ന ഫോർമാറ്റിൽ നമുക്ക് ഇത് ചെയ്യാൻ കഴിയും. pgrep ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഒരു പ്രക്രിയയെക്കുറിച്ചുള്ള പ്രസക്തമായ വിവരങ്ങൾ കണ്ടെത്താം. apache2-നുള്ള പ്രോസസ്സ് വിവരങ്ങൾ നിങ്ങൾ കണ്ടെത്തേണ്ടതുണ്ടെന്ന് പറയുക, നിങ്ങൾക്ക് ഇങ്ങനെ ചെയ്യാം:

$ pgrep apache2
15396
15400
15401
15402
15403
15404
15405

പ്രവർത്തിപ്പിക്കുന്നതിലൂടെ pid-ന് എതിരായ പ്രക്രിയയുടെ പേരും നിങ്ങൾക്ക് ലിസ്റ്റ് ചെയ്യാം.

$ pgrep -l apache2
15396 apache2
15400 apache2
15401 apache2
15402 apache2
15403 apache2
15404 apache2
15405 apache2

pkill ഉപയോഗിച്ച് ഒരു പ്രക്രിയ ഇല്ലാതാക്കുന്നത് വളരെ ലളിതമാണ്. കൊല്ലാനുള്ള വിഭവത്തിന്റെ പേര് നിങ്ങൾ ടൈപ്പ് ചെയ്യുക, നിങ്ങൾ പൂർത്തിയാക്കി. pkill-ൽ ഞാൻ ഒരു പോസ്റ്റ് എഴുതിയിട്ടുണ്ട്, അത് നിങ്ങൾക്ക് ഇവിടെ പരാമർശിക്കാൻ ഇഷ്ടപ്പെട്ടേക്കാം: https://linux-console.net/how-to-kill-a-process-in-linux/.

pkill ഉപയോഗിച്ച് ഒരു പ്രോസസ്സ് (apache2 എന്ന് പറയുക) ഇല്ലാതാക്കാൻ, നിങ്ങൾ ചെയ്യേണ്ടത് ഇത്രമാത്രം:

# pkill apache2

ചുവടെയുള്ള കമാൻഡ് പ്രവർത്തിപ്പിച്ച് apache2 കൊല്ലപ്പെട്ടോ ഇല്ലയോ എന്ന് നിങ്ങൾക്ക് പരിശോധിക്കാം.

$ pgrep -l apache2

ഇത് പ്രോംപ്റ്റ് നൽകുകയും ഒന്നും പ്രിന്റ് ചെയ്യുകയും ചെയ്യുന്നില്ല എന്നതിനർത്ഥം apache2 എന്ന പേരിൽ ഒരു പ്രക്രിയയും പ്രവർത്തിക്കുന്നില്ല എന്നാണ്.

എന്നിൽ നിന്ന് ഇപ്പോൾ അത്രമാത്രം. മുകളിൽ പറഞ്ഞിരിക്കുന്ന എല്ലാ പോയിന്റുകളും പര്യാപ്തമല്ലെങ്കിലും തീർച്ചയായും സഹായിക്കും. എല്ലായ്uപ്പോഴും പുതിയ എന്തെങ്കിലും പഠിക്കാൻ ട്യൂട്ടോറിയലുകൾ നിർമ്മിക്കുക മാത്രമല്ല, 'ഒരേ ഫ്രെയിമിൽ എങ്ങനെ കൂടുതൽ ഉൽപ്പാദനക്ഷമമാകാം' എന്ന് കാണിക്കാനും ഞങ്ങൾ ആഗ്രഹിക്കുന്നു. ചുവടെയുള്ള അഭിപ്രായങ്ങളിൽ നിങ്ങളുടെ വിലയേറിയ ഫീഡ്uബാക്ക് ഞങ്ങൾക്ക് നൽകുക. ബന്ധം നിലനിർത്തുക. അഭിപ്രായമിടുന്നത് തുടരുക.