Linux കമാൻഡ് ലൈൻ ഇന്റർപ്രെറ്റർ തിരഞ്ഞെടുക്കുന്നു. കമാൻഡ് ലൈൻ പാഴ്സിംഗ്, തിരഞ്ഞെടുത്ത ബാഷ് ഫംഗ്ഷനുകൾ. ഈ മാനുവലിന്റെ ചില കൺവെൻഷനുകൾ

ഈ ചീറ്റ് ഷീറ്റ് ഇനിപ്പറയുന്ന വിഷയങ്ങൾ ഉൾക്കൊള്ളുന്നു: ഷെല്ലിലേക്കുള്ള ആമുഖം, നാവിഗേഷൻ, അടിസ്ഥാന കമാൻഡുകൾ, പരിസ്ഥിതി വേരിയബിളുകൾ, കണക്ടറുകൾ, പൈപ്പുകൾ, I/O റീഡയറക്ഷൻ, അനുമതികൾ, കീബോർഡ് കുറുക്കുവഴികൾ.

ബാഷ് ഷെൽ: ആമുഖം

ഒരു ഷെൽ അല്ലെങ്കിൽ ഷെൽ എന്നത് ഒരു പ്രോഗ്രാമാണ്, ഞങ്ങളുടെ കാര്യത്തിൽ "ബാഷ്" എന്ന് വിളിക്കുന്നു, ഇത് ബോൺ എഗെയ്ൻ ഷെല്ലിന്റെ ചുരുക്കമാണ്. ഷെൽ നിങ്ങളുടെ കമാൻഡുകൾ സ്വീകരിക്കുകയും അവ ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിലേക്ക് കൈമാറുകയും ചെയ്യുന്നു. സിസ്റ്റവുമായി സംവദിക്കുന്നതിന്, ഗ്നോം-ടെർമിനൽ, എറ്റെർം, എൻഎക്‌സ്റ്റേർം മുതലായവ പോലുള്ള ടെർമിനലുകൾ ഉപയോഗിക്കുന്നു.

നാവിഗേഷൻ

IN Linux ഫയലുകൾകൂടാതെ ഡയറക്‌ടറികൾക്ക് ഒരു ശ്രേണിപരമായ ഓർഗനൈസേഷനുണ്ട്, അതായത് റൂട്ട് എന്ന് വിളിക്കുന്ന ഒരു നിശ്ചിത പ്രാരംഭ ഡയറക്ടറി ഉണ്ട്. അതിൽ ഫയലുകളും ഉപഡയറക്‌ടറികളും അടങ്ങിയിരിക്കുന്നു, അവയിൽ ഫയലുകളും അവയുടെ സ്വന്തം ഉപഡയറക്‌ടറികളും അടങ്ങിയിരിക്കുന്നു.

പിഡബ്ല്യുഡി

pwd കമാൻഡ്, ചുരുക്കത്തിൽ പ്രിന്റ് വർക്കിംഗ് ഡയറക്ടറി, ഡിസ്പ്ലേകൾ ഇപ്പോഴുള്ള സ്ഥലംഡയറക്ടറി ഘടനയിൽ.

സി.ഡി

സിഡി കമാൻഡ് നിങ്ങളെ പോകാൻ അനുവദിക്കുന്നു പുതിയ കാറ്റലോഗ്.

mkdir

mkdir കമാൻഡ് നിലവിലെ ഡയറക്ടറിയിൽ ഒരു പുതിയ ഡയറക്ടറി ഉണ്ടാക്കുന്നു.

അടിസ്ഥാന കമാൻഡുകൾ

മനുഷ്യൻ

മാൻ കമാൻഡ് കമാൻഡ് മാനുവലുകൾ പ്രദർശിപ്പിക്കുന്നു. ഉദാഹരണത്തിന്, ഇനിപ്പറയുന്ന കമാൻഡ് cat കമാൻഡിനെക്കുറിച്ചുള്ള എല്ലാ വിവരങ്ങളും പ്രദർശിപ്പിക്കും:

$ മനുഷ്യൻ പൂച്ച

പൂച്ച

ക്യാറ്റ് കമാൻഡ് ഒരു ആർഗ്യുമെന്റായി പാസ്സാക്കിയ ഫയൽ വായിക്കുകയും അതിലെ ഉള്ളടക്കങ്ങൾ പ്രിന്റ് ചെയ്യുകയും ചെയ്യുന്നു സാധാരണ ചാനൽഔട്ട്പുട്ട്. ഒന്നിലധികം ഫയലുകൾ ഒരു ആർഗ്യുമെന്റായി കൈമാറുന്നത് എല്ലാ ഫയലുകളുടെയും സംയോജിത ഉള്ളടക്കങ്ങൾ പ്രിന്റ് ചെയ്യും.

പ്രതിധ്വനി

എക്കോ കമാൻഡ് അതിന്റെ ആർഗ്യുമെന്റുകൾ സ്റ്റാൻഡേർഡ് ഔട്ട്പുട്ടിലേക്ക് പ്രിന്റ് ചെയ്യുന്നു.

$ എക്കോ ഹലോ വേൾഡ് ഹലോ വേൾഡ്

നിങ്ങൾ വാദങ്ങൾ ഇല്ലാതെ എക്കോ വിളിക്കുകയാണെങ്കിൽ, അത് പ്രിന്റ് ചെയ്യും ശൂന്യമായ വരി.

തല

ഹെഡ് കമാൻഡ് ഏതെങ്കിലും ടെക്‌സ്‌റ്റിന്റെ ആദ്യ 10 വരികൾ വായിക്കുകയും അവയെ സാധാരണ പൈപ്പിലേക്ക് ഔട്ട്‌പുട്ട് ചെയ്യുകയും ചെയ്യുന്നു. പ്രദർശിപ്പിച്ചിരിക്കുന്ന വരികളുടെ എണ്ണം മാറ്റാവുന്നതാണ്:

$head -50 test.txt

വാൽ

ടെയിൽ കമാൻഡ് ഹെഡ് കമാൻഡിന് സമാനമായി പ്രവർത്തിക്കുന്നു, പക്ഷേ അവസാനം മുതൽ വരികൾ വായിക്കുന്നു:

$ ടെയിൽ -50 test.txt

-f ഫ്ലാഗ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് തത്സമയം ഒരു ഫയലിലേക്ക് ചേർക്കുന്നത് കാണാനും കഴിയും:

$ ടെയിൽ -f test.txt

കുറവ്

രണ്ട് ദിശകളിലേക്കും ട്രാൻസ്ഫർ ചെയ്ത ഫയലിലൂടെയോ വാചകത്തിന്റെ ഭാഗത്തിലൂടെയോ നാവിഗേറ്റ് ചെയ്യാൻ കുറവ് കമാൻഡ് നിങ്ങളെ അനുവദിക്കുന്നു.

$ കുറവ് test.txt $ ps aux | കുറവ്

ചിഹ്നത്തിന്റെ ഉദ്ദേശ്യത്തെക്കുറിച്ച് കൂടുതലറിയുക | കമാൻഡിന്റെ ചരിത്ര വിഭാഗത്തിൽ ചുവടെ ഉൾപ്പെടുത്തും.

സാധാരണ കീബോർഡ് കുറുക്കുവഴികൾവിവരണം
ജിഫയലിന്റെ അവസാനഭാഗത്തേക്ക് നീങ്ങുന്നു
ജിഫയലിന്റെ തുടക്കത്തിലേക്ക് നീങ്ങുന്നു
:50 ഫയലിന്റെ 50-ാം വരിയിലേക്ക് നീങ്ങുന്നു
qകുറച്ച് പുറത്തുകടക്കുക
/അന്വേഷണ പദംതാഴെയുള്ള ഒരു സ്ട്രിംഗ് പൊരുത്തപ്പെടുന്ന 'തിരയൽ ടെം' തിരയുക നിലവിലെ ലൈൻ
/
?അന്വേഷണ പദംനിലവിലെ ലൈനിന് മുകളിൽ 'സെർച്ച്‌ടേം' പൊരുത്തപ്പെടുന്ന ഒരു ലൈൻ കണ്ടെത്തുന്നു
? അടുത്ത പൊരുത്തപ്പെടുന്ന തിരയൽ ഫലത്തിലേക്ക് നീങ്ങുന്നു
മുകളിലേക്ക്ഒരു വരി മുകളിലേക്ക് നീങ്ങുന്നു
താഴേക്ക്ഒരു വരി താഴേക്ക് നീക്കുന്നു
പേജ്അപ്പ്ഒരു പേജ് മുകളിലേക്ക് നീക്കുന്നു
അടുത്ത താൾഒരു പേജ് താഴേക്ക് നീക്കുന്നു

സത്യം

വിജയത്തെ സൂചിപ്പിക്കുന്നതിന് യഥാർത്ഥ കമാൻഡ് എല്ലായ്പ്പോഴും പൂജ്യം ഔട്ട്പുട്ട് സ്റ്റാറ്റസ് ആയി നൽകുന്നു.

തെറ്റായ

പരാജയം സൂചിപ്പിക്കാൻ തെറ്റായ കമാൻഡ് എല്ലായ്പ്പോഴും പൂജ്യമല്ലാത്ത ഔട്ട്പുട്ട് സ്റ്റാറ്റസ് നൽകുന്നു.

$?

$? അവസാന കമാൻഡ് റണ്ണിന്റെ ഔട്ട്പുട്ട് സ്റ്റാറ്റസ് അടങ്ങുന്ന ഒരു വേരിയബിളാണ്. സ്റ്റാറ്റസ് സാധാരണയായി പ്രോഗ്രാമിന്റെ റിട്ടേൺ കോഡിനെ സൂചിപ്പിക്കുന്നു. 0 എന്നത് പ്രോഗ്രാമിന്റെ വിജയകരമായ നിർവ്വഹണം എന്നാണ് അർത്ഥമാക്കുന്നത്, 0-ൽ കൂടുതലുള്ള ഏതൊരു മൂല്യവും നിർവ്വഹണ സമയത്ത് ചില പിശകുകൾ സംഭവിച്ചുവെന്ന വസ്തുതയെ പ്രതിഫലിപ്പിക്കുന്നു. വഴിയിൽ, അതുകൊണ്ടാണ് ബാഷിൽ 0 സത്യമായി കണക്കാക്കുന്നത്, 0 അല്ലാത്തതെല്ലാം തെറ്റാണ്:

$true$echo$? 0 $ തെറ്റായ $ echo $? 1

grep

ഗ്രെപ് കമാൻഡ് ഇൻ പാസാക്കിയ സ്ട്രിങ്ങിനായി തിരയുന്നു വ്യക്തമാക്കിയ ഫയൽ:

$ cat users.txt ഉപയോക്താവ്:വിദ്യാർത്ഥി പാസ്‌വേഡ്:123 ഉപയോക്താവ്:അധ്യാപക രഹസ്യവാക്ക്:321 $ grep "student` file1.txt ഉപയോക്താവ്:വിദ്യാർത്ഥിയുടെ രഹസ്യവാക്ക്:123

grep ഒന്നിലധികം ഫയലുകൾ സ്വീകരിക്കാനും കഴിയും പതിവ് ഭാവങ്ങൾടെക്സ്റ്റ് ഫോർമാറ്റ് വ്യക്തമാക്കുന്നതിന്.

ചരിത്രം

ഹിസ്റ്ററി കമാൻഡ് കമാൻഡ് ലൈൻ ചരിത്രം പ്രദർശിപ്പിക്കുന്നു. ഒരു നിർദ്ദിഷ്‌ട കമാൻഡിനായി തിരയാൻ ഇത് സാധാരണയായി grep കമാൻഡുമായി സംയോജിച്ച് ഉപയോഗിക്കുന്നു. ഉദാഹരണത്തിന്, ഇനിപ്പറയുന്ന കോഡ് g++ സ്ട്രിംഗ് അടങ്ങുന്ന എല്ലാ കമാൻഡുകളും കണ്ടെത്തും:

$ചരിത്രം | grep g++ 155 g++ file1.txt 159 g++ file2.txt

ഇവിടെയും | ചിഹ്നം ഉപയോഗിക്കുന്നു. - ഇതാണ് കൺവെയർ (പൈപ്പ്) എന്ന് വിളിക്കപ്പെടുന്നത്. ഇതിന് നന്ദി, നിങ്ങൾക്ക് ഒരു കമാൻഡിന്റെ ഔട്ട്‌പുട്ട് മറ്റൊന്നിന്റെ ഇൻപുട്ടിലേക്ക് റീഡയറക്‌ട് ചെയ്യാൻ കഴിയും - അതിനാൽ, മുകളിലുള്ള ഉദാഹരണത്തിൽ, മുഴുവൻ സ്റ്റോറി, ഇതിൽ സാധാരണ നിലടെർമിനലിലേക്ക് നേരിട്ട് ഹിസ്റ്ററി കമാൻഡ് വഴിയുള്ള ഔട്ട്പുട്ട് ഇൻപുട്ടായി grep-ലേക്ക് റീഡയറക്ട് ചെയ്യപ്പെടും. നമ്മൾ ഹിസ്റ്ററി കമാൻഡിന്റെ ഔട്ട്പുട്ട് കാണില്ല, പക്ഷേ grep കമാൻഡിന്റെ ഔട്ട്പുട്ട് നമുക്ക് കാണാം.

പരിശീലനമില്ലാതെ ഇത് മനസിലാക്കാൻ വളരെ ബുദ്ധിമുട്ടാണ്, അതിനാൽ ls , history , ps (ചുവടെ വിവരിച്ചിരിക്കുന്നത്) കമാൻഡുകൾ ഉപയോഗിച്ച് സ്വയം പരീക്ഷണം നടത്തുക, ഉദാഹരണത്തിന് അവയുടെ ഔട്ട്‌പുട്ട് grep , sed അല്ലെങ്കിൽ അതിൽ കുറവ്.

കയറ്റുമതി

എക്‌സ്‌പോർട്ട് കമാൻഡ് ചൈൽഡ് പ്രോസസുകളിലേക്ക് കൈമാറാൻ എൻവയോൺമെന്റ് വേരിയബിളുകൾ സജ്ജമാക്കുന്നു. ഉദാഹരണത്തിന്, മൂല്യ വിദ്യാർത്ഥിക്കൊപ്പം നിങ്ങൾക്ക് ഒരു നെയിം വേരിയബിൾ കൈമാറുന്നത് ഇങ്ങനെയാണ്:

$ കയറ്റുമതി പേര്=വിദ്യാർത്ഥി

ps

ps കമാൻഡ് എന്നതിനെക്കുറിച്ചുള്ള വിവരങ്ങൾ പ്രദർശിപ്പിക്കുന്നു പ്രവർത്തിക്കുന്ന പ്രക്രിയകൾ.

$ ps PID TTY TIME CMD 35346 പോയിന്റ്/2 00:00:00 ബാഷ്

നാല് ഘടകങ്ങൾ ഔട്ട്പുട്ട് ആണ്:

  • പ്രോസസ്സ് ഐഡി (PID),
  • ടെർമിനൽ തരം (TTY),
  • പ്രോസസ്സ് പ്രവർത്തന സമയം (TIME),
  • പ്രക്രിയ ആരംഭിച്ച കമാൻഡിന്റെ പേര് (CMD).

awk

നൽകിയിരിക്കുന്ന പാറ്റേൺ ഉപയോഗിച്ച് awk കമാൻഡ് ഫയലുകളിലെ വാചകം കണ്ടെത്തുകയും മാറ്റിസ്ഥാപിക്കുകയും ചെയ്യുന്നു: awk "pattern (action)" test.txt

wget

wget കമാൻഡ് ഇന്റർനെറ്റിൽ നിന്ന് ഫയലുകൾ ഡൗൺലോഡ് ചെയ്യുകയും നിലവിലെ ഡയറക്ടറിയിൽ സ്ഥാപിക്കുകയും ചെയ്യുന്നു.

$ wget https://github.com/mikeizbicki/ucr-cs100

എൻസി

പിംഗ്

പിംഗ് കമാൻഡ് ഒരു നെറ്റ്‌വർക്ക് കണക്ഷൻ പരിശോധിക്കുന്നു.

$ പിംഗ് google.com PING google.com (74.125.224.34) 56(84) ഡാറ്റയുടെ ബൈറ്റുകൾ. lax17s01-in-f2.1e100.net (74.125.224.34): 64 ബൈറ്റുകൾ , സമയം 8ms rtt min/avg/max/mdev = 7.794/8.422/10.792/0.699 ms

അവസാനത്തെ സ്ഥിതിവിവരക്കണക്കുകൾ കമാൻഡ് പൂർത്തിയാകുന്നതിന് മുമ്പ് ഉണ്ടാക്കിയ കണക്ഷനുകളുടെ എണ്ണവും അവ പൂർത്തിയാക്കാൻ എടുത്ത സമയവും കാണിക്കുന്നു.

git

പരിസ്ഥിതി വേരിയബിളുകൾ

ഒന്നോ അതിലധികമോ ആപ്ലിക്കേഷനുകൾ ഉപയോഗിക്കുന്ന മൂല്യങ്ങൾ ഉൾക്കൊള്ളുന്ന വേരിയബിളുകളെ പരിസ്ഥിതി വേരിയബിളുകൾ എന്ന് വിളിക്കുന്നു.

എക്സിക്യൂട്ടബിൾ ഫയലുകൾക്കായി സിസ്റ്റം തിരയുന്ന ഡയറക്ടറികളുടെ ഒരു ലിസ്റ്റ് PATH വേരിയബിളിൽ അടങ്ങിയിരിക്കുന്നു.

ഹോം വേരിയബിളിൽ നിലവിലെ ഉപയോക്താവിന്റെ ഹോം ഡയറക്ടറിയിലേക്കുള്ള പാത അടങ്ങിയിരിക്കുന്നു.

കണക്ടറുകൾ

ഒരേസമയം ഒന്നിലധികം കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കാൻ കണക്ടറുകൾ നിങ്ങളെ അനുവദിക്കുന്നു.

$ true && echo Hello Hello $ false || പ്രതിധ്വനി ഹലോ ഹലോ $ എക്കോ ഹലോ ; ls ഹലോ test.txt file1.txt file2.txt

കൺവെയറുകൾ

കൺവെയറുകൾ, അല്ലെങ്കിൽ പൈപ്പുകൾ, വ്യത്യസ്ത ടീമുകളുടെ ഇൻപുട്ട്, ഔട്ട്പുട്ട് ചാനലുകൾ ബന്ധിപ്പിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു. ഇനിപ്പറയുന്ന ഉദാഹരണത്തിൽ, ls കമാൻഡിന്റെ ഔട്ട്പുട്ട് ഹെഡ്ഡിലേക്ക് കൈമാറും, അതിന്റെ ഫലമായി ആദ്യത്തെ 10 ഘടകങ്ങൾ മാത്രമേ പ്രിന്റ് ചെയ്യപ്പെടുകയുള്ളൂ.

$ ls -l | തല

I/O റീഡയറക്ഷൻ

ഔട്ട്പുട്ട് റീഡയറക്ഷൻ

സ്റ്റാൻഡേർഡ് ഔട്ട്പുട്ട് റീഡയറക്‌ഷനായി >, >> എന്നീ ചിഹ്നങ്ങൾ ഉപയോഗിക്കുന്നു.

ഉദാഹരണത്തിന്, ഈ കോഡ് സ്‌ക്രീനിലേയ്‌ക്ക് പകരം ഒരു ഫയലിലേക്ക് ls ഔട്ട്‌പുട്ട് പൈപ്പ് ചെയ്യും:

$ ls > files.txt $ cat files.txt file1.cpp sample.txt

ഫയൽ നിലവിലില്ലെങ്കിൽ, അത് സൃഷ്ടിക്കപ്പെടുന്നു, അത് നിലവിലുണ്ടെങ്കിൽ അത് തിരുത്തിയെഴുതപ്പെടും. തിരുത്തിയെഴുതുന്നത് ഒഴിവാക്കാൻ, നിങ്ങൾ >> കമാൻഡ് ഉപയോഗിക്കണം - ഇത് ഫയലിന്റെ അവസാനം ഡാറ്റ കൂട്ടിച്ചേർക്കുന്നു.

ഇൻപുട്ട് റീഡയറക്ഷൻ

സ്റ്റാൻഡേർഡ് ഔട്ട്പുട്ട് റീഡയറക്ഷന്, ചിഹ്നം ഉപയോഗിക്കുക< . В следующем примере sort берет входные данные из файла, а не с клавиатуры:

$ cat files.txt c b $ അടുക്കുക< files.txt b c

ഞങ്ങൾ ഔട്ട്‌പുട്ട് റീഡയറക്‌ട് ചെയ്‌തിട്ടില്ലാത്തതിനാൽ സോർട്ട് കമാൻഡ് ഫയലിന്റെ ഉള്ളടക്കങ്ങൾ സ്‌ക്രീനിലേക്ക് പ്രിന്റ് ചെയ്യുന്നു. ഇത് ഇതുപോലെ ചെയ്യാൻ കഴിയും:

$sort< files.txt >files_sorted.txt

വിപുലമായ റീഡയറക്ഷൻ

ഒരു റീഡയറക്‌ട് ലൈക്കിൽ > ഫലങ്ങൾ ചേർക്കുന്നു സാധാരണ സ്ട്രീംഔട്ട്പുട്ടും പിശക് ഒഴുക്കും. ഉദാഹരണത്തിന്, test.cpp എന്ന ഫയൽ, stdout എന്ന വരിയെ cout ലേക്കും stderr എന്ന ലൈൻ cerr എന്നതിലേക്കും ഔട്ട്പുട്ട് ചെയ്യും.

$ g++ test.cpp $ ./a.out >& test.txt $ cat test.txt stdout stderr

നിങ്ങൾക്ക് ഒരു നിർദ്ദിഷ്ട ഔട്ട്പുട്ട് ചെയ്യണമെങ്കിൽ ഫയൽ ഡിസ്ക്രിപ്റ്റർ, നിങ്ങൾക്ക് അതിന്റെ നമ്പർ നൽകാം > .

പേര്ഡിസ്ക്രിപ്റ്റർവിവരണം
stdin0 സ്റ്റാൻഡേർഡ് ഇൻപുട്ട്
stdout1 സ്റ്റാൻഡേർഡ് ഔട്ട്പുട്ട്
stderr2 സ്റ്റാൻഡേർഡ് പിശക് ഔട്ട്പുട്ട്

ഉദാഹരണത്തിന്, stderr-നെ test.txt-ലേക്ക് റീഡയറക്‌ട് ചെയ്യുന്നതിന് നിങ്ങൾ ഇനിപ്പറയുന്നവ ചെയ്യണം:

$ g++ test.cpp $ ./a.out 2> test.txt stdout $ cat test.txt stderr

ആക്സസ് അവകാശങ്ങൾ

ഓരോ ഫയലിന്റെയും അനുമതികളെക്കുറിച്ചുള്ള ധാരാളം വിവരങ്ങൾ ls -l കമാൻഡ് പ്രദർശിപ്പിക്കുന്നു:

chmod

chmod കമാൻഡ് ഒരു ഫയലിന്റെ അനുമതികൾ മാറ്റുന്നു. നിർദ്ദിഷ്ട ഉപയോക്താക്കളുടെ അവകാശങ്ങൾ മാറ്റുന്നതിനുള്ള ഫ്ലാഗുകളുടെ സാധാരണ കോമ്പിനേഷനുകൾ ഇതാ:

ഒരു നിർദ്ദിഷ്‌ട ഫയലിൽ എന്തുചെയ്യണമെന്നതിന്റെ വിവരണത്തോടെ നിങ്ങൾക്ക് chmod എന്ന് വിളിക്കാം. - ചിഹ്നം എന്നാൽ അവകാശങ്ങൾ നീക്കം ചെയ്യുക, + ചിഹ്നം എന്നത് കൂട്ടിച്ചേർക്കുക എന്നാണ്. ഇനിപ്പറയുന്ന ഉദാഹരണം ഫയലിനെ ഉടമയ്ക്കും ഗ്രൂപ്പിനും വായിക്കാവുന്നതും എഴുതാവുന്നതുമാക്കും:

$ chmod ug+rw test.txt $ ls -l test.txt -rw-rw---- 1 ഉപയോക്തൃ ഗ്രൂപ്പ് 1097374 ജനുവരി 26 2:48 test.txt

