Unix / Linux Shells 101

May -Akda: Eugene Taylor
Petsa Ng Paglikha: 11 Agosto. 2021
I -Update Ang Petsa: 22 Hunyo 2024
Anonim
Unix Shell Crash Course || Unix Shell Tutorial for Beginners
Video.: Unix Shell Crash Course || Unix Shell Tutorial for Beginners

Nilalaman



Pinagmulan: Tomasz Bidermann / Dreamstime.com

Takeaway:

Ang mga shell ng Unix at Linux ay napakalakas at lubos na napapasadyang.

Ang command line sa Unix at Linux system ay napakalakas na, ngunit ang mga shell ay isang mas malakas na tool kaysa nakakatugon sa mata. Maaari mong ipasadya ang mga ito at ilipat ang mga ito sa nilalaman ng iyong puso, hangga't alam mo kung paano.

Ano ang isang shell?

Halos bawat manu-manong Unix at Linux ay may karaniwang diagram ng isang shell wrapping sa paligid ng operating system, na kahawig ng ilang uri ng kendi bar. Ang shell ay talagang walang anuman kundi isang interface sa pagitan ng operating system, kabilang ang kernel, ang file system at ang iba't ibang mga tawag sa system at ang gumagamit. Sa loob ng maraming taon, ito ay ang tanging interactive na interface ng gumagamit bago ang mga graphic na interface ng gumagamit ay naging pangkaraniwan noong 1980s. Ang mga interface ng mga graphic na gumagamit ay maaari ding isaalang-alang na isang uri ng shell, dahil nagsisilbi sila ng marami sa parehong mga pag-andar: paglulunsad ng mga programa, pag-configure ng system at pamamahala ng mga file.

Ang mga mapagpakumbabang mga interface na ito ay may nakakagulat na dami ng kapangyarihan. Para sa isang bagay, kumpleto sila ng mga wika sa programming. Bago ang paglitaw ng kahit na mas malakas na wika ng script tulad ng Python, ang mga script ng shell ay mainam para sa pagsulat ng mga programa na hindi kinakailangan ng kapangyarihan ng C. Sila ay kapaki-pakinabang pa rin para sa mga automating na gawain ng system at para sa mabilis na prototyping.

Mayroon din silang isang bilang ng mga tampok na gawing mas madali ang pakikipagtulungan at paghahanap ng mga file. Ang isa sa mga pinaka-malawak na ginagamit ay "wildcarding" o "globbing." Halos lahat ng mga gumagamit ng Unix at Linux ay pamilyar sa "*" wildcard upang tumugma sa anumang character. Ito talaga ang trabaho ng shell. Ang iba't ibang mga shell ay may mas malakas na mga pagpipilian.

Ang isa sa mga natatanging tampok ng Unix ay ang kakayahang mag-redirect ng input at output ng programa. Ang shell ay nagpapatupad ng pag-andar na ito.

Ang shell ay isa pang programa, kaya posible para sa anumang programista na may tamang kasanayan upang lumikha ng isa. Maraming mga pangunahing mga shell na lumitaw sa mga nakaraang taon.

Kasaysayan at isang Roundup ng Shells

Bagaman mayroong maraming mga shell ng Unix sa mga unang araw ng operating system, ang una upang makakuha ng pangunahing pagkilala sa labas ng Bell Labs ay ang Bourne Shell, na pinangalanang Stephen R. Bourne. Ang pangunahing pagbabago ng shell ay suportado nito ang mga tampok para sa nakabalangkas na pagprograma, na posible sa kauna-unahang pagkakataon na gamitin ang shell bilang isang tunay na wika sa programming. Napakahalagang kailangan na ang lahat ng mga modernong bersyon ng Unix at Linux ay ginagamit pa rin ito, bagaman kadalasan ito ay isa sa mga mas bagong shell na tularan ang Bourne shell.

Ang susunod na pangunahing pangunahing shell ay ang C Shell, na karaniwang pinaikling bilang "csh." Ang shell na ito ay binuo sa UC Berkeley, na naging isang pangunahing sangkap ng lasa ng BSD ng Unix. Tulad ng iminumungkahi ng pangalan, ang syntax nito ay idinisenyo upang maging katulad ng wika ng C programming, ngunit talagang idinisenyo ito para sa interactive na paggamit.

