Shell in Linux (Bash, Zsh, Dash - features and differences)

Shell એ એવો program છે જેમાં તમે commands લખો છો, અને Linux અનેક આપે છે: Bash એ રોજિંદું ધોરણ છે, Zsh વાપરવાના અનુભવમાં તાકાત અને ઓપ ઉમેરે છે, અને Dash એ scripts ઝડપથી ચલાવવા બનેલું નાનકડું ઝડપી shell છે.

9 min read · 8 cards · 2 checks

Read in: English · हिन्दी · ગુજરાતી


Theory

એક કામ, અનેક programs

તમને હવે ખબર છે કે shell એ એ સ્તર છે જેમાં તમે commands લખો છો. અહીં એવું કંઈક છે જે ઘણા શરૂઆત કરનારાઓને આશ્ચર્ય પમાડે છે: shell એ કોઈ એક નિશ્ચિત વસ્તુ નથી. એ ફક્ત એક program છે, અને Linux તમને પસંદ કરવા માટે અનેક જુદાં shell નાં programs આપે છે.

તમે જેમના વિશે સૌથી વધુ સાંભળશો એ ત્રણ છે Bash, Zsh, અને Dash. એ બધાં એ જ મુખ્ય કામ કરે છે, એટલે કે તમારા commands વાંચીને એમને ચલાવે છે, અને ઘણું બધું સ્વરૂપ પણ વહેંચે છે, પણ એમનાં લક્ષણો અને હેતુ જુદા છે. આ પાઠ એમને સરખાવે છે જેથી તમને ખબર પડે કે તમે શું વાપરો છો, અને આ અભ્યાસક્રમ Bash કેમ વાપરે છે.

Theory

Shell શું છે, ફરી એક વાર

Shell એ command નું અર્થઘટન કરનારું છે: એ prompt દેખાડે છે, તમે લખેલો command વાંચે છે, અને એને ચલાવવાની ગોઠવણ કરે છે. એ સામાન્ય program હોવાથી, તંત્ર એક કરતાં વધુ આપી શકે છે, અને તમે એમની વચ્ચે બદલી પણ શકો છો.

અહીંનાં બધાં shells એક જ કુટુંબનાં છે (મૂળ Bourne shell માંથી ઊતરેલાં), એટલે એમનું પાયાનું સ્વરૂપ, commands ચલાવવાનું, pipes વાપરવાનું, સાદી scripts લખવાનું, મોટા ભાગે વહેંચાયેલું છે. જે જુદું છે એ છે દરેક જે વધારાનાં લક્ષણો ઉમેરે છે અને દરેકનો સૌથી સારો ઉપયોગ. તમે કયા shell માં છો એ SHELL ના variable કે prompt જોઈને તપાસી શકો છો.

At a glance

Shellપૂરું નામસ્વભાવ અને લાક્ષણિક ઉપયોગ
BashBourne Again SHellસામાન્ય મૂળભૂત; લક્ષણોથી ભરપૂર; વાપરવા અને scripts માટેનું ધોરણ (આ અભ્યાસક્રમ)
ZshZ ShellBash જેવું પણ વધુ સમૃદ્ધ વાપરવાનાં લક્ષણો સાથે: વધુ સારું completion, themes, plugins
DashDebian Almquist SHellનાનું, ઝડપી, લઘુતમ; ફક્ત POSIX; તંત્રની scripts ઝડપથી ચલાવવા વપરાય છે, રોજ લખવા નહીં

Formula

Bash એ તમારું મૂળભૂત છે, અને આ અભ્યાસક્રમનું shell

મોટા ભાગનાં Linux નાં તંત્રો પર, campus ના સામાન્ય lab ના server સહિત, Bash એ મૂળભૂત વાપરવાનું shell છે, અને આ અભ્યાસક્રમ દરેક command અને script માટે એ જ વાપરે છે. એ શક્તિશાળી છે, બધે મળે છે, અને એના દસ્તાવેજ પૂરેપૂરા છે.

Zsh એ લોકોની લોકપ્રિય પસંદગી છે જેમને વધુ ભભકાદાર અનુભવ જોઈએ છે (તાજેતરના macOS પર એ મૂળભૂત છે). Dash માં તમે ભાગ્યે જ સીધું લખો છો; તંત્ર એને પડદા પાછળ scripts ઝડપથી ચલાવવા વાપરે છે. આ અભ્યાસક્રમમાં શંકા હોય, ત્યારે Bash માની લો.

Practical

હું કયું shell વાપરું છું?

echo $SHELL        # prints your login shell, e.g. /bin/bash

# The path names the shell program:
#   /bin/bash  -> Bash
#   /bin/zsh   -> Zsh
#   /bin/dash  -> Dash (often linked as /bin/sh)

Quiz

કયું shell નાનું, ઝડપી, અને POSIX પર કેન્દ્રિત છે, અને રોજિંદા વપરાશને બદલે તંત્રની scripts ઝડપથી ચલાવવા સામાન્ય રીતે વપરાય છે?

  1. Bash, કારણ કે એ સૌથી મોટું છે
  2. Dash, એટલે કે Debian Almquist SHell, જે લઘુતમ ઝડપી shell છે અને scripts માટે ઘણી વાર /bin/sh તરીકે વપરાય છે
  3. Zsh, કારણ કે એની પાસે વાપરવાનાં સૌથી વધુ લક્ષણો છે
  4. એકેય નહીં; Linux નાં બધાં shells એકસરખાં છે
Show the answer