കൂടാതെ, 1 അനുവദനീയവും 0 അല്ലാത്തതുമായ ഒക്ടൽ നമ്പറുകൾക്കൊപ്പം chmod ഉപയോഗിക്കാം:

Rwx = 111 = 7 rw- = 110 = 6 r-x = 101 = 5 r-- = 100 = 4

അടുത്ത കമാൻഡ് മുമ്പത്തേതിന് സമാനമായി പ്രവർത്തിക്കും.

ഈ ലേഖനം വായിച്ചതിനുശേഷം, അത് എന്താണെന്ന് നിങ്ങൾ കണ്ടെത്തും ബാഷ്(സ്റ്റാൻഡേർഡ് ലിനക്സ് കമാൻഡ് ഇന്റർപ്രെറ്റർ), സ്റ്റാൻഡേർഡ് കമാൻഡുകൾ എങ്ങനെ ഉപയോഗിക്കാമെന്ന് മനസിലാക്കുക: ls, cp, എംവി...ഇനോഡുകളുടെ ഉദ്ദേശ്യം മനസ്സിലാക്കുക, കഠിനവും പ്രതീകാത്മകവുമായ ലിങ്കുകൾ, കൂടാതെ മറ്റു പലതും.

ഈ ട്യൂട്ടോറിയൽ Linux-ലേക്ക് പുതിയവർക്കും, ഫയലുകൾ പകർത്തുന്നതും നീക്കുന്നതും, ലിങ്കുകൾ സൃഷ്‌ടിക്കുക, റീഡയറക്‌ടുകൾക്കും പൈപ്പുകൾക്കുമൊപ്പം സാധാരണ Linux കമാൻഡുകൾ ഉപയോഗിച്ച് അടിസ്ഥാന ലിനക്‌സ് തത്വങ്ങൾ അവലോകനം ചെയ്യാനോ മെച്ചപ്പെടുത്താനോ ആഗ്രഹിക്കുന്നവർക്കും വേണ്ടിയുള്ളതാണ്. ഈ ലേഖനത്തിൽ അവതരിപ്പിച്ച മെറ്റീരിയൽ വിശദീകരിക്കുന്ന നിരവധി ഉദാഹരണങ്ങൾ നിങ്ങൾ കണ്ടെത്തും. തുടക്കക്കാർക്ക്, മിക്ക വിവരങ്ങളും പുതിയതായിരിക്കും, എന്നാൽ കൂടുതൽ വിപുലമായ ഉപയോക്താക്കൾക്ക് ഈ മെറ്റീരിയൽ നിലവിലുള്ള അറിവും വൈദഗ്ധ്യവും സംഗ്രഹിക്കുന്നതിനുള്ള മികച്ച ഉപകരണമായിരിക്കും.

ബാഷിന്റെ ആമുഖം

ഷെൽ

നിങ്ങൾ Linux ഉപയോഗിക്കുകയാണെങ്കിൽ, ലോഗിൻ ചെയ്‌തതിന് ശേഷം നിങ്ങളെ ഒരു കമാൻഡ് ഇന്റർപ്രെറ്റർ പ്രോംപ്റ്റ് സ്വാഗതം ചെയ്യുന്നുവെന്ന് നിങ്ങൾക്കറിയാം. ഉദാഹരണത്തിന് ഇത്:

\$

ലോഗിൻ ചെയ്ത ശേഷം ഗ്രാഫിക്കൽ ഷെൽ ലോഡ് ചെയ്താൽ, കമാൻഡ് ഇന്റർപ്രെറ്ററിലേക്ക് പോകുന്നതിന് നിങ്ങൾ ഒരു ടെർമിനൽ എമുലേറ്റർ (ഗ്നോം-ടെർമിനൽ, xfce4-ടെർമിനൽ, കോൺസോൾ, xterm, rxvt...) ലോഞ്ച് ചെയ്യണം അല്ലെങ്കിൽ വെർച്വൽ ടെർമിനലുകളിൽ ഒന്നിലേക്ക് മാറേണ്ടതുണ്ട്. ക്ലിക്ക് ചെയ്യുന്നതിലൂടെ CtrlAltF1അഥവാ CtrlAltF2തുടങ്ങിയവ.

നിങ്ങളുടെ കമ്പ്യൂട്ടറിലെ ഷെൽ പ്രോംപ്റ്റ് ഉദാഹരണത്തിൽ കാണിച്ചിരിക്കുന്നതിൽ നിന്ന് വ്യത്യസ്തമായിരിക്കാം. അതിൽ ഉപയോക്തൃനാമം, കമ്പ്യൂട്ടറിന്റെ പേര്, നിലവിലുള്ള ഡയറക്ടറിയുടെ പേര് എന്നിവ അടങ്ങിയിരിക്കാം. എന്നാൽ ഈ വ്യത്യാസങ്ങളെല്ലാം ഉണ്ടായിരുന്നിട്ടും, ഈ ക്ഷണം അച്ചടിക്കുന്ന പ്രോഗ്രാമിനെ വിളിക്കുന്നു " ഷെൽ"(ഷെൽ), മിക്കവാറും നിങ്ങളുടെ കമാൻഡ് ഷെൽ എന്ന് വിളിക്കപ്പെടുന്ന ഒരു പ്രോഗ്രാം ആണ് ബാഷ്.

നിങ്ങൾ ബാഷ് ഓടിക്കുകയാണോ?

ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് ബാഷ് പ്രവർത്തിക്കുന്നുണ്ടോയെന്ന് പരിശോധിക്കാം:

\$ എക്കോ \$ഷെൽ/ബിൻ/ബാഷ്

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

\$ ബാഷ്

എന്താണ് ബാഷ്

ബാഷ് (അതിന്റെ ചുരുക്കെഴുത്ത്" ബിനമ്മുടെ- നേട്ടം എസ്.എച്ച് ell") ആണ് മിക്ക ലിനക്സ് സിസ്റ്റങ്ങളിലെയും സ്റ്റാൻഡേർഡ് കമാൻഡ് ഇന്റർപ്രെറ്റർ. ഉപയോക്താവ് കമ്പ്യൂട്ടറിനെ നിയന്ത്രിക്കുന്ന കമാൻഡുകൾ പ്രോസസ്സ് ചെയ്യുന്നതും നടപ്പിലാക്കുന്നതും അവന്റെ ഉത്തരവാദിത്തങ്ങളിൽ ഉൾപ്പെടുന്നു. നിങ്ങൾ ചെയ്തുകഴിഞ്ഞാൽ, നിങ്ങൾക്ക് ഷെൽ പ്രക്രിയയിൽ നിന്ന് പുറത്തുകടക്കാം. കീകൾ അമർത്തി ശേഷം Ctrlഡി, ടീമുകൾ പുറത്ത്അഥവാ പുറത്തുകടക്കുകഷെൽ പ്രക്രിയ അവസാനിപ്പിക്കും, നിങ്ങളുടെ ഉപയോക്തൃനാമവും പാസ്‌വേഡും വീണ്ടും നൽകാൻ നിങ്ങളോട് ആവശ്യപ്പെടും.

"സിഡി" ഉപയോഗിക്കുന്നു

ഫയൽ സിസ്റ്റം നാവിഗേറ്റ് ചെയ്യാൻ ബാഷ് ഉപയോഗിച്ച് തുടങ്ങാം. ആരംഭിക്കുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് ടൈപ്പ് ചെയ്യുക:

$ cd/

ഈ കമാൻഡ് ഉപയോഗിച്ച് ഞങ്ങൾ ബാഷിലേക്ക് പോകണമെന്ന് പറഞ്ഞു റൂട്ട് ഡയറക്ടറി - / . സിസ്റ്റത്തിലെ എല്ലാ ഡയറക്ടറികളും ഒരു ട്രീ ഘടനയിൽ ക്രമീകരിച്ചിരിക്കുന്നു / ഇതാണ് അതിന്റെ തുടക്കം (അല്ലെങ്കിൽ റൂട്ട്). ടീം സി.ഡിനിലവിലുള്ള വർക്കിംഗ് ഡയറക്ടറി മാറ്റാൻ സഹായിക്കുന്നു.

പാതകൾ

എവിടെയാണെന്ന് കണ്ടെത്താൻ ഫയൽ സിസ്റ്റംനിലവിൽ നിങ്ങൾ (നിലവിലെ പ്രവർത്തിക്കുന്ന ഡയറക്ടറി) തരത്തിലാണ്:

\$ പിഡബ്ല്യുഡി /

മുകളിലുള്ള ഉദാഹരണത്തിൽ / - കമാൻഡ് ആർഗ്യുമെന്റ് സി.ഡി- വിളിച്ചു പാത. നമ്മൾ നീക്കാൻ ആഗ്രഹിക്കുന്ന ഫയൽ സിസ്റ്റത്തിലെ സ്ഥാനമാണിത്. ഈ സാഹചര്യത്തിൽ / - കേവല പാത, റൂട്ട് ഡയറക്ടറിയുമായി ആപേക്ഷികമാണ് പാത എന്നാണ് ഇതിനർത്ഥം.

സമ്പൂർണ്ണ പാതകൾ

സമ്പൂർണ്ണ പാതകളുടെ ചില ഉദാഹരണങ്ങൾ ഇതാ

/dev /usr /usr/bin /usr/local/bin

നിങ്ങൾ ഇതിനകം ശ്രദ്ധിച്ചിരിക്കാം, ഈ പാതകളെല്ലാം അവ ആരംഭിക്കുന്നത് പൊതുവായുള്ളതാണ് / . കമാൻഡിന് ഒരു ആർഗ്യുമെന്റായി പാത്ത് /usr/local/bin വ്യക്തമാക്കുന്നതിലൂടെ സി.ഡിഞങ്ങൾ അവളോട് റൂട്ട് ഡയറക്ടറിയിലേക്ക് പോകാൻ പറയുന്നു / , പിന്നീട് usr ഡയറക്‌ടറിയിലേക്കും പിന്നീട് ലോക്കലിലേക്കും ബിന്നിലേക്കും. സമ്പൂർണ്ണ പാതകൾ എപ്പോഴും ആരംഭിക്കുന്നു /

ആപേക്ഷിക പാതകൾ

രണ്ടാമത്തെ തരം പാതയെ ആപേക്ഷികമെന്ന് വിളിക്കുന്നു. ബാഷ്, ടീം സി.ഡിമറ്റ് കമാൻഡുകൾ നിലവിലെ ഡയറക്‌ടറിയുമായി ബന്ധപ്പെട്ട് ഈ പാതകളെ കണക്കാക്കുന്നു. ആപേക്ഷിക പാതകൾ ഒരിക്കലും ആരംഭിക്കുന്നില്ല / . ഉദാഹരണത്തിന്, നമ്മൾ /usr-ൽ ആണെങ്കിൽ

\$ cd /usr

അപ്പോൾ നമുക്ക് ആപേക്ഷിക പാത്ത് ഉപയോഗിച്ച് /usr/local/bin-ലേക്ക് പോകാം

\$ സിഡി ലോക്കൽ/ബിൻ \$ പിഡബ്ല്യുഡി/usr/local/bin

ഉപയോഗം ".."

ആപേക്ഷിക പാതകളിൽ ഒന്നോ അതിലധികമോ ഡയറക്ടറികൾ അടങ്ങിയിരിക്കാം «..» . ".." എന്നത് ഞങ്ങളുടെ വർക്കിംഗ് ഡയറക്ടറിയുടെ പാരന്റ് ഡയറക്ടറിയെ സൂചിപ്പിക്കുന്നു. ഉദാഹരണം:

\$ പിഡബ്ല്യുഡി/usr/local/bin\$ CD.. \$ പിഡബ്ല്യുഡി/usr/local

നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, ടീം CD..'നമ്മെ ഉയർന്ന തലത്തിലേക്ക് ഉയർത്തുന്നു'.

ചേർക്കാം .. ആപേക്ഷിക പാതയിലേക്ക്. നമ്മൾ ഉള്ള അതേ തലത്തിലുള്ള ഒരു ഡയറക്ടറിയിലേക്ക് നീങ്ങാൻ ഇത് ഞങ്ങളെ അനുവദിക്കും. ഉദാഹരണം:

\$ പിഡബ്ല്യുഡി/usr/local\$ സിഡി ../ഷെയർ \$ പിഡബ്ല്യുഡി/usr/share

ആപേക്ഷിക പാതകൾ ഉപയോഗിക്കുന്ന ഉദാഹരണങ്ങൾ

ആപേക്ഷിക പാതകൾ വളരെ ബുദ്ധിമുട്ടുള്ളതായിരിക്കാം. ചില ഉദാഹരണങ്ങൾ ഇതാ. കമാൻഡുകൾ നടപ്പിലാക്കുന്നതിന്റെ ഫലം കാണിക്കുന്നില്ല, നിങ്ങൾ ഏത് ഡയറക്ടറിയാണ് ബാഷ് ഉപയോഗിക്കുന്നതെന്ന് നിർണ്ണയിക്കാൻ ശ്രമിക്കുക.

\$ സിഡി / ബിൻ \$ cd ../usr/share/zoneinfo \$ cd /usr/X11R6/bin \$ cd ../lib/X11 \$ cd /usr/bin \$ cd ../bin/../bin

പ്രവർത്തന ഡയറക്ടറി "."

ടീമിനെ കുറിച്ച് പറഞ്ഞു തീരും മുമ്പ് സി.ഡി, എടുത്തു പറയേണ്ട ചില കാര്യങ്ങൾ കൂടിയുണ്ട്. ഒന്നാമതായി, മറ്റൊരു പ്രത്യേക ഡയറക്ടറി ഉണ്ട് «.» , ഇത് നിലവിലെ ഡയറക്ടറിയിലേക്ക് വിരൽ ചൂണ്ടുന്നു. നിലവിലെ ഡയറക്‌ടറിയിലുള്ള എക്‌സിക്യൂട്ടബിൾ ഫയലുകൾ പ്രവർത്തിപ്പിക്കുന്നതിന് ഈ ഡയറക്‌ടറി ഉപയോഗിക്കുന്നു.

\$ ./myprog

അവസാനത്തെ ഉദാഹരണത്തിൽ, നിലവിലെ ഡയറക്ടറിയിൽ സ്ഥിതി ചെയ്യുന്ന ഒരു എക്സിക്യൂട്ടബിൾ ഫയലാണ് myprog, അത് നിർവ്വഹണത്തിനായി സമാരംഭിക്കും.

cd ഉം ഉപയോക്താവിന്റെ ഹോം ഡയറക്ടറിയും

പോകാൻ വേണ്ടി ഹോം ഡയറക്ടറി, നിങ്ങൾ ഡയൽ ചെയ്യണം

\$ സി.ഡി

ഒരു തർക്കവുമില്ലാതെ, cd നിങ്ങളെ നിങ്ങളുടെ ഹോം ഡയറക്ടറിയിലേക്ക് മാറ്റും. സൂപ്പർഉപയോക്താവിന്, ഹോം ഡയറക്‌ടറി സാധാരണയായി /റൂട്ട് ആണ് സാധാരണ ഉപയോക്താക്കൾ- /ഹോം/ഉപയോക്തൃനാമം/. എന്നാൽ ഹോം ഡയറക്‌ടറിയിൽ സ്ഥിതി ചെയ്യുന്ന ഒരു പ്രത്യേക ഫയൽ വ്യക്തമാക്കണമെങ്കിൽ എന്തുചെയ്യും. ഉദാഹരണത്തിന്, പ്രോഗ്രാമിലേക്കുള്ള ഒരു വാദമായി 'myprog'? നിങ്ങൾക്ക് എഴുതാം:

\$ ./myprog /home/user/myfile.txt

എന്നിരുന്നാലും, ഫയലുകളിലേക്കുള്ള സമ്പൂർണ്ണ പാതകൾ ഉപയോഗിക്കുന്നത് എല്ലായ്പ്പോഴും സൗകര്യപ്രദമല്ല. ഉപയോഗിച്ച് ഒരേ പ്രവർത്തനം നടത്താം ~ -ടിൽഡുകൾ:

\$ ./myprog ~/myfile.txt

~ - ബാഷിലെ ഉപയോക്താവിന്റെ ഹോം ഡയറക്ടറി ചൂണ്ടിക്കാണിക്കുന്ന ഒരു പ്രത്യേക നാമം.

മറ്റ് ഉപയോക്താക്കളുടെ ഹോം ഡയറക്ടറികൾ

എന്നാൽ മറ്റൊരു ഉപയോക്താവിന്റെ ഹോം ഡയറക്‌ടറിയിലെ ഒരു ഫയൽ ചൂണ്ടിക്കാണിക്കേണ്ടി വന്നാലോ? ഇത് ചെയ്യുന്നതിന്, ടിൽഡിന് ശേഷം നിങ്ങൾ ഈ ഉപയോക്താവിന്റെ പേര് സൂചിപ്പിക്കേണ്ടതുണ്ട്. ഉദാഹരണത്തിന്, ഉപയോക്തൃ ഫ്രെഡിന്റെ ഹോം ഡയറക്‌ടറിയിലുള്ള fredsfile.txt ഫയലിലേക്ക് പോയിന്റ് ചെയ്യാൻ:

\$ ./myprog ~fred/fredsfile.txt

Linux കമാൻഡുകൾ

ls ആമുഖം

ഒരുപക്ഷേ നിങ്ങൾക്ക് ടീമിനെ ഇതിനകം പരിചിതമായിരിക്കും ls, ആർഗ്യുമെന്റുകളില്ലാതെ വിളിക്കപ്പെടുന്ന, പ്രവർത്തിക്കുന്ന ഡയറക്ടറിയിൽ സംഭരിച്ചിരിക്കുന്ന ഫയലുകളുടെ ഒരു ലിസ്റ്റ് പ്രദർശിപ്പിക്കുന്നു:

\$ cd /usr \$ ls X11R6 doc i686-pc-linux-gnu lib man sbin ssl bin gentoo-x86, libexec portage share tmp distfiles i686-linux info local portage.old src ഉൾപ്പെടുന്നു

നിങ്ങൾ ഓപ്ഷൻ വ്യക്തമാക്കുകയാണെങ്കിൽ -എ, മറഞ്ഞിരിക്കുന്നവ ഉൾപ്പെടെ (ഒരു ഡോട്ടിൽ തുടങ്ങുന്ന പേരുകൾ) എല്ലാ ഫയലുകളും നിങ്ങൾക്ക് കാണാൻ കഴിയും.

\$ ls -a. bin gentoo-x86-ൽ libexec portage share tmp ഉൾപ്പെടുന്നു .. distfiles i686-linux info local portage.old src X11R6 doc i686-pc-linux-gnu lib man sbin ssl

ഡയറക്ടറികളുടെ വിശദമായ ലിസ്റ്റ്

കമാൻഡ് തന്നെ ശേഷം lsഒന്നോ അതിലധികമോ ഫയലുകൾ അല്ലെങ്കിൽ ഡയറക്ടറികൾ അതിന്റെ ആർഗ്യുമെന്റായി വ്യക്തമാക്കാം. നിങ്ങൾ ഒരു ഫയലിന്റെ പേര് വ്യക്തമാക്കുകയാണെങ്കിൽ, കമാൻഡ് lsഈ ഫയലിനെക്കുറിച്ചുള്ള വിവരങ്ങൾ മാത്രം പ്രദർശിപ്പിക്കും. നിങ്ങൾ ഡയറക്ടറിയുടെ പേര് വ്യക്തമാക്കുകയാണെങ്കിൽ, lsഅതിന്റെ എല്ലാ ഉള്ളടക്കങ്ങളും കാണിക്കും. ഓപ്ഷൻ '-എൽ'ടീമുകൾ lsഫയലിന്റെ പേരുകളേക്കാൾ കൂടുതൽ അറിയണമെങ്കിൽ ഇത് വളരെ ഉപയോഗപ്രദമാകും പൂർണമായ വിവരംഅവയെക്കുറിച്ച് (ഫയലിനുള്ള അനുമതികൾ, ഉടമയുടെ പേര്, ഫയലിന്റെ അവസാന പരിഷ്ക്കരണ സമയവും അതിന്റെ വലുപ്പവും).

ഇനിപ്പറയുന്ന ഉദാഹരണം ഓപ്ഷന്റെ ഉപയോഗം കാണിക്കുന്നു '-എൽ'/usr ഡയറക്ടറിയിൽ സംഭരിച്ചിരിക്കുന്ന ഫയലുകളെക്കുറിച്ചുള്ള വിവരങ്ങൾ പ്രദർശിപ്പിക്കുന്നതിന്

\$ ls -l /usr drwxr-xr-x 7 റൂട്ട് റൂട്ട് 168 നവംബർ 24 14:02 X11R6 drwxr-xr-x 2 റൂട്ട് റൂട്ട് 14576 ഡിസംബർ 27 08:56 bin drwxr-xr-x 2 റൂട്ട് റൂട്ട് 8856 ഡിസംബർ 26 12:47 റൂട്ട് റൂട്ട് lwrx9 ഡിസംബർ 22 20:57 ഡോക് -> ഷെയർ/ഡോക് drwxr-xr-x 62 റൂട്ട് റൂട്ട് 1856 ഡിസംബർ 27 15:54 gentoo-x86 drwxr-xr-x 4 റൂട്ട് റൂട്ട് 152 ഡിസംബർ 12 23:10 i686-linux- drwxr- 4 റൂട്ട് റൂട്ട് 96 നവംബർ 24 13:17 i686-pc-linux-gnu drwxr-xr-x 54 റൂട്ട് റൂട്ട് 5992 ഡിസംബർ 24 22:30 lrwxrwxrwx 1 റൂട്ട് റൂട്ട് 10 ഡിസംബർ 22 20:57 info -> sharer/info drwx -x 28 റൂട്ട് റൂട്ട് 13552 ഡിസംബർ 26 00:31 lib drwxr-xr-x 3 റൂട്ട് റൂട്ട് 72 നവംബർ 25 00:34 libexec drwxr-xr-x 8 റൂട്ട് റൂട്ട് 240 ഡിസംബർ 22 20:57 ലോക്കൽ lrwxrw0:57 പ്രാദേശിക lrwxrwx2 റൂട്ട് 9 2 :57 man -> share/man lrwxrwxrwx 1 റൂട്ട് റൂട്ട് 11 ഡിസംബർ 8 07:59 portage -> gentoo-x86/ drwxr-xr-x 60 റൂട്ട് റൂട്ട് 1864 ഡിസംബർ 8 07:55 portage.old drwxr-xr-x 3 റൂട്ട് റൂട്ട് 3096 ഡിസംബർ 22 20:57 sbin drwxr-xr-x 46 റൂട്ട് റൂട്ട് 1144 ഡിസംബർ 24 15:32 പങ്കിടുക drwxr-xr-x 8 റൂട്ട് റൂട്ട് 328 ഡിസംബർ 26 00:07 src drwxr-xr-x 6 4 റൂട്ട് റൂട്ട് 147 ഇല്ല 25 ssl lrwxrwxrwx 1 റൂട്ട് റൂട്ട് 10 ഡിസംബർ 22 20:57 tmp -> ../var/tmp

ലിസ്റ്റിലെ ഓരോ ഫയലിന്റെയും ആക്സസ് അവകാശങ്ങളെക്കുറിച്ചുള്ള വിവരങ്ങൾ ആദ്യ നിര കാണിക്കുന്നു. (ഏത് അക്ഷരം എന്താണ് അർത്ഥമാക്കുന്നത് എന്ന് കുറച്ച് കഴിഞ്ഞ് ഞാൻ വിശദീകരിക്കും) അടുത്ത കോളം ലിസ്റ്റിലെ ഓരോ ഘടകത്തിലേക്കും ഉള്ള ലിങ്കുകളുടെ എണ്ണം കാണിക്കുന്നു. മൂന്നാമത്തെയും നാലാമത്തെയും നിരകൾ യഥാക്രമം ഫയലിന്റെ ഉടമയും ഗ്രൂപ്പുമാണ്. അഞ്ചാമത്തെ നിര വലുപ്പമാണ്. ആറാമത്തേത് ഫയൽ അവസാനമായി പരിഷ്കരിച്ച സമയമാണ് ('അവസാനം പരിഷ്കരിച്ച സമയം' അല്ലെങ്കിൽ mtime). അവസാന നിര ഫയലിന്റെയോ ഡയറക്ടറിയുടെയോ പേരാണ് (ഇതൊരു ലിങ്കാണെങ്കിൽ, ' –> ' എന്നത് അത് സൂചിപ്പിക്കുന്ന വസ്തുവിന്റെ പേരിനെ സൂചിപ്പിക്കുന്നു).

