Unix / Linux Shells 101

Автор: Eugene Taylor
Дата На Създаване: 11 Август 2021
Дата На Актуализиране: 22 Юни 2024
Anonim
Unix Shell Crash Course || Unix Shell Tutorial for Beginners
Видео: Unix Shell Crash Course || Unix Shell Tutorial for Beginners

Съдържание



Източник: Томаш Бидерман / Dreamstime.com

За вкъщи:

Unix и Linux черупки са много мощни и изключително адаптивни.

Командният ред в Unix и Linux системите вече е много мощен, но черупките са още по-мощен инструмент, отколкото среща окото. Можете да ги персонализирате и да ги превключите към съдържанието на сърцето си, стига да знаете как.

Какво е черупка?

Почти във всяко ръководство за Unix и Linux има стандартната диаграма на обвивка около операционната система, наподобяваща някакъв вид бонбони. Черупката наистина не е нищо друго освен интерфейс между операционната система, включително ядрото, файловата система и различните системни обаждания и потребителя. Дълги години той беше единственият интерактивен потребителски интерфейс, преди графичните потребителски интерфейси да станат често срещани през 80-те години. Графичните потребителски интерфейси също могат да се считат за тип обвивка, тъй като те обслужват много от едни и същи функции: стартиране на програми, конфигуриране на системата и управление на файлове.

Тези скромно базирани интерфейси имат изненадващо количество мощност. Първо, те са напълно разработени езици за програмиране. Преди появата на още по-мощни скриптови езици като Python, скриптове с черупки са идеални за писане на програми, които не се нуждаят непременно от силата на C. Те все още са полезни за автоматизиране на системните задачи и за бързо прототипиране.

Те също имат редица функции, които улесняват работата и намирането на файлове. Една от най-широко използваните е „wildcarding“ или „globlob“. Почти всички потребители на Unix и Linux са запознати със символа "*", за да съответстват на всеки символ. Това всъщност е работата на черупката. Различните черупки имат още по-мощни опции.

Една от отличителните характеристики на Unix е възможността за пренасочване на въвеждане и извеждане на програма. Черупката реализира тази функционалност.

Черупката е просто друга програма, така че е възможно всеки програмист с правилни умения да създаде такава. Имало е няколко големи черупки, които са се появили през годините.

История и обзор на черупките

Въпреки че имаше няколко корпуса на Unix в първите дни на операционната система, първият, който получи голямо признание извън Bell Labs, беше Shell Bourne, кръстен на Стивън Р. Борн. Основното нововъведение на черупките беше, че поддържа функции за структурирано програмиране, което дава възможност за първи път да се използва обвивката като истински език за програмиране. Толкова е задължително, че всички съвременни версии на Unix и Linux все още го използват, въпреки че обикновено това е една от по-новите черупки, подражаващи на черупката на Bourne.

Следващата основна обвивка беше C Shell, обикновено съкратено като „csh“. Тази обвивка е разработена в UC Berkeley, превръщайки се в основен компонент на BSD аромата на Unix. Както подсказва името, синтаксисът му е предназначен да прилича на езика за програмиране на C, но той наистина е създаден за интерактивна употреба.

Той включваше механизъм за история, който позволява на потребителите да се връщат назад и да повтарят командите, които са издали по-рано, без да се налага да въвеждат отново цял ред и подобряват контрола на работата, което улеснява изпълнението на множество задачи. (Не забравяйте, че това беше време, когато повечето хора все още използваха терминали на базата на данни.)

Следващият основен корпус беше Korn Shell, който също излезе от Bell Labs. Черупката е кръстена между другото на Дейвид Корн, а не на групата. Основната иновация на Korn shell е въвеждането на редактиране на командния ред, което още повече разширява функционалността на историята. Потребителите могат да се върнат и да редактират командите, които са въвели, като използват команди, подобни на редакторите vi или Emacs.

От основните черупки най-популярният от момента на въвеждането му в края на 80-те е Bourne Again Shell, или баш. Тази обвивка, разработена като част от проекта GNU, включва иновациите на C и Korn черупките, като същевременно поддържа съвместимост с черупка Bourne, откъдето идва и името. Това е „стандартната“ обвивка за повечето Linux дистрибуции.

Z Shell (zsh), издаден за първи път през 1990 г., е мечтата на потребителя от командния ред. Не само че има повечето други основни функции, които имат другите черупки, той е безумно адаптивен с много мощни функции. Едно от най-мощните е рекурсивното глобулиране, което позволява на потребителите да съответстват на имена на файлове в поддиректории при издаване на команди, а не на файлове в текущата работна директория. Наистина напредналите потребители могат също да персонализират опциите за завършване, като съвпадат файлове, без да се налага да ги въвеждате напълно. А за дебелите машинописни машини може да коригира и правописа ви. Тази обвивка е толкова усъвършенствана, ръчната й страница е разделена на няколко много дълги раздела.

Scripting

Както беше споменато по-горе, черупките не са просто интерфейси на командния ред, а мощни езици за програмиране. Красотата на скриптовите скриптове е, че можете да използвате един и същ език както в редовна интерактивна употреба, така и в скриптове, което прави кривата на обучение много по-плоска. Съвременните обвивки включват всички обичайни функции на езика за програмиране, включително контрол на потока, функции и променливи. Някои от тях дори имат разширени структури от данни като асоциативни масиви.

Въпреки силата им, програмирането в черупки има няколко клопки. Най-големият проблем е, че е твърде лесно да се пишат скриптове, които зависят от някаква програма, която може да не е в друга система или това зависи от конкретен аромат на Unix или Linux. Ето защо скриптове с черупки са най-подходящи за програми, за които знаете, че ще се изпълняват само в една система. Ако се опитвате да създадете нещо преносимо и не искате да пишете програма на C, най-добрият ви залог е да пишете на друг скриптов език като Perl или Python.

Поглед под капака на командния ред Unix / Linux

Има повече мощност, която се крие под повърхността на вашия команден ред Unix / Linux. Тази статия може да ви вдъхнови да надникнете под капака на любимата си черупка, за да видите какво наистина можете да направите. Ако искате да влезете в скриптове на черупките, може да искате да разгледате книгите Unix Power Tools и Learning the Bash Shell. Оригиналната хартия на Стивън Р. Борнс върху черупката му също служи като добро въведение в света на сценариите на черупките, дори ако е старата му.