Dash, એટલે કે Debian Almquist SHell, જે લઘુતમ ઝડપી shell છે અને scripts માટે ઘણી વાર /bin/sh તરીકે વપરાય છે

Dash (Debian Almquist SHell) એ scripts ઝડપથી ચલાવવા બનેલું નાનું, ઝડપી, લઘુતમ shell છે; એ POSIX ને વળગી રહે છે અને જાણી જોઈને ભારે સગવડો છોડી દે છે, અને એટલા માટે જ તંત્રો એને શરૂઆતની અને તંત્રની scripts માટે ઘણી વાર /bin/sh તરીકે વાપરે છે. વિકલ્પ A ખોટો છે: Bash લક્ષણોથી ભરપૂર છે અને એ રોજિંદું મૂળભૂત shell છે, લઘુતમ script ચલાવનારું નહીં. વિકલ્પ C એ વર્ણનથી ઊલટો છે: Zsh જ વાપરવાનાં લક્ષણોથી ભરેલું છે (completion, themes, plugins), એટલે એ લઘુતમ પસંદગી નથી. વિકલ્પ D ખોટો છે: shells મુખ્ય સ્વરૂપ વહેંચે છે પણ કદ, ઝડપ અને લક્ષણોમાં ખરેખર જુદાં પડે છે. ઓજારને કામ સાથે મેળવો: રોજિંદા વપરાશ માટે Bash, પાતળા ઝડપી scripting માટે Dash.

Think first

જો સ્વરૂપ વહેંચાયેલું હોય, તો અનેક shells કેમ છે?

Bash, Zsh, અને Dash બધાં એ જ પાયાના commands ચલાવે છે. તો એક જ કેમ નહીં? પછી tap કરો.

Show the answer

કારણ કે જુદી પરિસ્થિતિઓમાં લક્ષણો અને પાતળાપણા વચ્ચેની જુદી આપ-લે ફળે છે. DASH ઝડપ અને સાદગી માટે છે: તંત્ર ચાલુ થાય અને સેંકડો નાની scripts ચલાવે ત્યારે નાનું, ઝડપી, ચુસ્ત પ્રમાણભૂત shell મોટા shell કરતાં વહેલું શરૂ થઈને પૂરું થાય છે, એટલે Dash ને /bin/sh તરીકે વાપરવાથી આખું તંત્ર વધુ ચપળ અને ધારી શકાય એવું બને છે. ZSH વધુ સમૃદ્ધ વાપરવાના અનુભવ માટે છે: જે લોકો આખો દિવસ terminal પર વિતાવે છે એમને એનું વધુ હોશિયાર tab-completion, જોડણીનો સુધારો, themes, અને plugins ગમે છે, અને એ સગવડો શરૂઆતની script માં નકામો બોજ હોત. BASH વચ્ચે વ્યવહારુ મૂળભૂત તરીકે બેસે છે: ખરેખરા વપરાશ અને scripting માટે પૂરતું શક્તિશાળી, લગભગ બધે ઉપલબ્ધ, અને ઊંડા દસ્તાવેજવાળું, અને એટલા માટે જ એ શીખવા માટેનું સલામત ધોરણ છે. વહેંચાયેલા Bourne કુટુંબના સ્વરૂપનો અર્થ છે કે તમારી પાયાની આવડતો એ બધામાં ચાલે છે, એટલે Bash સારી રીતે શીખવાથી તમે બીજાં માટે તૈયાર થાઓ છો. અનેક shells એ પસંદગી છે, અંધાધૂંધી નહીં: જેની ઝડપ અને લક્ષણોની સમતુલા કામને બંધબેસે એ પસંદ કરો. પહેલાં Bash શીખો; એ બધે સાથે ચાલે છે.

Summary

Key takeaways

  • Shell એ command નું અર્થઘટન કરનારું છે, અને એ ફક્ત એક program છે, એટલે Linux પસંદ કરવા અનેક આપે છે.
  • Bash (Bourne Again SHell) એ સામાન્ય મૂળભૂત છે: લક્ષણોથી ભરપૂર, સાર્વત્રિક, અને આ અભ્યાસક્રમ વાપરે છે એ shell.
  • Zsh (Z Shell) એ Bash જેવું છે પણ વધુ સમૃદ્ધ વાપરવાનાં લક્ષણો સાથે (completion, themes, plugins); તાજેતરના macOS પર મૂળભૂત.
  • Dash (Debian Almquist SHell) નાનું, ઝડપી, અને ફક્ત POSIX વાળું છે, જે તંત્રની scripts ઝડપથી ચલાવવા વપરાય છે, રોજ લખવા નહીં.
  • બધાં Bourne કુટુંબનાં છે, એટલે એ મુખ્ય સ્વરૂપ વહેંચે છે; તમારી પાયાની આવડતો એમની વચ્ચે ચાલે છે.
  • echo $SHELL થી તમારું shell તપાસો; રસ્તો (જેમ કે /bin/bash) program નું નામ આપે છે.
  • Memory hook: રોજિંદા માટે Bash, ભભકાદાર prompt માટે Zsh, ઝડપી scripts માટે Dash.

Study this properly

This page is the lesson to read. In Gri-Learn the same topic is a graded deck: the self-checks are scored and your weak topics are tracked. Free to start.

Start this topic

Already have an account? Sign in

More from Introduction to Linux Operating System

Gri-Learn · syllabus-mapped B.C.A. lessons in English, Hindi and Gujarati

Shell in Linux (Bash, Zsh, Dash - features and differences) · Linux Operating System (LOS) (Minor-04) · Gri-Learn