ഡയറക്ടറികൾ മാത്രം എങ്ങനെ കാണും

ചിലപ്പോൾ ഡയറക്‌ടറികളെ കുറിച്ചുള്ള വിവരങ്ങൾ മാത്രം കാണേണ്ടതുണ്ട്, അല്ലാതെ അവയുടെ എല്ലാ ഉള്ളടക്കങ്ങളെയും കുറിച്ചല്ല. ഈ ടാസ്ക്കിനെ നേരിടാൻ ഓപ്ഷൻ നിങ്ങളെ സഹായിക്കും '-ഡി', ഡയറക്‌ടറികളെക്കുറിച്ചുള്ള വിവരങ്ങൾ മാത്രം പ്രദർശിപ്പിക്കാൻ കമാൻഡിനോട് പറയുന്നു. ഉദാഹരണം:

\$ ls -dl /usr /usr/bin /usr/X11R6/bin ../share drwxr-xr-x 4 റൂട്ട് റൂട്ട് 96 ഡിസംബർ 18 18:17 ../ഷെയർ drwxr-xr-x 17 റൂട്ട് റൂട്ട് 576 ഡിസംബർ 24 09:03 /usr drwxr-xr-x 2 റൂട്ട് റൂട്ട് 3192 ഡിസംബർ 26 12:52 /usr /X11R6/bin drwxr-xr-x 2 റൂട്ട് റൂട്ട് 14576 ഡിസംബർ 27 08:56 /usr/bin

ആവർത്തന പട്ടികയും ഐനോഡ് വിവരങ്ങളും

ഓപ്ഷൻ പ്രവർത്തനം '-ആർ'പ്രവർത്തനത്തിന്റെ വിപരീതം '-ഡി'. ഒരു ഡയറക്‌ടറിയിൽ സ്ഥിതിചെയ്യുന്ന ഫയലുകളെക്കുറിച്ചുള്ള വിവരങ്ങൾ ആവർത്തിച്ച് പ്രദർശിപ്പിക്കാൻ ഇത് നിങ്ങളെ അനുവദിക്കുന്നു. ഡയറക്‌ടറിയിലെ ഉള്ളടക്കങ്ങൾ ആദ്യം കാണിക്കുന്നു ഉയർന്ന തലം, തുടർന്ന് എല്ലാ ഉപഡയറക്‌ടറികളിലെയും ഉള്ളടക്കങ്ങൾ, എന്നിങ്ങനെ. ഈ കമാൻഡിന്റെ ഔട്ട്‌പുട്ട് വളരെ ദൈർഘ്യമേറിയതായിരിക്കും, അതിനാൽ ഞങ്ങൾ ഒരു ഉദാഹരണം നൽകുന്നില്ല, പക്ഷേ ' എന്ന് ടൈപ്പ് ചെയ്തുകൊണ്ട് നിങ്ങൾക്ക് സ്വയം ശ്രമിക്കാവുന്നതാണ്. ls -R' അഥവാ ' ls -Rl‘.

ഒടുവിൽ, ഓപ്ഷൻ '-ഞാൻ'ഓരോ ഫയൽ സിസ്റ്റം ഒബ്ജക്റ്റിന്റെയും ഐനോഡുകൾ പ്രിന്റ് ചെയ്യാൻ ഉപയോഗിക്കുന്നു.

\$ ls -i /usr 1409 X11R6 314258 i686-linux 43090 libexec 13394 sbin 1417 bin 1513 i686-pc-linux-gnu 5120 ലോക്കൽ 13408 ഷെയർ 8316 distfiles 7947 ൽ 37767 37947 ഡിസ്‌ഫൈലുകൾ ഉൾപ്പെടുന്നു fo 9389 2 portage 36737 ssl 70744 gentoo-x86 1585 lib 5132 portage. പഴയ 784 ടിഎംപി

എന്താണ് ഐനോഡുകൾ?

ഓരോ ഫയൽ സിസ്റ്റം ഒബ്‌ജക്‌റ്റും (ഫയൽ, ഡയറക്‌ടറി...) എന്ന് വിളിക്കപ്പെടുന്ന അതിന്റേതായ അദ്വിതീയ നമ്പർ ഉണ്ട് ഇനോഡ്(ഇനോഡ് നമ്പർ). ഈ വിവരങ്ങൾ നിസ്സാരമെന്ന് തോന്നുമെങ്കിലും ഐനോഡുകളുടെ പ്രവർത്തനം മനസ്സിലാക്കുന്നത് പല ഫയൽ സിസ്റ്റം പ്രവർത്തനങ്ങളും മനസ്സിലാക്കാൻ നിങ്ങളെ സഹായിക്കും. ഉദാഹരണത്തിന്, നമുക്ക് നോക്കാം «.» ഒപ്പം «..» ഓരോ ഡയറക്ടറിയിലും ഉള്ള ലിങ്കുകൾ പോലെ. ഒരു ഡയറക്ടറി എന്താണെന്ന് മനസ്സിലാക്കാൻ «..» , /ഉപയോഗം/ലോക്കൽ എന്ന ഡയറക്ടറിയുടെ ഐനോഡ് കണ്ടെത്തുക

\$ ls -id /usr/local 5120 /usr/local

നമുക്ക് കാണാനാകുന്നതുപോലെ, /usr/local എന്ന ഡയറക്‌ടറിയുടെ ഐനോഡ് 5120 ആണ്. ഇപ്പോൾ /usr/local/bin/.. എന്ന ഡയറക്‌ടറി എന്താണെന്ന് നോക്കാം:

\$ ls -id /usr/local/bin/.. 5120 /usr/local/bin/..

/usr/local, /usr/local/bin/.. ഡയറക്‌ടറികളുടെ ഐനോഡുകൾ ഒന്നുതന്നെയാണെന്ന് ഇത് മാറുന്നു! ഇതിനർത്ഥം, inode 5120 രണ്ട് പേരുകളിൽ പരാമർശിച്ചിരിക്കുന്നു: /usr/local, /usr/local/bin/.. അതായത്, ഇവ ഒരേ ഡയറക്ടറിയുടെ രണ്ട് വ്യത്യസ്ത പേരുകളാണ്. ഓരോ ഐനോഡും ഡിസ്കിലെ ഒരു പ്രത്യേക സ്ഥാനത്തേക്ക് പോയിന്റ് ചെയ്യുന്നു.

ഓരോ ഐനോഡിനും ഒന്നിലധികം ഫയൽസിസ്റ്റം ഒബ്‌ജക്‌റ്റ് നാമങ്ങളുമായി ബന്ധപ്പെടുത്താവുന്നതാണ്. 'പര്യായപദങ്ങളുടെ' (അതേ ഐനോഡിനെ പരാമർശിക്കുന്ന ഫയൽ സിസ്റ്റം ഒബ്‌ജക്‌റ്റുകൾ) 'കമാൻഡ് ഔട്ട്‌പുട്ടിന്റെ രണ്ടാമത്തെ കോളത്തിലെ നമ്പർ കാണിക്കുന്നു. ls -l‘.

\$ ls -dl /usr/local drwxr-xr-x 8 റൂട്ട് റൂട്ട് 240 ഡിസംബർ 22 20:57 /usr/local

ഈ ഉദാഹരണം കാണിക്കുന്നത് (രണ്ടാം കോളം) /usr/local ഡയറക്ടറി 8 വ്യത്യസ്ത ഫയൽ സിസ്റ്റം ഒബ്‌ജക്റ്റുകളാൽ പരാമർശിക്കപ്പെടുന്നു എന്നാണ്. അവരുടെ പേരുകൾ ഇതാ:

/usr/local /usr/local/. /usr/local/bin/.. /usr/local/games/.. /usr/local/lib/.. /usr/local/sbin/.. /usr/local/share/.. /usr/local/ src/..

mkdir

കമാൻഡ് നോക്കാം mkdir. പുതിയ ഡയറക്ടറികൾ സൃഷ്ടിക്കാൻ ഇത് ഉപയോഗിക്കുന്നു. /tmp ഡയറക്‌ടറിയിൽ മൂന്ന് പുതിയ ഡയറക്‌ടറികൾ (ടിക്, ടാക്, ടോ) സൃഷ്‌ടിക്കുന്നത് ഇനിപ്പറയുന്ന ഉദാഹരണം കാണിക്കുന്നു.

\$ cd /tmp $ mkdir ടിക് ടാക് ടോ

ഡിഫോൾട്ട് കമാൻഡ് mkdirഒരു നെസ്റ്റഡ് ഡയറക്ടറി ഘടന സൃഷ്ടിക്കാൻ കഴിയില്ല. അതിനാൽ, നിങ്ങൾക്ക് നിരവധി നെസ്റ്റഡ് ഡയറക്ടറികൾ സൃഷ്ടിക്കണമെങ്കിൽ ( വോൺ/ഡെർ/ഫുൾ), തുടർന്ന് നിങ്ങൾ ഈ കമാൻഡ് മൂന്ന് തവണ വിളിക്കേണ്ടതുണ്ട്:

\$ mkdir win/der/ful mkdir: "won/der/ful" ഡയറക്‌ടറി സൃഷ്‌ടിക്കാൻ കഴിയില്ല: അത്തരം ഫയലോ ഡയറക്‌ടറിയോ ഇല്ല \$ mkdir വിജയിച്ചു \$ mkdir win/der \$ mkdir win/der/ful

ഓപ്ഷൻ ചേർത്തുകൊണ്ട് നിങ്ങൾക്ക് ഈ പ്രവർത്തനം ലളിതമാക്കാം '-p' mkdir കമാൻഡിലേക്ക്. ഒരു നെസ്റ്റഡ് ഡയറക്ടറി ഘടന സൃഷ്ടിക്കാൻ ഈ ഓപ്ഷൻ നിങ്ങളെ അനുവദിക്കുന്നു:

\$ mkdir -p ഈസി/ആസ്/പൈ

ഈ യൂട്ടിലിറ്റിയുടെ കഴിവുകളെക്കുറിച്ച് കൂടുതലറിയാൻ, കമാൻഡ് വിളിക്കുന്ന സഹായം വായിക്കുക മനുഷ്യൻ mkdir. ഈ മാനുവലിൽ മിക്കവാറും എല്ലാ കമാൻഡുകൾക്കും സഹായമുണ്ട് (ഉദാഹരണത്തിന് മനുഷ്യൻ ls), ഒഴികെ സി.ഡി, കാരണം ഇത് ബാഷിൽ നിർമ്മിച്ചിരിക്കുന്നു (അത്തരം കമാൻഡുകൾക്ക്, സഹായത്തെ ഇതുപോലെ വിളിക്കുന്നു: സഹായം cd)

സ്പർശിക്കുക

നമുക്ക് കമാൻഡുകൾ പഠിക്കുന്നതിലേക്ക് പോകാം cpഒപ്പം എംവി, ഫയലുകളും ഡയറക്ടറികളും പകർത്താനും പേരുമാറ്റാനും നീക്കാനും ഉപയോഗിക്കുന്നു. എന്നാൽ അതിനുമുമ്പ്, കമാൻഡ് ഉപയോഗിച്ച് /tmp ഡയറക്ടറിയിൽ ഒരു ശൂന്യമായ ഫയൽ ഉണ്ടാക്കാം സ്പർശിക്കുക:

\$ cd /tmp \$ കോപ്പിം സ്പർശിക്കുക

ടീം സ്പർശിക്കുകഅപ്ഡേറ്റ് സമയം അവസാന പ്രവേശനംഫയലിലേക്ക് (കമാൻഡ് ഔട്ട്പുട്ടിന്റെ ആറാമത്തെ കോളം ls -l) ഇത് ഇതിനകം നിലവിലുണ്ടെങ്കിൽ അല്ലെങ്കിൽ അത് നിലവിലില്ലെങ്കിൽ ഒരു പുതിയ ശൂന്യമായ ഫയൽ സൃഷ്ടിക്കുന്നു. ഈ പ്രവർത്തനത്തിന് ശേഷം നമുക്ക് ഒരു ശൂന്യമായ ഫയൽ ഉണ്ടായിരിക്കണം /tmp/പകർപ്പ്.

പ്രതിധ്വനി

ഇപ്പോൾ നമുക്ക് ഒരു ശൂന്യമായ ഫയൽ ഉണ്ട്, നമുക്ക് അതിൽ എഴുതാം ടെക്സ്റ്റ് സ്ട്രിംഗ്കമാൻഡ് ഉപയോഗിച്ച് പ്രതിധ്വനി, അതിലേക്ക് കൈമാറിയ ആർഗ്യുമെന്റ് ഔട്ട്പുട്ട് ചെയ്യുന്നു സാധാരണ ഉപകരണംഔട്ട്പുട്ട് (ഞങ്ങളുടെ കാര്യത്തിൽ ടെക്സ്റ്റ് ടെർമിനൽ).

\$ എക്കോ "ആദ്യ ഫയൽ"ആദ്യ ഫയൽ

നമ്മുടെ ഫയലിലേക്ക് ഒരു വരി എഴുതാൻ, കമാൻഡ് ഔട്ട്പുട്ട് അതിലേക്ക് റീഡയറക്‌ട് ചെയ്യാം പ്രതിധ്വനി:

\$ echo "firstfile" > copyme

അടയാളം > (കൂടുതൽ) ഇടതുവശത്തുള്ള കമാൻഡിന്റെ ഔട്ട്‌പുട്ട് വലതുവശത്തുള്ള ഫയലിലേക്ക് റീഡയറക്‌ട് ചെയ്യാൻ ഷെല്ലിനോട് പറയുന്നു. അതേ പേരിൽ ഒരു ഫയൽ നിലവിലില്ലെങ്കിൽ, അത് യാന്ത്രികമായി സൃഷ്ടിക്കപ്പെടും. അത്തരമൊരു ഫയൽ ഇതിനകം നിലവിലുണ്ടെങ്കിൽ, അത് തിരുത്തിയെഴുതപ്പെടും (നമ്മുടെ വരി എഴുതുന്നതിന് മുമ്പ് അതിലെ എല്ലാ ഉള്ളടക്കങ്ങളും മായ്‌ക്കപ്പെടും). ടീം 'ls -l'ഞങ്ങളുടെ ഫയലിന്റെ വലുപ്പം ഇപ്പോൾ 10 ബൈറ്റുകളാണെന്ന് കാണിക്കും - ഒമ്പത് ബൈറ്റുകൾ 'firstfile' എന്ന വാക്കും ഒരു ബൈറ്റ് ലൈൻ ഫീഡ് പ്രതീകവും ഉൾക്കൊള്ളുന്നു.

\$ ls -l കോപ്പിമെ-rw-r--r-- 1 റൂട്ട് റൂട്ട് 10 ഡിസംബർ 28 14:13 കോപ്പിം

പൂച്ചയും സി.പി

ഒരു ഫയലിന്റെ ഉള്ളടക്കങ്ങൾ ടെർമിനലിലേക്ക് ഔട്ട്പുട്ട് ചെയ്യുന്നതിന്, കമാൻഡ് ഉപയോഗിക്കുക പൂച്ച:

\$ പൂച്ച കോപ്പിംആദ്യ ഫയൽ

ഇപ്പോൾ നമുക്ക് കമാൻഡിന്റെ അടിസ്ഥാന പ്രവർത്തനം വിശകലനം ചെയ്യാൻ തുടങ്ങാം cp. ഈ കമാൻഡ് രണ്ട് ആർഗ്യുമെന്റുകൾ എടുക്കുന്നു. ആദ്യത്തേത് നിലവിലുള്ള ഫയലിന്റെ പേരാണ് ('പകർപ്പ്'), രണ്ടാമത്തേത് നമ്മൾ നിർമ്മിക്കാൻ ആഗ്രഹിക്കുന്ന പുതിയ പകർപ്പിന്റെ പേരാണ് ('copiedme').

\$ cp copyme copyedme

അത് നമുക്ക് ഉറപ്പിക്കാം പുതിയ കോപ്പിഫയലിന് മറ്റൊരു ഐനോഡ് നമ്പർ ഉണ്ട് (ഇതിനർത്ഥം ഞങ്ങൾക്ക് യഥാർത്ഥത്തിൽ ഒരു പുതിയ പ്രത്യേക ഫയൽ ലഭിച്ചു എന്നാണ്, പഴയതിലേക്കുള്ള ലിങ്ക് മാത്രമല്ല)

\$ ls -i copyme copyedme 648284 കോപ്പിഡ്മെ 650704 കോപ്പിമെ

എംവി

ഇനി നമുക്ക് കമാൻഡ് ഉപയോഗിക്കാം എംവിഫയൽ പുനർനാമകരണം ചെയ്യാൻ ("copiedme" -> "movedme"). ഈ പ്രവർത്തനത്തിന് ശേഷം ഐനോഡ് നമ്പർ മാറില്ല, ഫയലിന്റെ പേര് മാത്രം മാറുന്നു.

\$ mv പകർത്തി എന്നെ നീക്കി \$ ഞാൻ എന്നെ നീക്കി 648284 എന്നെ നീക്കി

പുനർനാമകരണം ചെയ്ത ഫയൽ അത് സ്ഥിതിചെയ്യുന്ന ഫയൽ സിസ്റ്റത്തിൽ തന്നെ നിലനിൽക്കുമെന്ന വ്യവസ്ഥയിൽ മാത്രം ഐനോഡ് നമ്പർ മാറില്ല യഥാർത്ഥ ഫയൽ. ഈ ട്യൂട്ടോറിയലിന്റെ ഇനിപ്പറയുന്ന ഭാഗങ്ങളിലൊന്നിൽ ഫയൽ സിസ്റ്റങ്ങളുടെ ഘടനയെക്കുറിച്ച് ഞങ്ങൾ സൂക്ഷ്മമായി പരിശോധിക്കും.

ടീം എംവിഫയലുകളുടെ പേരുമാറ്റാൻ മാത്രമല്ല, അവ നീക്കാനും നിങ്ങളെ അനുവദിക്കുന്നു. ഉദാഹരണത്തിന്, ഒരു ഫയൽ നീക്കാൻ /var/tmp/myfile.txtഡയറക്ടറിയിലേക്ക് /വീട്/ഉപയോക്താവ്നിങ്ങൾ കമാൻഡ് നൽകേണ്ടതുണ്ട്:

\$ mv /var/tmp/myfile.txt /home/user

ഫയൽ ഉപയോക്താവിന്റെ ഹോം ഡയറക്ടറിയിലേക്ക് നീക്കും ഉപയോക്താവ്അത് മറ്റൊരു ഫയൽ സിസ്റ്റത്തിലാണെങ്കിലും (ഈ സാഹചര്യത്തിൽ, ഫയൽ ഒരു പുതിയ സ്ഥലത്തേക്ക് പകർത്തപ്പെടും, അതിനുശേഷം യഥാർത്ഥമായത് ഇല്ലാതാക്കപ്പെടും). നിങ്ങൾ ഊഹിച്ചതുപോലെ, മറ്റൊരു ഫയൽ സിസ്റ്റത്തിലേക്ക് ഒരു ഫയൽ നീക്കുന്നത് അതിന്റെ ഐനോഡിനെ മാറ്റുന്നു. ഓരോ ഫയൽ സിസ്റ്റത്തിനും അതിന്റേതായ പ്രത്യേക ഐനോഡുകൾ ഉള്ളതിനാലാണ് ഇത് സംഭവിക്കുന്നത്.

പുതിയ അസൈൻ ചെയ്‌ത ഐനോഡ് നമ്പർ പഴയതുമായി പൊരുത്തപ്പെടാനുള്ള സാധ്യതയുണ്ടെന്ന കാര്യം ശ്രദ്ധിക്കേണ്ടതാണ്, പക്ഷേ ഇത് വളരെ ചെറുതാണ്.

ഒരേ സമയം നിരവധി ഫയലുകൾ ഒരു ഡയറക്ടറിയിലേക്ക് നീക്കാൻ നിങ്ങൾ എഴുതേണ്ടതുണ്ട്:

\$ mv /var/tmp/myfile1.txt /var/tmp/myfile2.txt /home/user \$ mv -t /home/user /var/tmp/myfile1.txt /var/tmp/myfile2.txt

നിങ്ങൾ ഓപ്ഷൻ ചേർക്കുകയാണെങ്കിൽ '-വി', നടത്തിയ പ്രവർത്തനത്തെക്കുറിച്ചുള്ള ഒരു റിപ്പോർട്ട് സ്ക്രീനിൽ പ്രദർശിപ്പിക്കും:

\$ mv -vt /home/user /var/tmp/myfile1.txt /var/tmp/myfile2.txt"/var/tmp/myfile1.txt" -> "/home/user/myfile1.txt" "/var/tmp/myfile2.txt" -> "/home/user/myfile2.txt"

മിക്ക ലിനക്സ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളിലും, ബാഷ് ആണ് ഡിഫോൾട്ട് കമാൻഡ് ലൈൻ ഇന്റർപ്രെറ്റർ. നിലവിലെ വ്യാഖ്യാതാവിനെ നിർണ്ണയിക്കാൻ, ഇനിപ്പറയുന്ന കമാൻഡ് നൽകുക:

$ എക്കോ $SHELL
/ബിൻ/ബാഷ്

ഈ ഉദാഹരണം ഉപയോഗിക്കുന്നുകമാൻഡ് ലൈൻ ഇന്റർപ്രെറ്റർ ബാഷ്. മറ്റ് നിരവധി കമാൻഡ് വ്യാഖ്യാതാക്കളുണ്ട്. മറ്റൊരു വ്യാഖ്യാതാവിനെ സജീവമാക്കുന്നതിന്, നിങ്ങൾക്ക് അതിന്റെ പേര് കമാൻഡ് ലൈനിൽ നൽകാം (ksh, tcsh, csh, sh, bash, മുതലായവ).

മിക്ക ഫുൾ-ഫീച്ചർ ലിനക്സ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളും ഇവിടെ വിവരിച്ചിരിക്കുന്ന എല്ലാ കമാൻഡ് ഇന്റർപ്രെറ്ററുകളും നൽകുന്നു. എന്നാൽ ചെറിയ ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളിൽ ഒന്നോ രണ്ടോ ഇന്റർപ്രെട്ടറുകൾ നൽകാം.

നിങ്ങൾക്ക് താൽപ്പര്യമുള്ള ഇനത്തിന്റെ ലഭ്യത പരിശോധിക്കുന്നുവ്യാഖ്യാതാവ്കമാൻഡ് ലൈൻ

താൽപ്പര്യമുള്ള കമാൻഡ് ഇന്റർപ്രെറ്ററിന്റെ ലഭ്യത പരിശോധിക്കുന്നതിനുള്ള ഏറ്റവും എളുപ്പ മാർഗം കമാൻഡ് ലൈനിൽ അതിന്റെ പേര് നൽകുക എന്നതാണ്. വ്യാഖ്യാതാവ് ആരംഭിച്ചിട്ടുണ്ടെങ്കിൽ, അത് ലഭ്യമാണ്.

ഇതര ഷെല്ലുകൾ തിരഞ്ഞെടുക്കുന്നതിന് നിരവധി കാരണങ്ങളുണ്ട്.

  • UNIX System V സിസ്റ്റങ്ങളിൽ (ഇവയിൽ പലതും സ്ഥിരസ്ഥിതിയായി ksh ഉപയോഗിക്കുന്നു) അല്ലെങ്കിൽ Sun Microsystems, മറ്റ് Berkeley UNIX സിസ്റ്റങ്ങൾ (ഇവ പലപ്പോഴും csh ഉപയോഗിക്കുന്നു) എന്നിവയിൽ പ്രവർത്തിച്ച പരിചയം. ഈ സാഹചര്യത്തിൽ, ഈ വ്യാഖ്യാതാക്കളുടെ ഉപയോഗംകമാൻഡ് ലൈൻകൂടുതൽ സൗകര്യപ്രദമായിരിക്കും.
  • ഒരു നിർദ്ദിഷ്‌ട കമാൻഡ് ഇന്റർപ്രെറ്ററിനായി സൃഷ്‌ടിച്ച സ്‌ക്രിപ്റ്റുകൾ പ്രവർത്തിപ്പിക്കേണ്ടതിന്റെ ആവശ്യകത.
  • ഒരു ഇതര ഷെല്ലിന്റെ കഴിവുകൾ അഭികാമ്യമാണ്. ഉദാഹരണത്തിന്, ലിനക്സ് ഉപയോക്തൃ ഗ്രൂപ്പിലെ ഒരു അംഗം ksh ഉപയോഗിക്കാൻ ഇഷ്ടപ്പെടുന്നു, കാരണം ബാഷ് അപരനാമങ്ങൾ സൃഷ്ടിക്കുന്നതിൽ അതൃപ്തനാണ്.