Kasama dito ang isang mekanismo ng kasaysayan na nagpapahintulot sa mga gumagamit na bumalik at ulitin ang anumang mga utos na inisyu nila nang mas maaga nang hindi na muling muling isama ang isang buong linya at pinahusay ang kontrol sa trabaho, na naging mas madali ang pagpapatakbo. (Tandaan, ito ay isang oras kung saan ang karamihan sa mga tao ay gumagamit pa rin ng mga terminong na-terminate.)

Ang susunod na pangunahing pangunahing shell ay ang Korn Shell, na lumabas din sa Bell Labs. Ang shell ay pinangalanan sa David Korn, hindi ang banda, sa pamamagitan ng paraan. Ang pangunahing pagbabago ng Korn shell ay ang pagpapakilala ng pag-edit ng command-line, na palawakin pa ang pag-andar ng kasaysayan. Ang mga gumagamit ay maaaring bumalik at i-edit ang mga utos na nai-type nila gamit ang mga utos na katulad ng alinman sa mga editor ng vi o Emacs.

Sa mga pangunahing shell, ang Bourne Again Shell, o bash, ang pinakapopular mula sa pagpapakilala nito sa huli na 80s. Ang shell na ito, na binuo bilang bahagi ng proyekto ng GNU, ay isinasama ang mga makabagong ideya ng mga shell ng C at Korn habang pinapanatili ang pagiging tugma sa shell ng Bourne, samakatuwid ang pangalan. Ito ang "pamantayan" na shell sa karamihan ng mga pamamahagi ng Linux.

Ang Z Shell (zsh), na unang inilabas noong 1990, ay pangarap ng gumagamit ng command-line. Hindi lamang ito ang may karamihan sa iba pang mga pangunahing tampok na mayroon ng iba pang mga shell, ito ay insanely napapasadyang may maraming mga makapangyarihang tampok. Ang isa sa pinakamalakas ay ang recursive globbing, na nagpapahintulot sa mga gumagamit na tumugma sa mga filenames sa mga subdirectory kapag naglalabas ng mga utos sa halip na mga file sa kasalukuyang direktoryo ng pagtatrabaho. Ang mga talagang advanced na mga gumagamit ay maaari ring ipasadya ang mga pagpipilian sa pagkumpleto, pagtutugma ng mga file nang hindi kinakailangang i-type ang mga ito nang buo. At para sa mga tipong may dalang taba, maaari din itong iwasto ang iyong pagbaybay. Ang shell na ito ay napakahusay, ang manu-manong pahina nito ay nahati sa maraming mahahabang mga seksyon.

Pag-skrip

Tulad ng naunang nabanggit, ang mga shell ay hindi lamang mga interface ng command line, ngunit malakas na mga wika sa programa. Ang kagandahan ng script ng shell ay maaari mong gamitin ang parehong wika sa parehong regular na interactive na paggamit pati na rin sa mga script, na ginagawang labi ang pag-aaral ng curve. Kasama sa mga modernong shell ang lahat ng karaniwang mga tampok ng wika ng programming, kabilang ang control control, function at variable. Ang ilan sa mga ito ay may mga advanced na mga istruktura ng data tulad ng mga arrative na may kaugnayan.

Sa kabila ng kanilang lakas, ang pagprograma sa mga shell ay may ilang mga pitfalls. Ang pinakamalaking problema ay napakadaling magsulat ng mga script na nakasalalay sa ilang programa na maaaring wala sa ibang sistema, o nakasalalay sa isang partikular na lasa ng Unix o Linux. Iyon ang dahilan kung bakit ang mga script ng shell ay pinakaangkop para sa mga programa na alam mong tatakbo lamang sa isang system. Kung sinusubukan mong bumuo ng isang bagay na portable at ayaw sumulat ng isang C programa, ang pinakamahusay na mapagpipilian ay ang sumulat sa isa pang wika ng script tulad ng Perl o Python.

Isang Peek Sa ilalim ng Hood ng Unix / Linux Command Line

Mayroong higit pang lakas na gumagala sa ibaba ng iyong unix / Linux na linya ng utos. Ang artikulong ito ay maaaring magbigay ng inspirasyon sa iyo na kumuha ng isang silip sa ilalim ng talukap ng iyong paboritong shell upang makita kung ano ang maaari mong talagang gawin. Kung nais mong makapasok sa script ng shell, baka gusto mong suriin ang mga librong Unix Power Tools at Pag-aralan ang Bash Shell. Si Stephen R. Bournes ang orihinal na papel sa kanyang shell ay nagsisilbi rin bilang isang mahusay na pagpapakilala sa mundo ng script ng shell, kahit na ito ay luma.