മിക്ക ഉപയോക്താക്കളും ഒരു ഷെല്ലിൽ പ്രവർത്തിക്കാൻ താൽപ്പര്യപ്പെടുന്നുണ്ടെങ്കിലും, നേടിയ കഴിവുകൾ മറ്റുള്ളവരിൽ പ്രവർത്തിക്കാൻ പഠിക്കാൻ അവരെ സഹായിക്കുന്നു.വ്യാഖ്യാതാക്കൾ കമാൻഡ് ലൈൻ , ഇടയ്ക്കിടെ നോക്കുന്നു റഫറൻസ് ഗൈഡ്(ഉദാഹരണത്തിന്, manbash കമാൻഡ് ഉപയോഗിച്ച്). മറ്റൊരു വ്യാഖ്യാതാവിലേക്ക് മാറാൻ ഒരു കാരണവുമില്ലാത്തതിനാൽ മിക്ക ആളുകളും ബാഷ് ഉപയോഗിക്കുന്നു.

ബാഷും ch

ബോൺ എഗെയ്ൻ ഷെൽ എന്നതിന്റെ ചുരുക്കെഴുത്താണ് ബാഷ് എന്ന പേര്. AT&TBell Labs-ലെ Steve Bourne സൃഷ്ടിച്ച Bourneshell വ്യാഖ്യാതാവിനെ (sh കമാൻഡ്) ബാഷിന് അവകാശമായി ലഭിച്ചതായി ഈ ചുരുക്കെഴുത്ത് സൂചിപ്പിക്കുന്നു. ബ്രയാൻ ഫോക്സ് ഓഫ് ഫ്രീ സോഫ്റ്റ്‌വെയർ ഫൗണ്ടേഷൻഗ്നു പദ്ധതിയുടെ ഭാഗമായി ബാഷ് സൃഷ്ടിച്ചു. തുടർന്ന്, വികസനം കേസ് വെസ്റ്റേൺ റിസർവ് യൂണിവേഴ്സിറ്റിയിലെ ചേത് റാമിയുടെ കൈകളിലേക്ക് കടന്നു.

ഈ സമയത്ത് sh, ksh വ്യാഖ്യാതാക്കൾക്കായി വികസിപ്പിച്ച ഫീച്ചറുകൾ ബാഷ് ഇന്റർപ്രെറ്ററിൽ അടങ്ങിയിരിക്കുന്നു മുമ്പത്തെ പതിപ്പുകൾ UNIX, കൂടാതെ csh വ്യാഖ്യാതാവിന്റെ നിരവധി സവിശേഷതകൾ.

സ്പെഷ്യലൈസ്ഡ് അല്ലാതെ മിക്ക ലിനക്സ് സിസ്റ്റങ്ങളും നിങ്ങൾക്ക് പ്രതീക്ഷിക്കാം (ഉദാഹരണത്തിന്, എംബെഡ് ചെയ്തതോ ബൂട്ട് ചെയ്തതോ ആയവ പോലുള്ളവ ബാഹ്യ ഡ്രൈവ്), ബാഷ് ആണ് ഡിഫോൾട്ട് വ്യാഖ്യാതാവ്. സ്പെഷ്യലൈസ്ഡ് സിസ്റ്റങ്ങളിൽ, ഒരു ചെറിയ കമാൻഡ് ഇന്റർപ്രെറ്റർ ആവശ്യമായി വന്നേക്കാം, ഇത് പരിമിതമായ കഴിവുകളും സൂചിപ്പിക്കുന്നു.

ഇതിലെ മിക്ക ഉദാഹരണങ്ങളുംലേഖനംബാഷ് ഉപയോഗത്തിനായി രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത്.

മറ്റ് ഷെല്ലുകളുടെ സ്വഭാവം അനുകരിച്ചുകൊണ്ട് ബാഷ് ഇന്റർപ്രെറ്ററിന് വിവിധ അനുയോജ്യത മോഡുകളിൽ പ്രവർത്തിക്കാൻ കഴിയും. ഇതിന് ബോൺ ഷെല്ലിന്റെ (sh) അല്ലെങ്കിൽ POSK സ്റ്റാൻഡേർഡ്-കംപ്ലയന്റ് ഷെല്ലിന്റെ (ബാഷ് -) സ്വഭാവം അനുകരിക്കാനാകും.posix).

തൽഫലമായി, കോൺഫിഗറേഷൻ ഫയലുകൾ വിജയകരമായി വായിക്കാനും മറ്റ് ഷെല്ലുകൾക്കായി പ്രത്യേകം എഴുതിയ സ്ക്രിപ്റ്റുകൾ പ്രവർത്തിപ്പിക്കാനും ബാഷിന് കൂടുതൽ സാധ്യതയുണ്ട്.

ബൂട്ട് ചെയ്ത ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങൾ ഒഴികെ നൽകിയിരിക്കുന്ന എല്ലാ ലിനക്സ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളും ഡിഫോൾട്ടായി ബാഷ് ഇന്റർപ്രെറ്റർ ഉപയോഗിക്കുന്നു നീക്കം ചെയ്യാവുന്ന മീഡിയ, സ്ഥിരസ്ഥിതിയായി ആഷ് ഇന്റർപ്രെറ്റർ ഉപയോഗിക്കുന്നു.

tcsh (ഒപ്പം മുമ്പത്തെ csh വ്യാഖ്യാതാവ്) ഉപയോഗിക്കുന്നു

tcsh കമാൻഡ് ഇന്റർപ്രെട്ടർ എന്നത് Cshell (csh) ഇന്റർപ്രെറ്ററിന്റെ ഒരു ഓപ്പൺ സോഴ്‌സ് നടപ്പിലാക്കലാണ്. csh ഇന്റർപ്രെറ്റർ സൃഷ്ടിച്ചത് ബിൽ ജോയ് ആണ്, ഇത് മിക്കവാറും എല്ലാ ബെർക്ക്‌ലി യുണിക്സ് സിസ്റ്റങ്ങളിലും സ്ഥിരസ്ഥിതിയായി ഉപയോഗിക്കുന്നു (അത്തരം സിസ്റ്റങ്ങൾ വിതരണം ചെയ്തത് സൺ മൈക്രോസിസ്റ്റംസ് ആണ്).

കമാൻഡ് ലൈൻ എഡിറ്റിംഗ്, കമാൻഡ് ഹിസ്റ്ററി മാനേജ്മെന്റ് രീതികൾ എന്നിങ്ങനെയുള്ള csh-ന്റെ പല സവിശേഷതകളും tcsh-ലും മറ്റ് ഷെല്ലുകളിലും നടപ്പിലാക്കിയിട്ടുണ്ട്. sh കമാൻഡ് ബാഷ് ഇന്റർപ്രെറ്ററിനെ sh-compatible മോഡിൽ പ്രവർത്തിപ്പിക്കുന്നതുപോലെ, csh കമാൻഡ് tcsh ഇന്റർപ്രെറ്ററിനെ csh-compatible മോഡിൽ പ്രവർത്തിപ്പിക്കുന്നു.

ആഷ് ഇന്റർപ്രെറ്റർ ഉപയോഗിക്കുന്നു

ബെർക്ക്‌ലി യുണിക്‌സ് ഷ് ഇന്റർപ്രെറ്ററിന്റെ ഭാരം കുറഞ്ഞ പതിപ്പാണ് ആഷ് ഇന്റർപ്രെറ്റർ. ഇതിൽ നിരവധി അടിസ്ഥാന സവിശേഷതകൾ അടങ്ങിയിട്ടില്ല കൂടാതെ കമാൻഡ് ഹിസ്റ്ററി പോലുള്ള സവിശേഷതകൾ നൽകുന്നില്ല.

പരിമിതമായ സിസ്റ്റം റിസോഴ്‌സുകളുള്ള എംബഡഡ് സിസ്റ്റങ്ങളിൽ ഉപയോഗിക്കുന്നതിന് ആഷ് ഇന്റർപ്രെറ്റർ അനുയോജ്യമാണ്. FedoraCore 4 ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിൽ, ആഷ് ഇന്റർപ്രെട്ടർ ബാഷ് ഇന്റർപ്രെറ്ററിനേക്കാൾ ചെറിയ അളവിലുള്ള ഒരു ക്രമമാണ്.

zsh ഉപയോഗിക്കുന്നു

sh ദ്വിഭാഷിയുടെ മറ്റൊരു ക്ലോണാണ് zsh വ്യാഖ്യാതാവ്. ഇത് POSIX കംപ്ലയിന്റാണ് (ബാഷ് പോലെ), എന്നാൽ അക്ഷരപ്പിശക് പരിശോധനയും കമാൻഡ് ലൈൻ എഡിറ്റിംഗിൽ വ്യത്യസ്തമായ സമീപനവും ഉൾപ്പെടെയുള്ള മറ്റ് സവിശേഷതകളുണ്ട്. ആദ്യകാല ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളിൽ zsh ഇന്റർപ്രെട്ടർ ഡിഫോൾട്ടായിരുന്നു. MacOS സിസ്റ്റങ്ങൾ X, എന്നാൽ ഇൻ ആധുനിക സംവിധാനങ്ങൾഡിഫോൾട്ട് ഇന്റർപ്രെറ്റർ ബാഷ് ആണ്.

കമാൻഡ് ഷെൽ (കമാൻഡ് ഇന്റർപ്രെറ്റർ അല്ലെങ്കിൽ ലളിതമായി ഷെൽ എന്നും അറിയപ്പെടുന്നു) ആണ് ഏറ്റവും പ്രധാനപ്പെട്ട ഉപയോക്തൃ പ്രക്രിയ. ഇതാണ് ടെക്സ്റ്റ് മോഡിൽ സിസ്റ്റവുമായുള്ള ഉപയോക്തൃ ഇടപെടൽ ഉറപ്പാക്കുന്നത്, കമാൻഡുകൾ നൽകാൻ നിങ്ങളെ അനുവദിക്കുന്നു. നിങ്ങൾ ടെക്സ്റ്റ് കൺസോളിൽ ലോഗിൻ ചെയ്യുമ്പോൾ പ്രവർത്തിക്കുകയും നിങ്ങൾക്ക് ഒരു കമാൻഡ് ലൈൻ ഇന്റർഫേസ് നൽകുകയും ചെയ്യുന്ന ഒന്നാണ് ഇത്.

സൗകര്യത്തിനനുസരിച്ച് കൊണ്ടുപോകേണ്ട ആവശ്യമില്ല GUI, കമാൻഡ് ലൈൻ കുറച്ചുകാണിക്കുക. ഒന്നാമതായി, പല ഭരണപരമായ ജോലികളും അവിടെ നിന്ന് മാത്രമേ പൂർത്തിയാക്കാൻ കഴിയൂ; രണ്ടാമതായി, പതിവ് നടപടിക്രമങ്ങൾ ഓട്ടോമേറ്റ് ചെയ്യുന്നതിനുള്ള ഏറ്റവും സൗകര്യപ്രദമായ മാർഗമാണ് കമാൻഡ് ലൈൻ. എക്സിക്യൂട്ടബിൾ ഫയലുകൾ, ബിൽറ്റ്-ഇൻ ഷെൽ കമാൻഡുകൾ, കമാൻഡ് അപരനാമങ്ങൾ, ഉപയോക്തൃ-നിർവചിച്ച ഫംഗ്‌ഷനുകൾ, സ്‌ക്രിപ്റ്റ് ഫയലുകൾ (സ്‌ക്രിപ്റ്റുകൾ) - ടെക്‌സ്‌റ്റ് രൂപത്തിലുള്ള കമാൻഡുകളുടെ മുൻകൂട്ടി തയ്യാറാക്കിയ സീക്വൻസുകൾ: ലിനക്‌സിലെ ഒരു കമാൻഡ് എക്‌സിക്യൂട്ട് ചെയ്യാൻ കഴിയുന്ന എന്തും ആണ്.

അങ്ങനെ, കമാൻഡ് ഇന്റർപ്രെറ്റർസ്വന്തം ബിൽറ്റ്-ഇൻ കമാൻഡുകൾ ഉള്ള ഒരു പ്രോഗ്രാമാണ്, അതിന്റേതായ വേരിയബിൾ എൻവയോൺമെന്റ്, കൂടാതെ സിസ്റ്റത്തിൽ നിലവിലുള്ള ബാഹ്യ കമാൻഡുകൾ എക്സിക്യൂട്ട് ചെയ്യാനും നിങ്ങളെ അനുവദിക്കുന്നു.

ഷെൽ ഉപയോക്താവ് നൽകിയ കമാൻഡുകൾ സ്വീകരിക്കുന്നു, ആവശ്യമെങ്കിൽ അവരുടെ ആർഗ്യുമെന്റുകൾ പ്രോസസ്സ് ചെയ്യുന്നു, എക്സിക്യൂഷനുള്ള കമാൻഡുകൾ നൽകുന്നു, അവയുടെ റിട്ടേൺ മൂല്യങ്ങൾ സ്വീകരിക്കുന്നു, കൂടാതെ ആ മൂല്യങ്ങളെ ആശ്രയിച്ച് ചില പ്രവർത്തനങ്ങൾ ചെയ്യുന്നു. കൂടാതെ, സങ്കീർണ്ണമായ ബ്രാഞ്ച് കമാൻഡ് സ്ക്രിപ്റ്റുകൾ എഴുതാൻ നിങ്ങളെ അനുവദിക്കുന്ന ഒരു ബിൽറ്റ്-ഇൻ പ്രോഗ്രാമിംഗ് ഭാഷ (കമാൻഡ് ലാംഗ്വേജ്) ഷെല്ലിനുണ്ട്. വ്യത്യസ്ത ഷെല്ലുകളെ പരസ്പരം വേർതിരിക്കുന്നത് കമാൻഡ് ഭാഷയാണ്, കൂടാതെ ഉപയോക്താക്കൾ അവരുടെ ഷെല്ലുകൾ തിരഞ്ഞെടുക്കുന്ന ഭാഷയാണ് ഇത്.

ലിനക്സ് ഒരു യുണിക്സ് പോലെയുള്ള OS ആണ്. ആൻഡ്രി ടാനെൻബോം സൃഷ്ടിച്ച ഒരു ചെറിയ യുണിക്സ് സിസ്റ്റമായ മിനിക്സിനെ അടിസ്ഥാനമാക്കി ഹെൽസിങ്കി സർവകലാശാലയിലെ (ഫിൻലാൻഡ്) ലിനസ് ടോർവാൾഡ്സ് ആണ് ലിനക്സ് ആദ്യം വികസിപ്പിച്ചത്. ആദ്യകാല വികസനം 80386-നുള്ള സംരക്ഷിത മോഡ് ടാസ്‌ക് സ്വിച്ചിംഗിന്റെ പ്രശ്‌നമാണ് ലിനക്‌സിന് പ്രാഥമികമായി ഉണ്ടായിരുന്നത്. കൂടാതെ ലിനസ് "മിനിക്‌സിനെ തന്നേക്കാൾ മികച്ചതാക്കുന്നത് എങ്ങനെ എന്ന മാനിക് ആശയത്തെക്കുറിച്ച് ഗൗരവമായി ചിന്തിക്കാൻ തുടങ്ങി."

കമാൻഡ് ഷെൽ ഇതിനകം യുണിക്സ് സിസ്റ്റങ്ങളിൽ നിലവിലുണ്ടായിരുന്നു; അത് "ബോൺ ഷെൽ" (ബോൺ ഷെൽ അല്ലെങ്കിൽ ലളിതമായി ഷെൽ) ആയിരുന്നു. കുറച്ച് കഴിഞ്ഞ്, UNIX സിസ്റ്റങ്ങൾ C ഷെൽ വികസിപ്പിച്ചെടുത്തു, അത് C പ്രോഗ്രാമിംഗ് ഭാഷയുടെ വാക്യഘടനയെ അനുസ്മരിപ്പിക്കുന്ന മറ്റൊരു വാക്യഘടന ഉപയോഗിക്കുന്നു.

ലിനക്സിനായി നിരവധി കമാൻഡ് ഇന്റർപ്രെട്ടറുകൾ വികസിപ്പിച്ചെടുത്തിട്ടുണ്ട്. ഡിഫോൾട്ട് "ബാഷ്" ആണ്, വികസിപ്പിച്ചെടുത്തത് ഷെൽ അടിസ്ഥാനമാക്കിയുള്ളത്"ന്യൂ ഷെൽ ഓഫ് ബോൺ" (ബോൺ എഗെയ്ൻ ഷെൽ) എന്ന് വിളിക്കുകയും ചെയ്തു. അതിനാൽ, C ഷെല്ലിൽ ഭാഗികമായി അടങ്ങിയിരിക്കുന്ന നിരവധി ഉപയോഗപ്രദമായ സവിശേഷതകൾ ചേർക്കുന്ന മുൻ ഷെല്ലിന്റെ പരിണാമമാണ് ബാഷ്. പഴയ ഷെൽ വാക്യഘടനയുടെ സൂപ്പർസെറ്റായി ബാഷിനെ കണക്കാക്കാമെന്നതിനാൽ, നല്ല പഴയ ബോൺ ഷെല്ലിൽ എഴുതിയ ഏതൊരു പ്രോഗ്രാമും ബാഷിൽ പ്രവർത്തിക്കണം.

എന്നിരുന്നാലും, Linux OS ഒരു UNIX സിസ്റ്റമല്ല എന്നത് ശ്രദ്ധിക്കേണ്ടതാണ്, കാരണം അതിന്റെ കോഡ് പൂർണ്ണമായും മാറ്റിയെഴുതിയത്, ആദ്യം ലിനസ്, പിന്നീട് നിരവധി UNIX പ്രോഗ്രാമർമാരുടെയും ഇന്റർനെറ്റിൽ നിന്നുള്ള താൽപ്പര്യമുള്ളവരുടെയും സഹായത്തോടെ, വികസിപ്പിക്കാൻ മതിയായ കഴിവുകളും കഴിവുകളും ഉള്ളവർ. സംവിധാനം.

Linux കേർണൽ UNIX-ൽ നിന്നോ മറ്റേതെങ്കിലും കുത്തക ഉറവിടത്തിൽ നിന്നോ ഉള്ള കോഡ് ഉപയോഗിക്കുന്നില്ല. ലിനക്സ് പ്രോഗ്രാമുകൾമസാച്യുസെറ്റ്‌സിലെ കേംബ്രിഡ്ജിലുള്ള ഫ്രീ സോഫ്റ്റ്‌വെയർ ഫൗണ്ടേഷന്റെ ഗ്നു പ്രോജക്റ്റ് വികസിപ്പിച്ചെടുത്തത്. എന്നാൽ ലോകമെമ്പാടുമുള്ള പ്രോഗ്രാമർമാരും ഇതിന് സംഭാവന നൽകി.

ഏറ്റവും സാധാരണമായ ലിനക്സ് ഷെല്ലുകൾ ഇതാ:

  • ബോൺ ഷെൽ - ബോൺ ഷെൽ, യുണിക്സ് പോലുള്ള നിരവധി സിസ്റ്റങ്ങൾക്കുള്ള സ്റ്റാൻഡേർഡ്;
  • ബാഷ് - ബോൺ എഗെയ്ൻ ഷെൽ, "പുതിയ ബോൺ ഷെൽ" (ലിനക്സിൽ സ്ഥിരസ്ഥിതിയായി ഉപയോഗിക്കുന്നു);
  • csh - സി ഷെൽ, സി ഷെൽ: അതിന്റെ കമാൻഡ് ഭാഷയുടെ വാക്യഘടന സി ഭാഷയുടെ വാക്യഘടനയ്ക്ക് സമാനമാണ്;
  • tcsh - ചെറിയ സി ഷെൽ, കുറഞ്ഞ സി ഷെൽ;
  • pdksh - പൊതു ഡൊമെയ്ൻ കോർൺ ഷെൽ, പൊതു കോർൺ ഷെൽ;
  • sash - സ്റ്റാൻഡ്-എലോൺ ഷെൽ, സോഫ്റ്റ്‌വെയർ ലൈബ്രറികൾ ലഭ്യമല്ലാത്തപ്പോൾ ഉപയോഗിക്കാം.

സിസ്റ്റത്തിൽ ഇൻസ്റ്റാൾ ചെയ്തിട്ടുള്ള എല്ലാ ഷെൽ പ്രോഗ്രാമുകളുടെയും ഒരു ലിസ്റ്റ് /etc/shells ഫയലിൽ സ്ഥിതി ചെയ്യുന്നു.

ഓരോ ഉപയോക്താവും സിസ്റ്റത്തിൽ ലോഗിൻ ചെയ്യുമ്പോൾ അവനുവേണ്ടി ലോഞ്ച് ചെയ്യുന്ന പ്രാരംഭ ഷെൽ /etc/passwd ഫയലിൽ വ്യക്തമാക്കിയിരിക്കുന്നു. അത് ബാഷ് ആയിരിക്കണമെന്നില്ല. അഡ്മിനിസ്ട്രേറ്റർക്ക് പൊതുവേ കഴിയും ചില ഉപയോക്താക്കൾരജിസ്ട്രേഷന് ശേഷം ലോഡ് ചെയ്യേണ്ട "ഷെൽ" ആയി /sbin/nologin വ്യക്തമാക്കി ലോഗിൻ അനുവദിക്കരുത്. അല്ലെങ്കിൽ ലോഗുകൾ കാണാൻ നിങ്ങളെ അനുവദിക്കുന്ന പ്രത്യേകം രൂപകൽപ്പന ചെയ്ത ഒരു സ്ക്രിപ്റ്റ് പോലും വ്യക്തമാക്കുക.

ലിനക്സിൽ /etc/passwd ഫയൽ എഡിറ്റ് ചെയ്യാൻ ഉണ്ട് പ്രത്യേക സംഘം vipw , എഡിറ്റിംഗിന്റെ കൃത്യത പരിശോധിക്കുന്നു (കമാൻഡ് അഡ്മിനിസ്ട്രേറ്റർക്ക് മാത്രമേ ലഭ്യമാകൂ).

പിന്നീട്, ഡിഫോൾട്ട് ഷെല്ലിൽ പ്രവർത്തിക്കുമ്പോൾ, നിങ്ങൾക്ക് നിലവിലുള്ള ഷെൽ ഏതെങ്കിലും ഇൻസ്റ്റാൾ ചെയ്തവയിലേക്ക് മാറ്റാം (കൂടുതൽ കൃത്യമായി പറഞ്ഞാൽ, ഒരു സബ്ഷെൽ നൽകുക). പുറത്തുകടക്കാനും പാരന്റ് ഷെല്ലിലേക്ക് മടങ്ങാനും, എക്സിറ്റ് കമാൻഡ് നൽകുക. പ്രാരംഭ ഷെല്ലിൽ, ഈ കമാൻഡ് സെഷൻ അവസാനിപ്പിക്കുന്നു.

ഏത് ഷെല്ലിലും, നിങ്ങൾക്ക് മറ്റൊരു ഷെല്ലിൽ നിന്നുള്ള കമാൻഡുകൾ അടങ്ങുന്ന കമാൻഡ് സ്ക്രിപ്റ്റുകൾ പ്രവർത്തിപ്പിക്കാൻ കഴിയും: ഓരോ സ്ക്രിപ്റ്റിന്റെയും ആദ്യ വരിയിൽ ഏത് ഷെല്ലിലാണ് അത് എക്സിക്യൂട്ട് ചെയ്യേണ്ടത് എന്നതിന്റെ സൂചന അടങ്ങിയിരിക്കുന്നു, നിലവിലെ ഷെൽ അതിനായി നിർദ്ദിഷ്ട ചൈൽഡ് പ്രോസസ്സ് പ്രവർത്തിപ്പിക്കുന്നു.

ഞാൻ പറഞ്ഞതുപോലെ, സ്ഥിരസ്ഥിതിയായി ഒരു പുതിയ ഉപയോക്താവിന് ബാഷ് ഷെൽ നൽകിയിട്ടുണ്ട്. മറ്റ് ഷെല്ലുകളുടെ നിരവധി മെച്ചപ്പെടുത്തലുകളും മികച്ച സവിശേഷതകളും ഉള്ള ഒരു മികച്ച ഷെല്ലാണിത്, ഇത് മാറ്റാൻ ഞാൻ ശുപാർശ ചെയ്യുന്നില്ല. തുടർന്നുള്ള കാര്യങ്ങളിൽ, ഞാൻ "ഷെൽ" എന്ന് പറയുമ്പോൾ, ഞാൻ അർത്ഥമാക്കുന്നത് ബാഷ് ആയിരിക്കും.

2. കമാൻഡ് ലൈൻ പാഴ്സിംഗ്, തിരഞ്ഞെടുത്ത ബാഷ് ഫംഗ്ഷനുകൾ

വ്യാഖ്യാതാവ്, കമാൻഡ് ലൈൻ സ്വീകരിച്ച്, അതിന്റെ ശക്തമായ പ്രവർത്തനങ്ങൾ ഉപയോഗിച്ച് അതിൽ നിരവധി പരിവർത്തനങ്ങൾ നടത്തുന്നു, അതായത്:

  1. ഇതിനായുള്ള അപരനാമങ്ങൾ വികസിപ്പിക്കുന്നു പെട്ടെന്നുള്ള കോൾഏറ്റവും സാധാരണയായി ഉപയോഗിക്കുന്ന കമാൻഡുകൾ.
  2. നെയിം പാറ്റേണുകൾ ഉപയോഗിച്ച് ഫയലുകൾ തിരയാൻ മെറ്റാക്യാക്‌ടറുകളോ വൈൽഡ്കാർഡുകളോ (*, ?, [, ], ~, (, )) വികസിപ്പിക്കുന്നു.
  3. ഷെല്ലിന് ഉപയോഗിക്കാവുന്ന വേരിയബിളുകൾ മാറ്റിസ്ഥാപിക്കുന്നു.
  4. ഒരു കമാൻഡിന്റെ ഔട്ട്‌പുട്ട് ഒരു പൈപ്പ് ഉപയോഗിച്ച് മറ്റൊരു കമാൻഡിലേക്ക് ഇൻപുട്ടായി റീഡയറക്‌ട് ചെയ്യുന്നു.
  5. കമാൻഡ് ലയനം നടത്തുന്നു.
  6. ഒരു ബിൽറ്റ്-ഇൻ ഇന്റർപ്രെറ്റർ കമാൻഡ് ആണെങ്കിൽ കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യുന്നു, അല്ലെങ്കിൽ കമാൻഡ് ബാഹ്യമാണെങ്കിൽ ഒരു പ്രോസസ്സ് ആരംഭിക്കുന്നു.
  7. റീഡയറക്‌ടുകൾ സ്റ്റാൻഡേർഡ് ഇൻപുട്ട്/ നിഗമനം.

അവസാനത്തെ മൂന്ന് പ്രവർത്തനങ്ങൾ നിർവഹിക്കുന്നതിന്, നിങ്ങൾ പ്രത്യേക ഓപ്പറേറ്റർമാരെ ഉപയോഗിക്കേണ്ടതുണ്ട്. ലിസ്റ്റുചെയ്ത എല്ലാ പ്രവർത്തനങ്ങളും നോക്കാം.

2.1 വിളിപ്പേരുകൾ

ഷെൽ കമാൻഡുകൾ കൂടുതൽ കാര്യക്ഷമമായി നൽകാൻ അനുവദിക്കുന്നതിനാണ് കമാൻഡ് അപരനാമങ്ങൾ രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത്. ഒരു അപരനാമം മുഖേന, ഏതാണ്ട് ഏത് സങ്കീർണ്ണതയുടെയും ഒരു കമാൻഡിനെ ഒരു അനിയന്ത്രിതമായ സ്ട്രിംഗ് ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കാൻ കഴിയും. അപരനാമങ്ങളുടെ പട്ടിക കാണുന്നതിനും ആവശ്യമെങ്കിൽ അതിലേക്ക് ഒരു പുതിയ അപരനാമം ചേർക്കുന്നതിനും അപരനാമം ഉപയോഗിക്കുക.

ഉദാഹരണത്തിന്:

$ എക്‌സ്‌പോർട്ട് HELLO="പരിസ്ഥിതിയിൽ നിന്നുള്ള ഹലോ! " # സ്‌പെയ്‌സ് ഉദ്ധരണികൾ ഉപയോഗിച്ച് രക്ഷപ്പെടണം

പരിസ്ഥിതി വേരിയബിളുകൾ

ഒരു പരിസ്ഥിതി എന്നത് ഒരു കൂട്ടം വേരിയബിളുകളാണ്, അവയുടെ മൂല്യങ്ങൾക്ക് ഷെല്ലിന്റെ സ്വഭാവം മാറ്റാൻ കഴിയും.

ഷെൽ പ്രവർത്തിക്കാൻ തുടങ്ങുമ്പോൾ, അത് പലതും സജ്ജമാക്കുന്നു പരിസ്ഥിതി വേരിയബിളുകൾ. അവരുടെ പേരുകൾ സാധാരണമാണ്. പ്രോഗ്രാമുകൾക്കും സ്ക്രിപ്റ്റുകൾക്കും ആവശ്യമായ വിവരങ്ങൾ സ്വന്തമായി കണ്ടുപിടിക്കാൻ ശ്രമിക്കുന്നതിനുപകരം അവയുടെ മൂല്യങ്ങൾ ആവശ്യപ്പെടാം.

ഈ രീതിയിൽ, നിലവിലെ സെഷനിൽ ഉപയോഗിക്കുന്ന എൻവയോൺമെന്റ് വേരിയബിളുകൾ കമാൻഡ് ഇന്റർപ്രെറ്റർ നിർണ്ണയിക്കുന്നു. നൽകിയ ഓരോ പുതിയ കമാൻഡും യഥാർത്ഥത്തിൽ പാരന്റ് പ്രോസസിന്റെ ചൈൽഡ് പ്രോസസായി പ്രവർത്തിക്കുന്നു, ഈ സാഹചര്യത്തിൽ അത് ബാഷ് കമാൻഡ് ഇന്റർപ്രെറ്ററാണ്. പരിസ്ഥിതി വേരിയബിളുകൾ സാധാരണയിൽ നിന്ന് വ്യത്യസ്തമാണ് വേരിയബിൾ വിഷയങ്ങൾഅവ മാതാപിതാക്കൾക്കും കുട്ടികൾക്കും ലഭ്യമാണെന്ന്. സിസ്റ്റത്തിലെ ഉപയോക്തൃ ആധികാരികതയ്ക്ക് ശേഷം പരിസ്ഥിതി വേരിയബിളുകൾ സ്വയമേവ കണ്ടെത്തൽ സംഭവിക്കുന്നു. ലോഗിൻ പ്രോഗ്രാം, ആധികാരികത ഉറപ്പാക്കൽ പ്രക്രിയ വിജയകരമായി പൂർത്തിയാക്കിയാൽ, ഉപയോക്താവിന്റെ സെഷനിൽ ഏത് കമാൻഡ് ഇന്റർപ്രെറ്റർ ഉപയോഗിക്കണമെന്ന് /etc/passwd ഫയലിനെ അടിസ്ഥാനമാക്കി നിർണ്ണയിക്കുന്നു. കമാൻഡ് ഇന്റർപ്രെറ്റർ നിർവചിച്ചതിന് ശേഷം, താഴെ നൽകിയിരിക്കുന്ന കോൺഫിഗറേഷൻ ഫയലുകൾക്കനുസരിച്ച് സെഷൻ ക്രമീകരിച്ചിരിക്കുന്നു.

കോൺഫിഗറേഷൻ ഫയൽവിവരണം
/etc/profile

സിസ്റ്റത്തിലെ എല്ലാ ഉപയോക്താക്കൾക്കും പരിസ്ഥിതി വേരിയബിളുകൾ നിർവചിക്കുന്നു. ഈ ഫയൽ ആദ്യ ലോഗിൻ സമയത്ത് എക്സിക്യൂട്ട് ചെയ്യപ്പെടുന്നു, കൂടാതെ PATH കമാൻഡ് ലൊക്കേഷൻ സെർച്ച് വേരിയബിൾ, HOSTNAME ഹോസ്റ്റ് നെയിം വേരിയബിൾ, HISTSIZE കമാൻഡ് ഹിസ്റ്ററി സൈസ് വേരിയബിൾ എന്നിവ പോലുള്ള അടിസ്ഥാന പരിസ്ഥിതി വേരിയബിളുകൾ അടങ്ങിയിരിക്കുന്നു. കൂടാതെ, /etc/profile.d ഡയറക്‌ടറിയിലുള്ള കോൺഫിഗറേഷൻ ഫയലുകളിൽ നിന്നും ഈ ഫയൽ അധിക എൻവയോൺമെന്റ് വേരിയബിളുകൾ സൃഷ്ടിക്കുന്നു.

/etc/bashrc

ഓരോ തവണയും ബാഷ് ഷെൽ ആരംഭിക്കുമ്പോൾ എല്ലാ ഉപയോക്താക്കൾക്കുമായി എക്സിക്യൂട്ട് ചെയ്യുന്നു. ഈ ഫയൽ PS1 വേരിയബിളിന്റെ മൂല്യവും അധിക കമാൻഡ് അപരനാമങ്ങളും നിർവചിക്കുന്നു. ഒരു അപരനാമം എന്നത് ഒരു കമാൻഡിന്റെ അല്ലെങ്കിൽ ഏകപക്ഷീയമായി നിർവചിച്ചിരിക്കുന്ന പേരുകളാണ്, അത് കീബോർഡിൽ നിന്ന് അവ നൽകാതെ തന്നെ, എന്നാൽ അനുബന്ധ അപരനാമം വിളിച്ച് അവയെ വിളിക്കുന്നതിലൂടെ, സങ്കീർണ്ണമായ കമാൻഡുകൾ നടപ്പിലാക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു. ഈ ഫയലിൽ നിർവചിച്ചിരിക്കുന്ന വേരിയബിളുകൾ സമാനമായ ഉപയോക്തൃ-നിർവചിച്ച ഫയൽ -/.bashrc-ന് വീണ്ടും അസൈൻ ചെയ്യാൻ കഴിയും, അതിന് ഉയർന്ന മുൻഗണനയുണ്ട്.

-/.ബാഷ് പ്രൊഫൈൽ

വ്യക്തിഗത ഉപയോക്തൃ ക്രമീകരണങ്ങൾ അടങ്ങിയ ഫയലായി ഉപയോഗിക്കുന്നു. ഉപയോക്താവ് ലോഗിൻ ചെയ്യുമ്പോൾ ഒരിക്കൽ മാത്രം എക്സിക്യൂട്ട് ചെയ്യുന്നു. കൂടാതെ, ഈ ഫയൽ -/.bashrc എന്ന ഫയൽ പ്രവർത്തിപ്പിക്കുന്നു

~/.bashrc

ഈ ഫയലിൽ പരിസ്ഥിതി വേരിയബിളുകളും അപരനാമങ്ങളും അടങ്ങിയിരിക്കുന്നു ഉപയോക്താവ് ഇൻസ്റ്റാൾ ചെയ്തു. ഉപയോക്താവ് ലോഗിൻ ചെയ്യുമ്പോഴോ ഒരു പുതിയ ബാഷ് സെഷൻ തുറക്കുമ്പോഴോ ഇത് എക്സിക്യൂട്ട് ചെയ്യപ്പെടുന്നു. ഉപയോക്തൃ വേരിയബിളുകളും അപരനാമങ്ങളും നിർവചിക്കുന്നതിന് ഈ ഫയൽ ഏറ്റവും അനുയോജ്യമാണ്.

~/.bash_logout

നിങ്ങൾ ലോഗ് ഔട്ട് ചെയ്യുമ്പോഴോ ബാഷ് ഇന്റർപ്രെറ്ററിന്റെ അവസാന സെഷൻ അവസാനിപ്പിക്കുമ്പോഴോ ഈ ഫയൽ എക്സിക്യൂട്ട് ചെയ്യപ്പെടും. സ്ഥിരസ്ഥിതിയായി, ഈ ഫയലിൽ ടെർമിനൽ സ്ക്രീൻ ക്ലിയർ ചെയ്യുന്നതിനുള്ള ഒരു കമാൻഡ് അടങ്ങിയിരിക്കുന്നു.

/etc/inputrc

ഈ ഫയലിൽ വിവിധ കീ കോമ്പിനേഷനുകളുടെ വ്യാഖ്യാനത്തിന്റെ ഒരു വിവരണം അടങ്ങിയിരിക്കുന്നു, കൂടാതെ പ്രത്യേക കീ കോമ്പിനേഷനുകളും അടങ്ങിയിരിക്കുന്നു, ഇത് അമർത്തിയാൽ നിർദ്ദിഷ്ട കമാൻഡുകൾ നടപ്പിലാക്കുന്നു.

സിസ്റ്റത്തിനൊപ്പം പ്രവർത്തിക്കുന്ന നിലവിലെ സെഷനിൽ പലപ്പോഴും ഉപയോഗിക്കുന്ന വിവരങ്ങൾ സംഭരിക്കുന്നതിനുള്ള വളരെ സൗകര്യപ്രദമായ മാർഗമാണ് പരിസ്ഥിതി വേരിയബിളുകൾ. ആവശ്യമെങ്കിൽ, ഉപയോക്താവിന് മിക്കവാറും എല്ലാ പരിസ്ഥിതി വേരിയബിളുകളും സൃഷ്ടിക്കാൻ കഴിയും (ഇതിനകം ഉപയോഗത്തിലുള്ള എൻവയോൺമെന്റ് വേരിയബിളുകളുടെ മൂല്യങ്ങൾ മാറ്റാതിരിക്കാൻ ശ്രമിക്കുക) കൂടാതെ കമാൻഡ് ഷെല്ലിൽ പ്രവർത്തിക്കുന്ന മുഴുവൻ സമയത്തും അവയുടെ മൂല്യങ്ങൾ വായിക്കുക. ഒരു താൽക്കാലിക പരിസ്ഥിതി വേരിയബിൾ സൃഷ്ടിക്കുന്നതിന്, നിങ്ങൾ അതിന്റെ പേര് നൽകുകയും അതിന് ഉചിതമായ മൂല്യം നൽകുകയും വേണം. ഉദാഹരണത്തിന്,

എക്‌സ്‌പോർട്ട് AB=/usr/dog/contagious/ringbearer/grind

IN ഈ ഉദാഹരണത്തിൽഫയൽ സിസ്റ്റം ഡയറക്‌ടറി ശ്രേണിയിൽ വളരെ "ആഴത്തിൽ" സ്ഥിതി ചെയ്യുന്ന ഒരു ഡയറക്‌ടറിയിലേക്കുള്ള പാതയാണ് AB എന്ന താൽക്കാലിക എൻവയോൺമെന്റ് വേരിയബിൾ നൽകിയിരിക്കുന്നത്. എക്‌സ്‌പോർട്ട് കമാൻഡ്, AB വേരിയബിളിന്റെ മൂല്യം ഒരു ഷെല്ലിലേക്ക് എക്‌സ്‌പോർട്ട് ചെയ്യേണ്ടതിന്റെ ആവശ്യകതയെ സൂചിപ്പിക്കുന്നു, അത് സിസ്റ്റത്തിൽ നിലവിലുള്ള സെഷനിൽ തുറന്നേക്കാവുന്ന മറ്റ് ഷെല്ലുകൾക്ക് ലഭ്യമാക്കും. ഇപ്പോൾ cd $AB എന്ന കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്താൽ മുകളിലെ ഡയറക്ടറിയിൽ എത്താം

താൽക്കാലിക പരിസ്ഥിതി വേരിയബിളുകളുടെ ഒരേയൊരു പോരായ്മ, സിസ്റ്റവുമായുള്ള നിലവിലെ സെഷൻ അവസാനിക്കുമ്പോൾ അവ യാന്ത്രികമായി നശിപ്പിക്കപ്പെടുന്നു എന്നതാണ്. ഒരു സ്ഥിരമായ (താത്കാലികത്തിന് വിപരീതമായി) എൻവയോൺമെന്റ് വേരിയബിൾ സൃഷ്ടിക്കുന്നതിന്, അത് ഷെൽ കോൺഫിഗറേഷൻ file.bashrc-ലേക്ക് ചേർക്കേണ്ടതാണ്.

/etc/profile, /etc/bashrc കോൺഫിഗറേഷൻ ഫയലുകൾ മാറ്റുന്നതിന്, നിങ്ങൾ റൂട്ട് ആയിരിക്കണം.

സാധാരണ ഉപയോക്താക്കൾക്ക് അവരുടെ ഹോം ഡയറക്‌ടറികളിൽ സ്ഥിതിചെയ്യുന്ന ~/.bash_profile, ~/.bashrc, ~/.bash_Iogout കോൺഫിഗറേഷൻ ഫയലുകൾ പരിഷ്‌ക്കരിക്കാനാകും. എക്‌സ്‌പോർട്ട് കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങളുടെ എൻവയോൺമെന്റ് വേരിയബിളുകൾ സജ്ജീകരിക്കുന്നതിന് ഈ കോൺഫിഗറേഷൻ ഫയലുകൾ കോൺഫിഗർ ചെയ്യാവുന്നതാണ് കൂടാതെ ഏത് സെഷനിലും ഉപയോഗിക്കാനും കഴിയും.

ഏറ്റവും പതിവായി മാറുന്ന പരിസ്ഥിതി വേരിയബിളുകളിൽ ഒന്നാണ് PATH വേരിയബിൾ. നിങ്ങൾക്ക് പാത്ത് എൻവയോൺമെന്റ് വേരിയബിളിനെ അസാധുവാക്കാനോ അനുബന്ധമാക്കാനോ കഴിയും കോൺഫിഗറേഷൻ ഫയൽ~/.bashrc.

ഈ ഉദാഹരണത്തിൽ, PATH വേരിയബിളിൽ അതിന്റെ നിലവിലെ മൂല്യവും ഹോം ഡയറക്ടറിയും എക്സിക്യൂട്ടബിൾ ഫയലുകൾക്കായുള്ള തിരയൽ പാതയായി അടങ്ങിയിരിക്കും.

നിലവിലെ ഷെല്ലിന്റെ പരിതസ്ഥിതിയിൽ ഈ മാറ്റങ്ങൾ പ്രയോഗിക്കുന്നതിന്, നിങ്ങൾ കമാൻഡ് സോഴ്സ് .bashrc പ്രവർത്തിപ്പിക്കണം.

ഏറ്റവും സാധാരണമായ ഷെൽ എൻവയോൺമെന്റ് വേരിയബിളുകൾ ഇവയാണ്:

  • ബാഷ് - അടങ്ങിയിരിക്കുന്നു മുഴുവൻ പാതലേക്ക് ബാഷ് കമാൻഡ്(സാധാരണയായി ഈ വേരിയബിളിന്റെ മൂല്യം /bin/bash ആണ്).
  • BASH_VERSION - ബാഷ് പതിപ്പ് നമ്പർ.
  • DIRSTACK - നിലവിലെ ഡയറക്‌ടറി സ്റ്റാക്ക് മൂല്യം അടങ്ങുന്ന ഒരു അറേ.
  • എഡിറ്റർ ഡിഫോൾട്ട് ടെക്സ്റ്റ് എഡിറ്ററാണ്.
  • EUID - നിലവിലെ ഉപയോക്താവിന്റെ സംഖ്യാപരമായ ഫലപ്രദമായ ഐഡന്റിഫയർ.
  • FUNCNAME - പേര് നിലവിലെ പ്രവർത്തനംതിരക്കഥയിൽ.
  • ഗ്രൂപ്പുകൾ - നിലവിലെ ഉപയോക്താവ് ഉൾപ്പെടുന്ന ഗ്രൂപ്പുകളുടെ ഒരു ലിസ്റ്റ് അടങ്ങുന്ന ഒരു അറേ.
  • HISTFILE - കമാൻഡ് ഹിസ്റ്ററി ഫയലിന്റെ സ്ഥാനം. സാധാരണയായി, കമാൻഡ് ഹിസ്റ്ററി ~/.bash_history ഫയലിൽ സൂക്ഷിക്കുന്നു.
  • HISTFILESIZE - ചരിത്ര ഫയലിൽ സംഭരിക്കാൻ കഴിയുന്ന കമാൻഡ് ലൈനുകളുടെ എണ്ണം. ഈ നമ്പറിലെത്തിയ ശേഷം, ഏറ്റവും പഴയ കമാൻഡ് ലൈനുകൾ ഇല്ലാതാക്കിക്കൊണ്ട് പുതിയ കമാൻഡ് ലൈനുകൾ ചരിത്രത്തിലേക്ക് പ്രവേശിക്കുന്നു. ഡിഫോൾട്ടായി, അടുത്തിടെ ഉപയോഗിച്ച കമാൻഡുകളുടെ ലിസ്റ്റിന്റെ വലുപ്പം 1000 വരികളാണ്.
  • ഹോം - ഉപയോക്താവിന്റെ ഹോം ഡയറക്ടറി.
  • HOSTNAME - പേര് ഈ കമ്പ്യൂട്ടറിന്റെ(നോഡ്).
  • HOSTTYPE - കമ്പ്യൂട്ടർ തരം.
  • LANG - നിലവിലെ ഡിഫോൾട്ട് ഭാഷ.
  • LC_CTYPE എന്നത് പ്രതീക എൻകോഡിംഗ് നിർണ്ണയിക്കുന്ന ഒരു ആന്തരിക വേരിയബിളാണ്.
  • മെയിൽ - മെയിൽബോക്സ് ഫയൽ ലൊക്കേഷനുകൾ ഇമെയിൽഉപയോക്താവ്. സാധാരണയായി, ഇത് /var/spool/mail ഡയറക്ടറിയിൽ സ്ഥിതി ചെയ്യുന്ന ഒരു ഫയലാണ്, അതിന്റെ പേര് ഉപയോക്താവിന്റെ ലോഗിൻ നാമത്തിന് സമാനമാണ്.
  • മെയിൽ ചെക്ക് - മെയിൽ പരിശോധനകൾക്കിടയിൽ മിനിറ്റുകൾക്കുള്ളിലെ ഇടവേള.
  • OLDPWD - ഡയറക്‌ടറി അവസാനം പരിഷ്‌ക്കരിക്കുന്നത് വരെ നിലവിലുള്ള ഡയറക്‌ടറി.
  • OSTYPE - നിലവിലെ ഓപ്പറേറ്റിംഗ് സിസ്റ്റം.
  • PATH - എക്സിക്യൂട്ടബിൾ ഫയലുകൾക്കായി തിരയാനുള്ള ഡയറക്‌ടറികളുടെ കോളൻ-വേർതിരിക്കപ്പെട്ട ലിസ്റ്റ്. ഡയറക്ടറി നാമങ്ങൾ തിരയുന്ന ക്രമം വളരെ പ്രധാനമാണ്. കമാൻഡുകൾ എക്സിക്യൂട്ട് ചെയ്യുമ്പോൾ, ഈ വേരിയബിളിൽ ലിസ്റ്റുചെയ്തിരിക്കുന്ന ഡയറക്ടറികൾ ഇടത്തുനിന്ന് വലത്തോട്ട് തുടർച്ചയായി പരിശോധിക്കുന്നു. അങ്ങനെ, /bin, /usr/bin ഡയറക്ടറികളിൽ സ്ഥിതിചെയ്യുന്ന foo കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യുമ്പോൾ, /bin ഡയറക്ടറിയിലുള്ള കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യപ്പെടും. സമാനമായ സാഹചര്യത്തിൽ /usr/bin ഡയറക്‌ടറിയിലുള്ള foo കമാൻഡ് പ്രവർത്തിപ്പിക്കുന്നതിന്, നിങ്ങൾ ഈ കമാൻഡിലേക്കുള്ള മുഴുവൻ പാതയും വ്യക്തമാക്കണം അല്ലെങ്കിൽ PATH എൻവയോൺമെന്റ് വേരിയബിളിലെ ഡയറക്ടറി നാമങ്ങളുടെ ക്രമം മാറ്റണം. നിലവിലെ തിരയൽ ഡയറക്ടറി വ്യക്തമായി വ്യക്തമാക്കിയിരിക്കണം ("."); ഷെൽ നിലവിലെ ഡയറക്ടറിയിൽ സ്ഥിരസ്ഥിതിയായി തിരയുന്നില്ല. മനഃപൂർവമല്ലാത്ത നിർവ്വഹണത്തിനുള്ള സാധ്യത കാരണം നിലവിലെ ഡയറക്ടറിയിൽ സ്റ്റാർട്ടപ്പ് പ്രോഗ്രാമുകൾക്കായി തിരയുന്നത് അപകടകരമാണ് അപകടകരമായ പ്രോഗ്രാം, അതിനാൽ PATH വേരിയബിൾ സാധാരണയായി "." നിങ്ങളുടെ സ്വന്തം കമാൻഡുകളിലേക്കോ ഷെൽ സ്ക്രിപ്റ്റുകളിലേക്കോ പാത്ത് വേരിയബിളിലേക്ക് പാത്ത് ചേർക്കുന്നതിന്, നിങ്ങളുടെ ഹോം ഡയറക്‌ടറിയുടെ /ബിൻ ഉപഡയറക്‌ടറിയിൽ അവ സ്ഥാപിക്കണം, അത് പാത്ത് വേരിയബിളിലേക്ക് സ്വയമേവ ചേർക്കപ്പെടും. എല്ലാം അല്ല എക്സിക്യൂട്ടബിൾ കമാൻഡുകൾ PATH പരിസ്ഥിതി വേരിയബിളിൽ ലിസ്റ്റുചെയ്തിരിക്കുന്ന ഡയറക്ടറികളിൽ സ്ഥിതിചെയ്യുന്നു. ചില കമാൻഡുകൾ ഷെല്ലിലേക്ക് നേരിട്ട് നിർമ്മിച്ചിരിക്കുന്നു. മറ്റ് കമാൻഡുകൾ അപരനാമങ്ങൾ ഉപയോഗിച്ച് പുനർനിർവചിക്കാവുന്നതാണ്, ഏത് സങ്കീർണ്ണതയുടെയും (വാക്യഘടനയുടെ അടിസ്ഥാനത്തിൽ) പരാമീറ്ററുകളുള്ള കമാൻഡുകൾ ഒരു ലളിതമായ പേര് ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കാൻ അനുവദിക്കുന്നു. കൂടാതെ, കമാൻഡുകളുടെ മുഴുവൻ ശ്രേണിയും സംഭരിക്കുന്ന ഫംഗ്ഷനുകൾ സൃഷ്ടിക്കുന്നത് സാധ്യമാണ്.
  • PPID- ഒരു തിരിച്ചറിയൽ നമ്പർനിലവിലെ ഷെൽ സമാരംഭിച്ച കമാൻഡുമായി ബന്ധപ്പെട്ട പ്രക്രിയ (ഉദാഹരണത്തിന്, ഷെൽ സൃഷ്ടിച്ച പ്രക്രിയ).
  • PS1, PS2, PS3, PS4 - ഷെൽ പ്രോംപ്റ്റിന്റെ തരം നിർണ്ണയിക്കുന്ന വേരിയബിളുകൾ.

    PS1, PS2 വേരിയബിളുകൾ പ്രാഥമിക, ദ്വിതീയ ഷെൽ പ്രോംപ്റ്റുകൾ സജ്ജമാക്കുന്നു.

    നിങ്ങൾ അമർത്തിയാൽ ഒരു ദ്വിതീയ പ്രോംപ്റ്റ് (PS2) ദൃശ്യമാകും കീ നൽകുക, കമാൻഡ് ഇൻപുട്ട് വാക്യഘടനയിൽ പൂർത്തിയാക്കാതെ.

    മൾട്ടി-ലൈൻ ടെക്സ്റ്റ് എഡിറ്റിംഗ് അല്ലെങ്കിൽ അപൂർണ്ണമായ കമാൻഡ് എൻട്രി ചെയ്യുമ്പോൾ സംഭവിക്കുന്ന ഒരു ചെറിയ പ്രോംപ്റ്റ് ഈ വേരിയബിളിൽ അടങ്ങിയിരിക്കുന്നു. ഡിഫോൾട്ടായി ഇതിനെ > എന്ന് സൂചിപ്പിക്കുന്നു.

    PS3. ഈ വേരിയബിളിൽ പ്രോംപ്റ്റ് അടങ്ങിയിരിക്കുന്നു പ്രസ്താവന തിരഞ്ഞെടുക്കുക, സംവേദനാത്മക കൺസോൾ മെനുകൾ സംഘടിപ്പിക്കാൻ ഉപയോഗിക്കുന്നു. ഡിഫോൾട്ടായി, തിരഞ്ഞെടുത്ത പ്രസ്താവനയിലെ PS3 പ്രോംപ്റ്റ് #?.

    PS4. ഷെൽ സ്ക്രിപ്റ്റുകൾ ഡീബഗ്ഗുചെയ്യുമ്പോൾ ഈ വേരിയബിൾ പ്രാഥമികമായി ഉപയോഗിക്കുന്നു, സ്ഥിരസ്ഥിതിയായി "++" എന്ന സ്ട്രിംഗ് മൂല്യം അടങ്ങിയിരിക്കുന്നു.

    ഉദാഹരണത്തിന്, get കമാൻഡ് പ്രവർത്തിപ്പിക്കുക DNS വിവരങ്ങൾ:

    # nslookup >

  • PWD - ഉപയോക്താവിന്റെ നിലവിലെ പ്രവർത്തന ഡയറക്ടറി. ഓരോ തവണയും cd കമാൻഡ് ഉപയോഗിച്ച് വ്യത്യസ്ത ഡയറക്ടറിയിലേക്ക് മാറുമ്പോൾ ഈ മൂല്യം മാറുന്നു.
  • സെക്കൻഡ് - സ്ക്രിപ്റ്റ് റണ്ണിംഗ് സമയം (സെക്കൻഡിൽ).
  • ഷെൽ - നിലവിലെ കമാൻഡ് ഇന്റർപ്രെറ്റർ.
  • SHELLOPTS - പ്രവർത്തനക്ഷമമാക്കിയ ഇന്റർപ്രെറ്റർ ഓപ്ഷനുകളുടെ ലിസ്റ്റ്.
  • SHLVL - കമാൻഡ് ഇന്റർപ്രെറ്ററിന്റെ പുതിയ പകർപ്പുകൾ ലോഞ്ച് ചെയ്തതിന്റെ എണ്ണം.
  • UID - നിലവിലെ ഉപയോക്താവിന്റെ സംഖ്യാ ഐഡന്റിഫയർ.
  • USER - നിലവിലെ ഉപയോക്തൃ നാമം.
  • $# - സ്ക്രിപ്റ്റിലേക്ക് കൈമാറിയ പാരാമീറ്ററുകളുടെ ആകെ എണ്ണം.
  • $* - എല്ലാ ആർഗ്യുമെന്റുകളും സ്ക്രിപ്റ്റിലേക്ക് കൈമാറില്ല (ഒരു വരിയിലേക്ക് ഔട്ട്പുട്ട്).
  • $@ - മുമ്പത്തേതിന് സമാനമാണ്, എന്നാൽ പരാമീറ്ററുകൾ ഒരു നിരയിൽ പ്രദർശിപ്പിക്കും.
  • $! - പശ്ചാത്തലത്തിൽ പ്രവർത്തിക്കുന്ന അവസാന പ്രക്രിയയുടെ PID.
  • $$ - സ്ക്രിപ്റ്റിന്റെ തന്നെ PID.

നിലവിലെ സെഷനിലെ എല്ലാ വേരിയബിളുകളുടെയും മൂല്യങ്ങൾ കാണുന്നതിന്, നിങ്ങൾ നിർവചിക്കുന്നവയും പരിസ്ഥിതിയിലുള്ളവയും, പാരാമീറ്ററുകളോ env printenvയോ ഇല്ലാതെ സെറ്റ് കമാൻഡ് നൽകുക.

അൺസെറ്റ് കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഒരു വേരിയബിൾ നീക്കം ചെയ്യാം.

2.4 കമാൻഡുകൾ തമ്മിലുള്ള പ്രതിപ്രവർത്തനത്തിന്റെ പകരവും ഓർഗനൈസേഷനും

പരിസ്ഥിതി വേരിയബിൾ മൂല്യങ്ങൾ മാറ്റിസ്ഥാപിക്കുന്നുഡോളർ ചിഹ്നം ($) മെറ്റാക്യാരാക്‌റ്റർ ഉപയോഗിച്ച് സിസ്റ്റവുമായുള്ള നിലവിലെ സെഷൻ പൂർത്തിയാക്കാൻ കഴിയും. തൽഫലമായി, ഷെൽ സ്വയമേവ വേരിയബിളിന്റെ പേര് അതിന്റെ മൂല്യം ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കുന്നു. ഉദാഹരണത്തിന്,

ഒരു ഗണിത പദപ്രയോഗത്തിന്റെ ഫലം മാറ്റിസ്ഥാപിക്കുന്നു

ഒരു ഗണിത പദപ്രയോഗത്തിന്റെ ഫലം മാറ്റിസ്ഥാപിക്കുന്നതിന് രണ്ട് വാക്യഘടനാ രൂപങ്ങളുണ്ട്: $[എക്‌സ്‌പ്രഷൻ], $((എക്‌സ്‌പ്രഷൻ)). ഉദാഹരണത്തിന്,

പ്രതിധ്വനി "എനിക്ക് $ വയസ്സായി."

കമാൻഡ് സബ്സ്റ്റിറ്റ്യൂഷൻ

മറ്റൊരു കമാൻഡ് അടങ്ങുന്ന ഒരു കമാൻഡ് ലൈനിൽ ഒരു കമാൻഡിന്റെ ഔട്ട്പുട്ട് ഉപയോഗിക്കാൻ കമാൻഡ് സബ്സ്റ്റിറ്റ്യൂഷൻ നിങ്ങളെ അനുവദിക്കുന്നു. രണ്ട് ബദൽ സബ്സ്റ്റിറ്റ്യൂഷൻ ഫോർമാറ്റുകൾ ഉപയോഗിക്കാം: $(കമാൻഡ്) അല്ലെങ്കിൽ `കമാൻഡ്' (ഒറ്റ ബാക്ക്ക്വോട്ടുകൾ). ഉദാഹരണത്തിന്,

ടിൽഡ് സ്വഭാവം വികസിപ്പിക്കുന്നു

ഡയറക്‌ടറി നാമങ്ങൾ വേഗത്തിൽ നൽകുന്നതിന് ടിൽഡ് പ്രതീകം (~) നിങ്ങളെ അനുവദിക്കുന്നു.

~ ഉപയോക്താവിന്റെ ഹോം ഡയറക്‌ടറിയുടെ പേര് ~/സബ് ഡയറക്‌ടറി ഇതിലെ ഉപഡയറക്‌ടറികളിലൊന്നിന്റെ പേര് ഹോം ഡയറക്ടറിഉപയോക്താവ് ~+ നിലവിലെ ഡയറക്‌ടറി നാമം ~- മുമ്പത്തെ ഡയറക്‌ടറി നാമം

ചുരുണ്ട ബ്രേസുകൾ വികസിപ്പിക്കുന്നു

ചുരുണ്ട ബ്രേസുകൾ ഉപയോഗിച്ച്, ഒരേ തരത്തിലുള്ള പലതിനുപകരം നിങ്ങൾക്ക് ഒരു കമാൻഡ് നൽകാം. പരാൻതീസിസിൽ ഒരു ലിസ്റ്റ് ഉണ്ടായിരിക്കണം, അവയുടെ ഘടകങ്ങൾ കോമകളാൽ വേർതിരിക്കേണ്ടതാണ്. വ്യാഖ്യാതാവ് മൂലകങ്ങൾ ഓരോന്നായി വായിക്കുകയും അവയിൽ ഓരോന്നിനും ഒരു പ്രത്യേക കമാൻഡ് രൂപപ്പെടുത്തുകയും അത് നടപ്പിലാക്കുകയും ചെയ്യുന്നു. ഉദാഹരണത്തിന്, കമാൻഡ്

mkdir ചെലവുകൾ/(ജനുവരി, ഫെബ്രുവരി, മാർച്ച്) mkdir ചെലവുകൾ/Jan mkdir ചെലവുകൾ/ഫെബ്രുവരി mkdir ചെലവുകൾ/മാർച്ച് എന്നിവയ്ക്ക് തുല്യമാണ്

ചാനലുകൾ

ഒരു കമാൻഡിന്റെ ഇൻപുട്ട് ഡാറ്റ (ഇൻപുട്ട്) ആയി മറ്റൊരു കമാൻഡിന്റെ എക്സിക്യൂഷൻ (ഔട്ട്പുട്ട്) ഫലം ഉപയോഗിച്ച് കമാൻഡുകൾ തമ്മിലുള്ള ആശയവിനിമയം സംഘടിപ്പിക്കേണ്ടതിന്റെ ആവശ്യകതയെ ചാനൽ മെറ്റാക്യാരാക്ടർ (|) സൂചിപ്പിക്കുന്നു. മറ്റൊരു വിധത്തിൽ പറഞ്ഞാൽ, ഒരു പൈപ്പ് (പൈപ്പ്ലൈൻ) ഉപയോഗിച്ച്, ആദ്യ കമാൻഡിന്റെ ഫലങ്ങൾ രണ്ടാമത്തെ കമാൻഡിലേക്ക് ഇൻപുട്ടായി കൈമാറാൻ കഴിയും. ഉദാഹരണത്തിന്,

cat /etc/passwd | അടുക്കുക | തല -3

കമാൻഡുകളുടെ സീക്വൻസുകളും ഗ്രൂപ്പുകളും

കമാൻഡ് സീക്വൻസുകളും ഗ്രൂപ്പുകളും ഉപയോഗിക്കുന്നത് ഒരു വരിയിൽ ഒന്നിലധികം കമാൻഡുകൾ നൽകാൻ നിങ്ങളെ അനുവദിക്കുന്നു.

command1;command2 ആദ്യം കമാൻഡ് 1 എക്സിക്യൂട്ട് ചെയ്യുക, തുടർന്ന് കമാൻഡ് 2 (കമാൻഡ്1; കമാൻഡ്2) പ്രവർത്തിപ്പിക്കുക പ്രത്യേക പകർപ്പ് 1, 2 കമാൻഡുകൾ തുടർച്ചയായി എക്സിക്യൂട്ട് ചെയ്യേണ്ട വ്യാഖ്യാതാവ് (കമാൻഡ്1; കമാൻഡ്2) നിലവിലെ ഇന്റർപ്രെറ്റർ കമാൻഡ്1 && കമാൻഡ്2 കമാൻഡുകൾ 1, 2 എന്നിവ തുടർച്ചയായി എക്സിക്യൂട്ട് ചെയ്യുക കമാൻഡ് 1 വിജയകരമായി കമാൻഡ് 1 എക്സിക്യൂട്ട് ചെയ്താൽ മാത്രം കമാൻഡ് 2 എക്സിക്യൂട്ട് ചെയ്യുക || command2 കമാൻഡ് 1 പരാജയപ്പെട്ടാൽ മാത്രം കമാൻഡ് 2 എക്സിക്യൂട്ട് ചെയ്യുക

ഏത് കമാൻഡ് എക്സിക്യൂഷന്റെയും ഫലം (അതായത്, അനുബന്ധ പ്രക്രിയയുടെ അവസാനത്തിന്റെ ഫലം) എക്സിറ്റ് കോഡാണ്. വിജയകരമായ പൂർത്തീകരണത്തിന് കോഡ് 0 ഉണ്ട്, വിജയിക്കാത്ത പൂർത്തീകരണ കോഡ് 1. പൂർത്തീകരണ കോഡ് മൂല്യം മുൻകൂട്ടി നിശ്ചയിച്ചിരിക്കുന്ന വേരിയബിളിന് നൽകിയിട്ടുണ്ടോ? (ചോദ്യചിഹ്നം). ഉദാഹരണത്തിന്, echo $?

കമാൻഡുകൾ വീണ്ടും നടപ്പിലാക്കുന്നു

മുൻ കമാൻഡുകൾ തിരിച്ചുവിളിക്കാനും അവ എഡിറ്റ് ചെയ്യാനും നിങ്ങളെ അനുവദിക്കുന്ന സൗകര്യങ്ങൾ ഷെല്ലിലുണ്ട്. ഷെൽ കമാൻഡ് ഹിസ്റ്ററി എന്നത് മുമ്പ് ഉപയോഗിച്ച കമാൻഡുകളുടെ ഒരു ലിസ്റ്റ് ആണ്. ഹിസ്റ്ററി കമാൻഡ് ഉപയോഗിച്ച് ഈ ലിസ്റ്റ് കാണാൻ കഴിയും.

നിങ്ങൾ ഒരു കമാൻഡ് ലൈൻ നൽകിയ ശേഷം, ഷെൽ അത് കമാൻഡ് ചരിത്രത്തിൽ സ്ഥാപിക്കുന്നു. മുമ്പ് ഉപയോഗിച്ച കമാൻഡുകളുടെ ഒരു ലിസ്റ്റ് ഒരു ഫയലിൽ സംഭരിച്ചിരിക്കുന്നു, അത് എപ്പോൾ വേണമെങ്കിലും വീണ്ടും നിർവ്വഹിക്കുന്നതിനായി അതിൽ നിന്ന് ആവശ്യമുള്ള ഏതെങ്കിലും കമാൻഡ് ലൈനിൽ വിളിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു. കമാൻഡ് ലൈനിൽ വീണ്ടും വിളിച്ചതിന് ശേഷം, അത് എഡിറ്റുചെയ്യാനാകും. ഉപയോക്താവിന്റെ ഹോം ഡയറക്ടറിയിൽ സ്ഥിതി ചെയ്യുന്ന .bash_history ഫയലിലാണ് കമാൻഡ് ചരിത്രം സംഭരിച്ചിരിക്കുന്നത്. സ്ഥിരസ്ഥിതിയായി, കമാൻഡ് ഷെല്ലിന് 1000 കമാൻഡ് ലൈനുകൾ വരെ "ഓർമ്മിക്കാൻ" കഴിയും.

മുമ്പ് ഉപയോഗിച്ച കമാൻഡുകളുടെ ഒരു ലിസ്റ്റ് കാണുന്നതിന്, ഹിസ്റ്ററി കമാൻഡ് പ്രവർത്തിപ്പിക്കുക. പരാമീറ്ററുകൾ ഇല്ലാതെയോ അല്ലെങ്കിൽ പ്രദർശിപ്പിക്കേണ്ട കമാൻഡുകളുടെ എണ്ണം വ്യക്തമാക്കാൻ നിങ്ങളെ അനുവദിക്കുന്ന ഒരു പാരാമീറ്റർ ഉപയോഗിച്ചോ ഇത് ഉപയോഗിക്കാം. കമാൻഡ് ചരിത്രത്തിൽ ഓരോ കമാൻഡ് ലൈനിനും അതിന്റേതായ നമ്പർ ഉണ്ട്.

ചരിത്ര വിപുലീകരണ വാക്യഘടന: !n നൽകിയിരിക്കുന്ന കമാൻഡ് നമ്പർ എക്സിക്യൂട്ട് ചെയ്യുക!! മുമ്പത്തെ കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യുക!സ്ട്രിംഗ് നൽകിയിരിക്കുന്ന സ്ട്രിംഗിൽ നിന്ന് ആരംഭിക്കുന്ന ഏറ്റവും പുതിയ കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യുക!?സ്ട്രിംഗ്? തന്നിരിക്കുന്ന സ്ട്രിംഗ് അടങ്ങുന്ന ഏറ്റവും പുതിയ കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യുക

കമാൻഡ് ഹിസ്റ്ററിയിൽ അടങ്ങിയിരിക്കുന്ന കമാൻഡ് ലൈൻ നേരിട്ട് എക്സിക്യൂട്ട് ചെയ്യുന്നതിനുപകരം, പിന്നീടുള്ള എഡിറ്റിംഗിനായി നിങ്ങൾക്കത് വിളിക്കാവുന്നതാണ്. കഴ്‌സർ കീകൾ ഉപയോഗിക്കുക "മുകളിലേക്കുള്ള അമ്പടയാളം", "താഴേക്ക് അമ്പടയാളം"കമാൻഡ് ചരിത്രം ഘട്ടം ഘട്ടമായി കാണുന്നതിന് ആവശ്യമായ കമാൻഡ് ലൈൻ തിരഞ്ഞെടുക്കുക.

3. ബാഷ് ബിൽറ്റ്-ഇന്നുകൾ

അന്തർനിർമ്മിത കമാൻഡുകളുടെ പട്ടിക ബാഷ് ഷെൽസഹായ കമാൻഡ് ഉപയോഗിച്ച് ലഭിക്കും അല്ലെങ്കിൽ ഷെൽ ബിൽറ്റിൻ കമാൻഡുകൾ വിഭാഗത്തിലെ മാൻ പേജിൽ കണ്ടെത്താം.

ഉപയോഗപ്രദമായ ചില ബിൽറ്റ്-ഇൻ കമാൻഡുകൾ ഇതാ:

  • പ്രതിധ്വനി [വാദങ്ങൾ] - സ്‌ക്രീനിലേക്ക് ആർഗ്യുമെന്റുകൾ പ്രിന്റ് ചെയ്യുക.
  • enable - ഒരു ബിൽട്ടിൻ കമാൻഡിന് പകരം അതേ പേരിൽ ഒരു എക്സിക്യൂട്ടബിൾ ഫയൽ എക്സിക്യൂട്ട് ചെയ്യാൻ ഷെല്ലിന് കാരണമാകുന്നു. എക്കോ പോലെയുള്ള നിങ്ങളുടെ സ്വന്തം സ്ക്രിപ്റ്റ് ഉണ്ടെങ്കിൽ ഉപയോഗപ്രദമാണ്.
  • eval [ആർഗ്യുമെന്റുകൾ] - നിർദ്ദിഷ്ട ആർഗ്യുമെന്റുകളിൽ നിന്ന് ഈച്ചയിൽ ഒരു കമാൻഡ് നിർമ്മിക്കുകയും അത് നടപ്പിലാക്കുന്നതിനായി അയയ്ക്കുകയും ചെയ്യുന്നു.
  • അനുവദിക്കുക - പദപ്രയോഗങ്ങൾ വിലയിരുത്തുക.
  • - ഫയലിൽ അടങ്ങിയിരിക്കുന്ന കമാൻഡുകൾ വായിച്ച് നടപ്പിലാക്കുക. ഉപയോക്തൃ വേരിയബിളുകൾ നിർവചിക്കാൻ ഉപയോഗിക്കുന്നു. പ്രവർത്തനങ്ങളും.
  • അടിസ്ഥാനനാമം - ഒരു പ്രാദേശിക നാമം ഹൈലൈറ്റ് ചെയ്യുക.
  • expr - എക്സ്പ്രഷൻ മൂല്യനിർണ്ണയം.
  • വായിക്കുക - ഒരു വേരിയബിളിന്റെ മൂല്യം നൽകുക.
  • shift - പരാമീറ്ററുകളുടെ പട്ടിക മാറ്റുക.
  • ടെസ്റ്റ് - അവസ്ഥ പരിശോധിക്കുക.
മറ്റ് ബിൽറ്റ്-ഇൻ കമാൻഡുകൾ ബാഷ് കമാൻഡ് ഭാഷയിലെ നിർദ്ദേശങ്ങളായി പ്രവർത്തിക്കുന്നു.

മോസ്കോ സ്റ്റേറ്റ് ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് ഇലക്ട്രോണിക് ടെക്നോളജി

(സാങ്കേതിക സർവകലാശാല)

ഡിപ്പാർട്ട്‌മെന്റ് ഓഫ് ഇന്റഗ്രേറ്റഡ് ഇലക്‌ട്രോണിക്‌സ് ആൻഡ് മൈക്രോസിസ്റ്റംസ്

ലബോറട്ടറി പ്രാക്ടീസ്

കോഴ്സ് പ്രകാരം:

ഓപ്പറേറ്റിംഗ് സിസ്റ്റംലിനക്സ്

സമാഹരിച്ചത്: അസിസ്റ്റന്റ് വകുപ്പ്. ഐഇഎംഎസ് കോസ്ലോവ് എ.വി.

മോസ്കോ, 2007

Red Hat Enterprise Linux (RHEL) 4.0 ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിൽ പ്രാവീണ്യം നേടുന്നതിനായി 210100.68 ദിശയിലുള്ള ഒന്നാം വർഷ സിനോപ്‌സിസ് പ്രോഗ്രാമിൽ പഠിക്കുന്ന എൻജിനീയറിങ്, ടെക്‌നോളജി മാസ്റ്റർമാർക്കാണ് ലബോറട്ടറി വർക്ക്‌ഷോപ്പ് പ്രധാനമായും ഉദ്ദേശിക്കുന്നത്. കമ്പ്യൂട്ടർ-എയ്ഡഡ് ഡിസൈൻ സിസ്റ്റങ്ങളിൽ പ്രവർത്തിക്കുമ്പോൾ ഉപയോക്താവിന് ആവശ്യമായ Linux കമാൻഡ് എൻവയോൺമെന്റും കോർ ആപ്ലിക്കേഷനുകളും പഠിക്കാൻ ആഗ്രഹിക്കുന്ന ഫ്രീസ്കെയിൽ വിദ്യാർത്ഥികൾക്കും എൻട്രി ലെവൽ അല്ലെങ്കിൽ ലിനക്സ് അനുഭവം ഇല്ലാത്ത എല്ലാ ഉപയോക്താക്കൾക്കും വേണ്ടിയും ഇത് രൂപകൽപ്പന ചെയ്‌തിരിക്കുന്നു.

ഈ വർക്ക്‌ഷോപ്പിൽ എട്ട് ലബോറട്ടറി വർക്കുകൾ അടങ്ങിയിരിക്കുന്നു, അത് കമാൻഡ് ഇന്റർപ്രെറ്ററിന്റെ കമാൻഡുകൾ ഫലപ്രദമായി കൈകാര്യം ചെയ്യാൻ ഉപയോക്താവിനെ അനുവദിക്കുന്നു, അതുപോലെ തന്നെ ഫയലുകൾ എഴുതാൻ ക്രമേണ പഠിക്കുന്നു - ഷെൽ, ഗാക്ക്, പേൾ, ടിസിഎൽ സ്ക്രിപ്റ്റുകൾ. ഓരോ ലബോറട്ടറി വർക്കിലും ഇനിപ്പറയുന്ന വിഭാഗങ്ങൾ ഉൾപ്പെടുന്നു: ജോലിയുടെ ശീർഷകം, ചുമതല, ഉദ്ദേശ്യം; സൈദ്ധാന്തിക വിവരങ്ങൾനിയന്ത്രണ ചോദ്യങ്ങൾക്കൊപ്പം; ലബോറട്ടറി ജോലിയുടെ ഉദാഹരണം; ലബോറട്ടറി ജോലികൾ ചെയ്യുന്നതിനുള്ള നടപടിക്രമം; ലബോറട്ടറി ടാസ്ക്കുകളും വർക്ക് റിപ്പോർട്ട് ഫോമും. ഓപ്‌ഷനുകൾ, പാരാമീറ്ററുകൾ, പ്രവർത്തനങ്ങൾ, എക്സ്പ്രഷനുകൾ, ഒബ്‌ജക്റ്റ് പാഥുകൾ എന്നിവയ്‌ക്കൊപ്പം ഷെല്ലിൽ കമാൻഡുകൾ എഴുതുന്നതിനുള്ള വാക്യഘടന BASH കമാൻഡ് എൻവയോൺമെന്റിനായി രൂപകൽപ്പന ചെയ്‌തിരിക്കുന്നു. ലബോറട്ടറി വർക്ക്ഷോപ്പിന്റെ അവസാനം റഫറൻസുകളുടെ ഒരു ലിസ്റ്റ് നൽകിയിരിക്കുന്നു.

മോസ്കോ സ്റ്റേറ്റ് ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് ഇലക്‌ട്രോണിക് എഞ്ചിനീയറിംഗ് (ടെക്‌നിക്കൽ യൂണിവേഴ്‌സിറ്റി)

ലബോറട്ടറി വർക്ക് നമ്പർ 1

"ലിനക്സ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റം" എന്ന കോഴ്സിൽ

Linux-ൽ ബാഷ് കമാൻഡുകൾ പഠിക്കുന്നു

വിവരണം പൂർത്തിയായി:

കോസ്ലോവ് എ.വി.

മോസ്കോ 2007

ലബോറട്ടറി വർക്ക് നമ്പർ 1 ലിനക്സിൽ ബാഷ് കമാൻഡുകൾ പഠിക്കുന്നു

ജോലിയുടെ ലക്ഷ്യം : BASH കമാൻഡ് ഇന്റർപ്രെറ്റർ ഉപയോഗിച്ച്, Red Hat Enterprise Linux 4.0 ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിൽ കമാൻഡുകൾ ഉപയോഗിച്ച് പ്രവർത്തിക്കുന്നതിനുള്ള കഴിവുകൾ മാസ്റ്റർ ചെയ്യുക.

ജോലിയുടെ കാലാവധി - 4 മണിക്കൂർ

സൈദ്ധാന്തിക വിവരങ്ങൾ

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

കമാൻഡ് ഇന്റർപ്രെറ്റർ ഉപയോക്താവിനും ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിനും ഇടയിലുള്ള കമാൻഡ് ലൈൻ പ്രോംപ്റ്റുള്ള ഒരു സ്ട്രിംഗ് ഇന്ററാക്ടീവ് ഇന്റർഫേസാണ്. ഉപയോക്താവ് കമാൻഡ് ലൈനിൽ കമാൻഡുകൾ നൽകുന്നു, കമാൻഡ് ഇന്റർപ്രെറ്റർ അവയെ "അംഗീകരിക്കുന്നു" കൂടാതെ നിർദ്ദേശങ്ങളായി അയയ്ക്കുന്നു ഓപ്പറേറ്റിംഗ് സിസ്റ്റംവധശിക്ഷയ്ക്കായി. കമാൻഡുകൾ നൽകുന്നതിന് മാത്രമല്ല, കമാൻഡ് ലൈൻ ഇൻപുട്ടും ഔട്ട്‌പുട്ടും റീഡയറക്‌ട് ചെയ്യാനും അതുപോലെ പ്രവർത്തനങ്ങൾ നടത്താനും കമാൻഡ് ഇന്റർപ്രെറ്റർ നിങ്ങളെ അനുവദിക്കുന്നു. പശ്ചാത്തലം, ഈ സമയത്ത് മറ്റ് ജോലികൾ ചെയ്യാനുള്ള അവസരം ഉപയോക്താവിന് നൽകുന്നു.

Linux-നായി നിരവധി കമാൻഡ് ഇന്റർപ്രെട്ടറുകൾ വികസിപ്പിച്ചെടുത്തിട്ടുണ്ട്: Bourne Again shell (BASH), Public Domain shell (PDKSH), TCSH വ്യാഖ്യാതാവ്, Z-shell. BASH ആണ് ഡിഫോൾട്ട് ഇന്റർപ്രെറ്റർ എങ്കിലും, നിങ്ങൾക്ക് മറ്റേതെങ്കിലും പരിതസ്ഥിതി ഉപയോഗിക്കാം. ദൈനംദിന ജോലിയുടെ സൗകര്യത്തിന്, ഒരു കമാൻഡ് ഇന്റർപ്രെറ്റർ മാത്രം മതി. Red Hal Linux-ൽ എല്ലാ പ്രധാന ഷെല്ലുകളും ഉൾപ്പെടുന്നു, എന്നാൽ BASH ഷെൽ ഇൻസ്റ്റാൾ ചെയ്യുകയും സ്ഥിരസ്ഥിതിയായി ഉപയോഗിക്കുകയും ചെയ്യുന്നു. ഇതിനർത്ഥം ഈ ഓപ്പറേറ്റിംഗ് സിസ്റ്റം മറ്റൊരുവിധത്തിൽ വ്യക്തമാക്കിയിട്ടില്ലെങ്കിൽ കമാൻഡ് ലൈനിൽ പ്രവർത്തിക്കാൻ BASH ഉപയോഗിക്കുന്നു എന്നാണ്.

കമാൻഡ് ലൈൻ. കമാൻഡ് ഇന്റർഫേസ് Linux സ്ട്രിംഗുകൾഓപ്ഷനുകളും പാരാമീറ്ററുകളും ഉള്ള കമാൻഡുകൾ നൽകിയ ഒരു വരി ഉൾക്കൊള്ളുന്നു. ബാഷ് ഷെല്ലിൽ, കമാൻഡ് ലൈനിന്റെ ആരംഭം സാധാരണയായി അടയാളപ്പെടുത്തിയിരിക്കുന്നു ക്ഷണംഒരു ഡോളർ ചിഹ്നത്തിന്റെ രൂപത്തിൽ ($); മറ്റ് Linux ഷെല്ലുകൾ മറ്റൊരു തരത്തിലുള്ള പ്രോംപ്റ്റ് ഉപയോഗിച്ചേക്കാം. ഒരിക്കൽ ആവശ്യപ്പെടുമ്പോൾ, ഉപയോക്താവിന് ഒരൊറ്റ കമാൻഡ് അല്ലെങ്കിൽ ഓപ്ഷനുകളും പാരാമീറ്ററുകളും ഉള്ള ഒരു കമാൻഡ് നൽകാം. കമാൻഡ് പ്രോംപ്റ്റിന് ആവശ്യമായ വലുപ്പം ഉപയോക്താവിന് ഇല്ലെങ്കിൽ, അത് “/” പ്രതീകം ഉപയോഗിച്ച് പരിമിതപ്പെടുത്താൻ കഴിയും. കീബോർഡിൽ നിന്ന് കമാൻഡ് നൽകുകയും കീ ഉപയോഗിച്ച് നൽകുകയും ചെയ്യുന്നു. ഉദാഹരണത്തിന്, ഔട്ട്പുട്ട് ചെയ്യാൻ സിസ്റ്റം തീയതികൂടാതെ സിസ്റ്റം സമയം ഉപയോക്താവിന് കമാൻഡ് ഉപയോഗിക്കാം തീയതി .

$ തീയതി

വെള്ളി ജൂൺ 8 15:42:35 MSD 2007

അല്ലെങ്കിൽ, ഉദാഹരണത്തിന്, നിലവിലെ മാസത്തിൽ ഒരു കലണ്ടർ പ്രദർശിപ്പിക്കുന്നതിന്, cal കമാൻഡ് ഉപയോഗിക്കുക.

$കലോറി

ജൂലൈ 2007

സു മോ തു വെ ഥ് ഫ്ര സ

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 31

പ്രധാന ഷെൽ ഇന്റർഫേസ് നൽകിയ കമാൻഡുകൾ വ്യാഖ്യാനിക്കുകയും സിസ്റ്റത്തിലേക്ക് അയയ്ക്കുകയും ചെയ്യുന്ന ഒരു കമാൻഡ് ലൈൻ ഇന്റർഫേസ് ആണ്. കമാൻഡ് ലൈനിൽ നൽകിയ കമാൻഡുകൾ ചില വാക്യഘടന നിയമങ്ങൾ പാലിക്കണം. കമാൻഡുകൾ നൽകുന്നതിനുള്ള പൊതു നിയമം ഇതാണ്: കമാൻഡ് ലൈനിൽ ആദ്യം നൽകിയ വാക്ക് കമാൻഡിന്റെ പേരായിരിക്കണം; ഇനിപ്പറയുന്ന വാക്കുകൾ കമാൻഡ് ഓപ്ഷനുകളും പാരാമീറ്ററുകളുമാണ്. കമാൻഡ് ലൈനിലെ ഓരോ വാക്കും മറ്റ് വാക്കുകളിൽ നിന്ന് ഒന്നോ അതിലധികമോ സ്പേസുകളോ ടാബുകളോ ഉപയോഗിച്ച് വേർതിരിക്കുന്നു.

ഓപ്ഷൻ - കമാൻഡ് നിർവ്വഹിക്കുന്ന പ്രവർത്തനത്തിന്റെ തരം പരിഷ്‌ക്കരിക്കുന്ന ഒരു ഹൈഫന് മുമ്പുള്ള ഒറ്റ അല്ലെങ്കിൽ ഒന്നിലധികം അക്ഷര കോഡാണ്. ഓപ്ഷനുകളുള്ള ഒരു കമാൻഡിന്റെ ഉദാഹരണമായി, ഞങ്ങൾ കമാൻഡ് നൽകുന്നു ls . ഓപ്ഷനുകൾ ഇല്ലാതെ ഉപയോഗിക്കുമ്പോൾ, ഈ കമാൻഡ് നിലവിലെ ഡയറക്ടറിയിൽ അടങ്ങിയിരിക്കുന്ന എല്ലാ ഫയലുകളുടെയും ഡയറക്ടറികളുടെയും ഒരു ലിസ്റ്റ് നിർമ്മിക്കുന്നു. വിപുലീകരണങ്ങൾ ഉള്ളതും അല്ലാത്തതുമായ ഫയൽ നാമങ്ങൾ ഒഴികെ, ഈ ലിസ്റ്റിൽ മറ്റൊന്നില്ല. ഉദാഹരണത്തിന്, നിങ്ങൾ കമാൻഡ് നൽകുമ്പോൾ lsഓപ്ഷൻ കൂടെ - എൽടീം lsഓരോ ഫയലിനുമുള്ള വിവരങ്ങളുടെ ലൈൻ-ബൈ-ലൈൻ ഔട്ട്‌പുട്ട് നിർമ്മിക്കുന്നു, അതായത് അതിന്റെ വലുപ്പം, അവസാനം പരിഷ്കരിച്ച തീയതി, സമയം. ഇനിപ്പറയുന്ന ഉദാഹരണത്തിൽ, ഉപയോക്താവ് കമാൻഡ് നൽകുന്നു lsഓപ്ഷൻ കൂടെ - എൽ. ഒരു ഓപ്ഷന് മുമ്പ് ഒരു ഹൈഫൻ ആവശ്യമാണ്. ലിനക്സ് സിസ്റ്റം ഒരു പാരാമീറ്ററിൽ നിന്ന് ഒരു ഓപ്ഷനെ വേർതിരിക്കുന്നത് ഇങ്ങനെയാണ്.

$ ls -l

ആകെ 28

നിലവിലെ ഡയറക്ടറിയിൽ വിളിക്കപ്പെടുന്നവ ഉൾപ്പെടെ എല്ലാ ഫയലുകളും പ്രദർശിപ്പിക്കാൻ -a ഓപ്ഷൻ നിങ്ങളെ അനുവദിക്കുന്നു മറഞ്ഞിരിക്കുന്ന ഫയലുകൾ.കോൺഫിഗറേഷൻ ഫയലുകൾ പലപ്പോഴും മറച്ചിരിക്കും. മറഞ്ഞിരിക്കുന്ന ഫയൽ നാമങ്ങൾ എല്ലായ്പ്പോഴും ഒരു ഡോട്ടിൽ ആരംഭിക്കുന്നു, അതിനാലാണ് അവയെ പലപ്പോഴും വിളിക്കുന്നത് ഉളിഫയലുകൾ.മിക്ക കേസുകളിലും, ഓപ്ഷനുകൾ സംയോജിപ്പിച്ചിരിക്കുന്നു. ഈ സാഹചര്യത്തിൽ, ഓപ്ഷനുകളുടെ ഗ്രൂപ്പിന് മുമ്പായി ഒരു പൊതു ഹൈഫൻ സ്ഥാപിച്ചിരിക്കുന്നു. ഉദാഹരണത്തിന്, മറഞ്ഞിരിക്കുന്ന ഫയലുകൾ ഉൾപ്പെടെ നിലവിലെ ഡയറക്ടറിയിൽ അടങ്ങിയിരിക്കുന്ന എല്ലാ ഫയലുകളെയും കുറിച്ചുള്ള വിവരങ്ങൾ -al ഓപ്ഷൻ പ്രദർശിപ്പിക്കുന്നു. പുതിയ ttt ഫയൽ പ്രദർശിപ്പിച്ചിരിക്കുന്നു.

$ ls -al

ആകെ 40

പരാമീറ്റർ ഓപ്‌ഷനുകൾക്ക് ശേഷം കമാൻഡ് ലൈനിൽ നൽകിയിരിക്കുന്ന വാക്കാണ്. ഫയൽ മാനേജ്മെന്റ് കമാൻഡുകൾ സാധാരണയായി ഫയൽ പേരുകൾ പരാമീറ്ററുകളായി ഉപയോഗിക്കുന്നു. ഉദാഹരണത്തിന്, നിങ്ങൾക്ക് gauss.plx എന്ന ഒരു ഫയലിനെക്കുറിച്ചുള്ള വിവരങ്ങൾ മാത്രമേ ആവശ്യമുള്ളൂവെങ്കിൽ, -l ഓപ്ഷന് ശേഷം അതിന്റെ പേര് വ്യക്തമാക്കുക:

$ ls -l gauss.plx

ഉപയോക്താവിന്റെ പ്രവർത്തനം BASH ഷെൽ പരിതസ്ഥിതിയിൽ ആരംഭിക്കുന്നു, അത് സ്ഥിരസ്ഥിതിയായി ലോഡുചെയ്യുന്നു. ഇതിന് പ്രത്യേക കമാൻഡ് ലൈൻ എഡിറ്റിംഗ് കഴിവുകൾ ഉണ്ട്, അത് Linux OS പഠിക്കുമ്പോൾ വളരെ ഉപയോഗപ്രദമാകും. കമാൻഡുകൾ എക്സിക്യൂട്ട് ചെയ്യുന്നതിനുമുമ്പ്, കമാൻഡ് ലൈനിലുടനീളം കഴ്സർ നീക്കി പ്രതീകങ്ങൾ ചേർക്കുകയോ ഇല്ലാതാക്കുകയോ ചെയ്തുകൊണ്ട് നിങ്ങൾക്ക് അവ എഡിറ്റുചെയ്യാനാകും. വളരെ സങ്കീർണ്ണമായ ടീമുകളുമായി പ്രവർത്തിക്കുമ്പോൾ ഇത് പ്രത്യേകിച്ചും ഉപയോഗപ്രദമാണ്. ഒരു കമാൻഡ് ടൈപ്പുചെയ്യുമ്പോൾ ഒരു പിശക് തിരുത്താൻ എഡിറ്റിംഗ് പ്രവർത്തനങ്ങൾ സഹായിക്കും. |അപ്പ്| ഉപയോഗിച്ച് നിങ്ങൾ ഇപ്പോൾ നടപ്പിലാക്കിയ കമാൻഡ് പ്രദർശിപ്പിക്കാൻ കഴിയും. നിങ്ങൾക്ക് കമാൻഡ് വീണ്ടും പ്രവർത്തിപ്പിക്കാം അല്ലെങ്കിൽ എഡിറ്റ് ചെയ്ത ശേഷം പരിഷ്കരിച്ച കമാൻഡ് പ്രവർത്തിപ്പിക്കാം. ചില പ്രവർത്തനങ്ങൾ ഒന്നിലധികം തവണ ആവർത്തിക്കുമ്പോൾ ഈ സവിശേഷത വളരെ സൗകര്യപ്രദമാണ്, ഉദാഹരണത്തിന്, ഒന്ന് എഡിറ്റ് ചെയ്യുമ്പോൾ ഒപ്പം അതേ ഫയൽ.

കമാൻഡ് ഇന്റർപ്രെറ്ററിന്റെ ഉദ്ദേശ്യം ഫയലുകൾക്കൊപ്പം പ്രവർത്തിക്കുക എന്നതാണ്: ഡാറ്റ സൃഷ്ടിക്കുക, പകർത്തുക, പേരുമാറ്റുക, നീക്കുക, ഇല്ലാതാക്കുക, പരിഷ്ക്കരിക്കുക. ഉപയോക്താവ് കൺസോളുമായി നേരിട്ട് പ്രവർത്തിക്കുന്നില്ലെങ്കിലും ഗ്രാഫിക്കൽ ആപ്ലിക്കേഷനുകൾ ഉപയോഗിക്കുന്നുണ്ടെങ്കിലും, ഈ ഫയൽ പ്രവർത്തനങ്ങൾ അവനിൽ നിന്ന് സ്വതന്ത്രമായി സംഭവിക്കുന്നു.

ഫയലുകളുടെയും ഡയറക്ടറികളുടെയും സൃഷ്ടി. ലിനക്സിൽ, ഫയലും ഡയറക്ടറിയും രണ്ട് തരം ഡാറ്റയാണ്, അതിനാൽ അവ സൃഷ്ടിക്കുന്നത് ഉപയോഗിച്ചാണ് ചെയ്യുന്നത് വ്യത്യസ്ത ടീമുകൾ. ഒരു ഡയറക്ടറി (ഡയറക്‌ടറി, ഫോൾഡർ) സൃഷ്‌ടിക്കുന്നതിന്, Linux mkdir-ൽ റിസർവ് ചെയ്‌തിരിക്കുന്ന കമാൻഡ് ഉപയോഗിക്കുക (“ഡയറക്‌ടറി സൃഷ്‌ടിക്കുക” - ഒരു ഡയറക്‌ടറി സൃഷ്‌ടിക്കുക). ഇനിപ്പറയുന്ന ഉദാഹരണത്തിൽ, നിലവിലെ ഡയറക്ടറിയിൽ ഞങ്ങൾ പുതിയൊരു ഡയറക്ടറി സൃഷ്ടിക്കും. ഇത് ചെയ്യുന്നതിന്, mkdir കമാൻഡും പുതിയ ഡയറക്ടറിയുടെ പേരും ഒരു സ്‌പെയ്‌സ് കൊണ്ട് വേർതിരിച്ച് ഉപയോഗിക്കുക.

$ mkdir പുതിയത്

ഡയറക്ടറി സൃഷ്ടിച്ചു. എന്നിരുന്നാലും, ചിലപ്പോൾ നിങ്ങൾ ഒരു മുഴുവൻ നെസ്റ്റഡ് ഘടന സൃഷ്ടിക്കേണ്ടതുണ്ട്, ഇതിനകം സൃഷ്ടിച്ച ഒരു ഫോൾഡറിനുള്ളിൽ മറ്റൊന്നും അതിനുള്ളിൽ മറ്റൊന്നും ഉണ്ടായിരിക്കണം. ഈ ആവശ്യങ്ങൾക്ക്, mkdir കമാൻഡിന്റെ ഭാഗമായി അറ്റാച്ച്മെന്റ് ഓപ്ഷൻ –p ഉപയോഗിക്കുന്നു. സബ്ഫോൾഡറുകൾ സൃഷ്ടിക്കാൻ ഇനിപ്പറയുന്ന ഉദാഹരണം ഒരു കമാൻഡ് ഉപയോഗിക്കുന്നു: ആദ്യത്തെ ഫോൾഡർ 1, അതിനുള്ളിൽ ഫോൾഡർ 2, അതിനുള്ളിൽ ഫോൾഡർ 3.

$ mkdir -p 1/2/3

നിങ്ങൾക്ക് കമാൻഡുകൾ ഉപയോഗിച്ചോ അല്ലെങ്കിൽ kedit, nedit, gedit മുതലായ ബിൽറ്റ്-ഇൻ, എക്സ്റ്റേണൽ ലിനക്സ് ടെക്സ്റ്റ് എഡിറ്ററുകൾ ഉപയോഗിച്ചോ ഫയലുകൾ സൃഷ്ടിക്കാൻ കഴിയും. എന്നിരുന്നാലും, ലിസ്റ്റ് ചെയ്ത എഡിറ്റർമാർക്ക് ഒരു ഗ്രാഫിക്കൽ ഷെല്ലിന്റെ പ്രവർത്തനം ആവശ്യമാണ്, അതായത് ഗ്രാഫിക്സ് സിസ്റ്റത്തിന്റെ പ്രവർത്തനം. നിങ്ങൾക്ക് അത് ഇല്ലെങ്കിൽ, നിങ്ങൾക്ക് ഒരു ടെക്സ്റ്റ് എഡിറ്റർ ഉപയോഗിക്കാം വിഐഎംഅല്ലെങ്കിൽ ഗ്രാഫിക്സ് സിസ്റ്റത്തിന്റെ പ്രവർത്തനം ആവശ്യമില്ലാത്ത അനലോഗുകൾ. മിഡ്‌നൈറ്റ് കമാൻഡർ (mc കമാൻഡ്) പോലുള്ള ടെക്‌സ്‌റ്റ് ഫയൽ മാനേജർമാർ ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഫയലുകൾ സൃഷ്‌ടിക്കാനും കഴിയും. ഉപയോക്താവിന് (ഡിസൈനർ) പലപ്പോഴും ആവശ്യമാണ് ടെക്സ്റ്റ് ഫയലുകൾഒരു ഇന്റഗ്രേറ്റഡ് സർക്യൂട്ട് കണക്കുകൂട്ടുന്ന പ്രക്രിയയോടൊപ്പമുള്ള ടെക്സ്റ്റ് വിവരങ്ങൾ സംരക്ഷിക്കുക അല്ലെങ്കിൽ, ഉദാഹരണത്തിന്, ഒരു സിമുലേറ്റഡ് അർദ്ധചാലക ഉപകരണത്തിന്റെ ഇലക്ട്രിക്കൽ പാരാമീറ്ററുകൾ. സ്വീകരിച്ച ഡാറ്റ പ്രോസസ്സ് ചെയ്യേണ്ടതും (ഇല്ലാതാക്കുക, ചേർക്കുക, അടുക്കുക, വിഭജിക്കുക) ആവശ്യമാണ്. അത്തരം പ്രവർത്തനങ്ങൾ ലിനക്സ് കമാൻഡുകൾ ഉപയോഗിച്ചും നടത്തുന്നു. ഒരു ടെക്സ്റ്റ് ഫയൽ സൃഷ്ടിക്കുന്നതിനുള്ള ഏറ്റവും ലളിതമായ കമാൻഡുകളിലൊന്നാണ് കമാൻഡ് പൂച്ച.

cat കമാൻഡിന് അതിന്റേതായ ഇന്റർഫേസ് ഇല്ല, അതിനാൽ ഒരു റീഡയറക്ഷൻ ചിഹ്നവും (ചുവടെ കാണുക) പുതിയ ഫയലിന്റെ പേരും ഉപയോഗിച്ച് cat കമാൻഡ് നൽകിയ ശേഷം, Enter കീ ഉപയോഗിച്ച് വരിയിൽ നിന്ന് വരിയിലേക്ക് നീങ്ങിക്കൊണ്ട് നിങ്ങൾക്ക് ഉടൻ തന്നെ ടെക്സ്റ്റ് വിവരങ്ങൾ എഴുതാം. Ctrl-D കീ കോമ്പിനേഷൻ ഉപയോഗിച്ചാണ് ക്യാറ്റ് എഡിറ്ററിൽ നിന്ന് (ഫിൽട്ടർ) പുറത്തുകടക്കുന്നത്. cat കമാൻഡ് ഉപയോഗിച്ച് ഒരു ഫയൽ സൃഷ്ടിക്കുന്നതിനുള്ള ഒരു ഉദാഹരണം ചുവടെയുണ്ട്.

$ പൂച്ച > പുതിയത് _ ഫയൽ

തത്ഫലമായുണ്ടാകുന്ന ഫയൽ കാറ്റ് കമാൻഡ് ഉപയോഗിച്ചും ഫയലിന്റെ പേര് സ്‌പെയ്‌സ് ഉപയോഗിച്ച് വേർതിരിക്കുന്നതും ഉപയോഗിച്ചാണ് കാണുന്നത്.

$ പൂച്ച പുതിയത് _ ഫയൽ

അല്ലെങ്കിൽ, ഉദാഹരണത്തിന്, കമാൻഡ് പ്രവർത്തിക്കുമ്പോൾ കൺസോളിൽ നിന്ന് ടെക്സ്റ്റ് വിവരങ്ങൾ സംരക്ഷിക്കുന്നു ls r ഫയൽ ചെയ്യുന്നതിനുള്ള -a ഓപ്ഷൻ ഉപയോഗിച്ച്, നിങ്ങൾക്ക് ഡാറ്റ റീഡയറക്ഷൻ ഫംഗ്‌ഷനും (ചുവടെ കാണുക) കമാൻഡും ഉപയോഗിക്കാം ടീ-a ഓപ്ഷൻ ഉപയോഗിച്ച്.

$ ls -l | ടീ-എ ആർ

ഫയലുകളും ഡയറക്ടറികളും പകർത്തുന്നു.ഫയലുകളും ഡയറക്‌ടറികളും പകർത്തുന്നത് cp കമാൻഡ് ഉപയോഗിച്ചാണ് നടത്തുന്നത്, അതിനുശേഷം കോപ്പി ഒബ്‌ജക്‌റ്റ് ആപേക്ഷികമോ കേവലമോ ആയ പാതകൾ ഉപയോഗിച്ച് സൂചിപ്പിച്ചിരിക്കുന്നു, ഒരു സ്‌പെയ്‌സ് കൊണ്ട് വേർതിരിച്ചിരിക്കുന്നു, കൂടാതെ ഈ ഒബ്‌ജക്റ്റിന്റെ പകർപ്പിന്റെ പുതിയ ലക്ഷ്യസ്ഥാനം ഒരു സ്‌പെയ്‌സ് കൊണ്ട് വേർതിരിച്ചിരിക്കുന്നു. ഇനിപ്പറയുന്ന ഉദാഹരണം നിലവിലെ ഡയറക്‌ടറിയിൽ നിന്ന് നിലവിലെ ഡയറക്‌ടറി 1-ലേക്ക് gauss.plx ഫയൽ പകർത്തുന്നു.

$ cp ഗാസ് . plx 1

നിങ്ങൾക്ക് Linux ഒബ്‌ജക്‌റ്റുകളിലേക്കുള്ള ആക്‌സസ്സ് അവകാശമുണ്ടെങ്കിൽ (ലാബ്. വർക്ക് നമ്പർ 2), ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഈ ഫയൽ ഉപയോക്താവായ അലക്‌സിലേക്ക് പകർത്താനും കഴിയും.

$ cp ഗാസ് . plx / വീട് / അലക്സ്

ഒരു ഫയൽ പകർത്തുമ്പോൾ അതേ പേരിലുള്ള ഒരു ഫയൽ ഇതിനകം ലക്ഷ്യസ്ഥാനത്ത് നിലവിലുണ്ടെങ്കിൽ, അത് തിരുത്തിയെഴുതപ്പെടും. ഇത് ആവശ്യമായ ഡാറ്റ നഷ്ടപ്പെടാൻ ഇടയാക്കും. ഇത് ഒഴിവാക്കാൻ, –i ഓപ്ഷൻ ഉപയോഗിച്ച് cp കമാൻഡ് ഉപയോഗിക്കുക, ഫയൽ പുനരാലേഖനം ചെയ്യാൻ ആഗ്രഹിക്കുന്നുണ്ടോ എന്ന് ഓരോ തവണയും ലിനക്സ് ഉപയോക്താവിനോട് ചോദിക്കും. അവസാനത്തെ കമാൻഡിന്റെ പുതിയ കാഴ്ച ഇപ്രകാരമാണ്.

$ cp -i gauss.plx /home/alex

ഫയലുകൾ പോലെ തന്നെ ഡയറക്ടറികളും പകർത്തുന്നു. എന്നിരുന്നാലും, ഫയലുകളും സബ്ഡയറക്‌ടറികളും ഉപയോഗിച്ച് ഡയറക്ടറികൾ പകർത്തുമ്പോൾ, cp കമാൻഡിന്റെ ഭാഗമായി –R ഓപ്ഷൻ ഉപയോഗിക്കുന്നു. /home/antonk/111 ഡയറക്‌ടറിയിലായതിനാൽ, laba2 ഡയറക്‌ടറി ഉയർന്ന തലത്തിലേക്ക് പകർത്തുക, അതായത്. /home/antonk ഡയറക്ടറിയിലേക്ക്. രണ്ട് ഡോട്ടുകൾ ഒരു പടി ഉയർന്ന ശ്രേണിയെ സൂചിപ്പിക്കുന്നു.

$ cp - ആർ ലാബ 2 ..

ഫയലുകളുടെയും ഡയറക്ടറികളുടെയും പേരുമാറ്റുകയും നീക്കുകയും ചെയ്യുന്നു.ഫയലുകളുടെയും ഡയറക്‌ടറികളുടെയും പേരുമാറ്റുന്നത് mv കമാൻഡ് ഉപയോഗിച്ചാണ് നടത്തുന്നത്, അതിനുശേഷം പേരുമാറ്റാനുള്ള ഒബ്‌ജക്റ്റ് സൂചിപ്പിക്കുകയും ഒരു സ്‌പെയ്‌സ് ഉപയോഗിച്ച് വേർതിരിക്കുകയും ഒബ്‌ജക്റ്റിന്റെ പുതിയ പേര് ഒരു സ്‌പെയ്‌സ് ഉപയോഗിച്ച് വേർതിരിക്കുകയും ചെയ്യുന്നു. ഡയറക്‌ടറികളുടെ പേരുമാറ്റുന്നത് ഫയലുകൾ പോലെ തന്നെ സംഭവിക്കുന്നു. നമുക്ക് gauss.plx എന്ന ഫയലിനെ gauss2.plx എന്ന പുതിയ ഫയലിലേക്ക് പുനർനാമകരണം ചെയ്യാം. പേരുമാറ്റിയ ഫയലിന്റെ അതേ പേരിലുള്ള ഒരു ഫയൽ ഈ ഡയറക്‌ടറിയിൽ ഇതിനകം നിലവിലുണ്ടെങ്കിൽ, പേരുമാറ്റിയ ഫയലിന്റെ ഉള്ളടക്കം ഉപയോഗിച്ച് അത് പുനരാലേഖനം ചെയ്യും. ഇത് തടയാൻ, -i ഓപ്ഷനും ഉപയോഗിക്കുക. വഴിയിൽ, Linux-ൽ വിപുലീകരണങ്ങളുടെ ഉപയോഗം ആവശ്യമില്ല. ഫയലുകളും എക്സിക്യൂട്ടബിൾ പ്രോഗ്രാമുകളും ബന്ധിപ്പിക്കുന്നതിന് മാത്രമാണ് അവ ഉപയോഗിക്കുന്നത്.

$ mv -i gauss.plx gauss2.plx

ഫയലുകളും ഡയറക്ടറികളും ഇല്ലാതാക്കുന്നു.ലിനക്സിൽ ഫയലുകളും ഡയറക്ടറികളും നീക്കംചെയ്യുന്നത് rm കമാൻഡ് ഉപയോഗിച്ചാണ് ചെയ്യുന്നത്, അവിടെ ഇല്ലാതാക്കേണ്ട ഫയലുകളുടെ പേരുകൾ ഒരു സ്പേസ് കൊണ്ട് വേർതിരിച്ചിരിക്കുന്നു. !!! ഈ കമാൻഡ് ഉപയോഗിച്ച് പ്രവർത്തിക്കുമ്പോൾ ശ്രദ്ധിക്കുക, നിങ്ങൾക്ക് ആവശ്യമായ ഡാറ്റ ഇല്ലാതാക്കാം. cp കമാൻഡിന് സമാനമായി, rm കമാൻഡുമായി ചേർന്ന് –i ഓപ്ഷൻ ഉപയോഗിക്കുക. ഈ ഓപ്‌ഷനുള്ള ഒരു കമാൻഡ് ഓരോ ഫയലും ഡയറക്‌ടറിയും ഇല്ലാതാക്കാൻ സ്ഥിരീകരണം ആവശ്യപ്പെടും. ഇനിപ്പറയുന്ന ഉദാഹരണത്തിൽ ഞങ്ങൾ ഫയൽ ഇല്ലാതാക്കും ഗാസ് 2. plx , ഇല്ലാതാക്കുന്നതിനുള്ള സ്ഥിരീകരണം അഭ്യർത്ഥിക്കുന്നു .

rm –i gauss2.plx

വൈൽഡ്കാർഡുകൾ. ചിലപ്പോൾ കമാൻഡ് ഇന്റർപ്രെറ്ററുമായി പ്രവർത്തിക്കുമ്പോൾ നിങ്ങൾ ഒരു പാറ്റേൺ ഉപയോഗിച്ച് ഫയലുകൾ കണ്ടെത്തുകയോ പൊരുത്തപ്പെടുത്തുകയോ ചെയ്യേണ്ടതുണ്ട്. ഉദാഹരണത്തിന്, നിങ്ങൾക്ക് ഒരു ഫയലിന്റെ പേരിന്റെ ആദ്യ അക്ഷരം മാത്രമേ അറിയൂ, കൂടാതെ ആ അക്ഷരത്തിൽ ആരംഭിക്കുന്ന വർക്കിംഗ് ഡയറക്ടറിയിൽ എല്ലാ ഫയലുകളും കണ്ടെത്താൻ ആഗ്രഹിക്കുന്നു. അല്ലെങ്കിൽ ഒരു ഫയലിന്റെ പേരിലോ വിപുലീകരണത്തിലോ ഉള്ള നിരവധി അക്ഷരങ്ങളുടെ ക്രമം നിങ്ങൾക്കറിയാം, കൂടാതെ നൂറുകണക്കിന് മറ്റ് ഫയലുകൾക്കിടയിൽ നിങ്ങൾ അത് കണ്ടെത്തേണ്ടതുണ്ട്. ഈ സാഹചര്യത്തിൽ, നിങ്ങൾ Linux പ്രത്യേക പ്രതീകങ്ങൾ ഉപയോഗിക്കേണ്ടതുണ്ട്. കമാൻഡ് ഇന്റർപ്രെറ്റർ ഒരു പരമ്പര ഉപയോഗിക്കുന്നു പ്രത്യേക കഥാപാത്രങ്ങൾ, വൈൽഡ്കാർഡുകൾ എന്ന് വിളിക്കുന്നു, ഫയലുകൾ തിരയാനും അവ പൊരുത്തപ്പെടുത്താനും ഫയൽ പേരുകളുടെ ഒരു ലിസ്റ്റ് സൃഷ്ടിക്കാനും ഇത് ഉപയോഗിക്കാം. നക്ഷത്രചിഹ്നം, ചോദ്യചിഹ്നം, ചതുര ബ്രാക്കറ്റുകൾ (*, ?, ) എന്നിവയാണ് ഈ പ്രതീകങ്ങൾ. ഒരു ഭാഗിക ഫയലിന്റെ പേര് ലഭിച്ചതിനാൽ, കണ്ടെത്തിയ ഫയലുകളുടെ പേരുകൾ തിരയാനും സൃഷ്ടിക്കാനും കമാൻഡ് ഇന്റർപ്രെറ്റർ ഈ പ്രതീകങ്ങൾ ഒരു ടെംപ്ലേറ്റായി ഉപയോഗിക്കുന്നു. യോഗ്യതയില്ലാത്ത ഫയൽ നാമമുള്ള ഒരു പരാമീറ്റർ, പൊരുത്തപ്പെടുന്ന ഫയൽ നാമങ്ങളുടെ ലിസ്റ്റ് ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കുന്നു. ഒന്നിലധികം ഫയലുകളിൽ പ്രവർത്തിക്കുന്ന കമാൻഡുകളിൽ ഈ പേരുകളുടെ ലിസ്റ്റ് ഒരു പാരാമീറ്ററായി ഉപയോഗിക്കാം (ഉദാഹരണത്തിന്, ls). കമാൻഡ് ഇന്റർപ്രെറ്റർ വൈൽഡ്കാർഡുകൾ പട്ടികയിൽ പട്ടികപ്പെടുത്തിയിട്ടുണ്ട്. 1.

പട്ടിക 1. ഷെൽ പ്രത്യേക പ്രതീകങ്ങൾ

പൊതു ചിഹ്നങ്ങൾ

ഉദ്ദേശ്യം

ഒരു കമാൻഡ് ലൈനിൽ കമാൻഡുകൾ വേർതിരിക്കുന്നു

"ടീം"

ഒരു കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യുന്നു

ഫയൽ നാമങ്ങളിൽ സാധ്യമായ പ്രതീകങ്ങളുടെ ക്ലാസുമായി താരതമ്യം ചെയ്യുക

അടുത്ത കഥാപാത്രത്തെ പ്രത്യേകമായി നിയോഗിക്കുന്നു. നിയന്ത്രണ പ്രതീകങ്ങൾ സൂചിപ്പിക്കാൻ ഉപയോഗിക്കുന്നു

ഒരു കമാൻഡിന്റെ സ്റ്റാൻഡേർഡ് ഔട്ട്പുട്ട് മറ്റൊരു കമാൻഡിനായി ഇൻപുട്ടായി പൈപ്പ് ചെയ്യുന്നു

പശ്ചാത്തലത്തിൽ ഒരു കമാൻഡ് പ്രവർത്തിപ്പിക്കുന്നു

മുമ്പ് നൽകിയ കമാൻഡുകളുടെ ഒരു ലിസ്റ്റ് ഉപയോഗിച്ച് പ്രവർത്തിക്കാനുള്ള കമാൻഡ്

വൈൽഡ്കാർഡുകൾ

അപേക്ഷയുടെ ഫലം

ഫയൽ നാമങ്ങളിൽ സജ്ജീകരിച്ചിരിക്കുന്ന ഏതെങ്കിലും പ്രതീകങ്ങളുമായി പൊരുത്തപ്പെടുന്നു

ഏതെങ്കിലും പൊരുത്തപ്പെടുന്നു ഒരു പ്രത്യേക കഥാപാത്രംഫയൽ നാമങ്ങളിൽ

വഴിതിരിച്ചുവിടൽ ചിഹ്നങ്ങൾ

അപേക്ഷയുടെ ഫലം

റീഡയറക്‌ടുകൾ സ്റ്റാൻഡേർഡ് ഔട്ട്പുട്ട്ഒരു ഫയലിലേക്കോ ഉപകരണത്തിലേക്കോ. ഈ സാഹചര്യത്തിൽ, ഫയൽ നിലവിലില്ലെങ്കിൽ, അത് സൃഷ്ടിക്കപ്പെടുന്നു, എന്നാൽ ഫയൽ നിലവിലുണ്ടെങ്കിൽ, അത് തിരുത്തിയെഴുതപ്പെടും

ആശ്ചര്യചിഹ്നം ഫയൽ നിലവിലുണ്ടെങ്കിൽ അത് തിരുത്തിയെഴുതുന്നു. ഈ ചിഹ്നം തിരുത്തിയെഴുതുന്നത് തടയുന്ന ഓപ്ഷനെ അസാധുവാക്കുന്നു. നിലവിലുള്ള ഫയലുകൾ

ഒരു ഫയലിൽ നിന്നോ ഉപകരണത്തിൽ നിന്നോ ഒരു പ്രോഗ്രാമിലേക്ക് സ്റ്റാൻഡേർഡ് ഇൻപുട്ട് റീഡയറക്‌ട് ചെയ്യുന്നു

സ്റ്റാൻഡേർഡ് ഔട്ട്‌പുട്ട് ഒരു ഫയലിലേക്കോ ഉപകരണത്തിലേക്കോ റീഡയറക്‌ട് ചെയ്യുന്നു, ഫയലിന്റെ അവസാനം ഔട്ട്‌പുട്ട് കൂട്ടിച്ചേർക്കുന്നു

വഴിതിരിച്ചുവിടൽ ചിഹ്നങ്ങൾ

സാധാരണ പിശക് സന്ദേശ ഔട്ട്പുട്ട് പ്രയോഗിക്കുന്നതിന്റെ ഫലം

ഒരു ഫയലിലേക്കോ ഉപകരണത്തിലേക്കോ സാധാരണ പിശക് ഔട്ട്‌പുട്ട് റീഡയറക്‌ട് ചെയ്യുകയും കൂട്ടിച്ചേർക്കുകയും ചെയ്യുന്നു

സാധാരണ പിശക് ഔട്ട്പുട്ട് സാധാരണ ഇൻപുട്ടിലേക്ക് റീഡയറക്‌ട് ചെയ്യുന്നു

ഒരു ഫയലിലേക്കോ ഉപകരണത്തിലേക്കോ സാധാരണ പിശക് ഔട്ട്പുട്ട് റീഡയറക്‌ട് ചെയ്യുന്നു

മറ്റൊരു കമാൻഡിന്റെ ഇൻപുട്ടിലേക്ക് പൈപ്പുകൾ സ്റ്റാൻഡേർഡ് പിശക് ഔട്ട്പുട്ട്

ഉദാഹരണത്തിന്, നക്ഷത്രചിഹ്നം (*) പ്രതീകം ഉപയോഗിച്ച് പേരുകൾ ആരംഭിക്കുന്നതോ അവസാനിക്കുന്നതോ ആയ ഫയലുകളെ സൂചിപ്പിക്കാൻ ഉപയോഗിക്കാം. ഏതെങ്കിലും പ്രതീകങ്ങളുടെ സംയോജനത്തിൽ നക്ഷത്രചിഹ്നം (*) എങ്ങനെ ഉപയോഗിക്കാമെന്ന് ഉദാഹരണം കാണിക്കുന്നു.

$ls

docl doc2 ഡോക്യുമെന്റ് ഡോക്സ് mydoc തിങ്കളാഴ്ച ചൊവ്വാഴ്ച

പ്രവർത്തിക്കുന്ന ഡയറക്‌ടറിയിൽ ഫയലുകളുടെ പൂർണ്ണമായ ലിസ്റ്റ് പ്രദർശിപ്പിച്ചു.

$ls ഡോക്*

docl doc2 ഡോക്യുമെന്റ് ഡോക്‌സ്

"ഡോക്" എന്ന അക്ഷര കോമ്പിനേഷനിൽ ആരംഭിക്കാത്ത ഫയൽ പേരുകൾ "ഫിൽട്ടർ ഔട്ട്" ചെയ്യാൻ ഞങ്ങൾ എങ്ങനെയാണ് നക്ഷത്രചിഹ്നം ഉപയോഗിച്ചതെന്ന് ഈ ഉദാഹരണം കാണിക്കുന്നു. "ഡോക്" കോമ്പിനേഷൻ അടങ്ങിയിരിക്കുന്ന ഫയൽ നാമങ്ങൾ മാത്രമേ പ്രദർശിപ്പിക്കൂ. ഈ സാഹചര്യത്തിൽ, ശേഷിക്കുന്ന ഫയലുകൾ ഇല്ലാതാക്കില്ല; അവ ഉപയോക്താവിന് പ്രദർശിപ്പിക്കില്ല.

$ls *ദിവസം

തിങ്കളാഴ്ച ടി ചൊവ്വാഴ്ച

"ദിവസം" എന്ന കോമ്പിനേഷനിൽ അവസാനിക്കുന്ന ഫയൽ നാമങ്ങൾ ഞങ്ങൾ ഇവിടെ പ്രദർശിപ്പിച്ചിരിക്കുന്നു.

$ ls [ എം.ടി ] * ഡി *

തിങ്കളാഴ്ച ചൊവ്വാഴ്ച

ഇവിടെ ഞങ്ങൾ ഫയലുകളുടെ പേരുകൾ പ്രദർശിപ്പിച്ചിരിക്കുന്നു, അവയുടെ ആദ്യ പ്രതീകം "m" അല്ലെങ്കിൽ "t" ആണ്, തുടർന്നുള്ള പ്രതീകങ്ങൾ ഏകപക്ഷീയമാണ്, തുടർന്ന് "d" എന്ന അക്ഷരവും വീണ്ടും അനിയന്ത്രിതമായ പ്രതീകങ്ങളും.

rm കമാൻഡ് ഉപയോഗിച്ച് ഒരു നക്ഷത്രചിഹ്നം ഉപയോഗിക്കുമ്പോൾ ശ്രദ്ധിക്കുക - അത് നിങ്ങളുടെ ഡാറ്റ നഷ്‌ടപ്പെടാൻ ഇടയാക്കിയേക്കാം. ഇനിപ്പറയുന്ന കമാൻഡ് നിലവിലെ ഫോൾഡറിലെ എല്ലാ ഉള്ളടക്കങ്ങളും ഇല്ലാതാക്കുന്നു.

rm *

$ls *ദിവസം

docl doc2 ഡോക്‌സ്

ചോദ്യചിഹ്നം (?) ഫയൽ നാമങ്ങളിൽ വ്യക്തമാക്കാത്ത ഒരു പ്രതീകത്തെ മാത്രമേ സൂചിപ്പിക്കുന്നു.