Командне линије: Зашто се људи и даље муче са њима?

Командна линија је стара скоро 50 година, али није застарела. Терминали засновани на тексту су и даље најбољи начин за обављање многих задатака, чак и у доба графичких десктопа и гаџета са екраном осетљивим на додир.

У ствари, командна линија постаје више поштована него икад са Мицрософт креирањем моћне нове апликације Виндовс Терминал. Виндовс 10 ПоверСхелл окружење је изненађујуће моћно, али Мицрософт се ипак потрудио да у Виндовс 10 дода подршку за у основи потпуно окружење Линук командне линије.

Командна линија је некада била једина опција

Некада сте куцали ако сте желели да комуницирате са рачунаром. То је било то. Ништа друго није било. То би могло звучати рестриктивно и архаично, али као корак даље од употребе бушених картица или перфорираних папирних трака, куцање је било радикално и трансформативно. И мигрирајући са телетипских машина са њиховим ролнама папира на терминале са катодна цев (ЦРТ) екрани били су још један помак у интеракцији људи и рачунара.

Тај корак је отворио пут да интерактивна шкољка заиста дође на своје. Сада можете послати упутства рачунару и врло брзо имати одговоре приказане на екрану. Нема више клак-клак-клак док сте чекали да отисак на папиру изађе из ваше телетип машине.

Поштено, али то је било тада, ово је сада. Рачунарство је потпуно другачија игра лоптом. Осим очигледних закључаних случајева као што је коришћење рачунара који нема инсталирано графичко окружење радне површине или коришћење удаљеног рачунара преко ССХ преко везе са ниским пропусним опсегом, или контролисање а безглави или уграђени систем, зашто користити командну линију преко графичке радне површине?

Жаргон Екплаинед

Неки људи користе појмове као што су командна линија, прозор терминала и шкољка скоро наизменично. То је нетачан жаргон. Сви су прилично различити. Они су повезани, али нису иста ствар.

Прозор терминала је прозор у а графичко окружење радне површине који покреће емулацију телетип терминала.

Схелл је програм који се покреће унутар прозора терминала. Узима ваш унос и, у зависности од тога шта сте откуцали, покушава да протумачи и изврши сама упутства, да их проследи неким другим услужним програмима који чине оперативни систем или да пронађе скрипту или програм који одговара ономе што сте откуцали.

  Изградња складишта података и језера података у АВС-у

Командна линија је место где куцате. То је промпт који љуска приказује када чека да унесете нека упутства. Термин „командна линија“ се такође користи да се односи на стварни садржај онога што сте откуцали. На пример, ако разговарате са неким другим корисником рачунара о потешкоћама које сте имали при покушају да покренете програм, они ће вас можда питати: „Коју сте командну линију користили?“ Не питају коју шкољку сте користили; желе да знају коју сте команду откуцали.

Све заједно, они се комбинују да би формирали интерфејс командне линије (ЦЛИ).

Зашто користити командну линију у 2019.

ЦЛИ може изгледати ретроградно и збуњујуће за оне који нису упознати са њим. Сигурно нема места у модерном оперативном систему за тако застарели и штреберски начин коришћења рачунара? Нисмо ли се свега тога одрекли пре неколико деценија када су се појавили прозори, иконе и мишеви и графичка десктоп окружења са графички кориснички интерфејси (ГУИ) постали доступни?

Да, ГУИ постоји деценијама. Прва верзија Мицрософт Виндовс-а је била објављен давне 1985 и постао је стандард за десктоп рачунаре са издавањем Виндовс 3.0 1990. године.

Кс Виндов Систем, коришћен у Уник-у и Линук-у, био је уведен 1984. Ово је донело графичка десктоп окружења у Уник и његове многе деривате, клонове и изданке.

Али издавање Уник-а претходило је овим догађајима а више од једне деценије. А пошто није било друге опције, све је морало бити могуће преко командне линије. Сва људска интеракција, сва конфигурација, свака употреба рачунара морала је бити у могућности да се изводи преко скромне тастатуре.

Дакле, ипсо фацто, ЦЛИ може све. ГУИ још увек не може да уради све што ЦЛИ може. Чак и за делове које може да уради, ЦЛИ је обично бржи, флексибилнији, може се израдити скриптама и скалабилан.

И постоји стандард.

Они су стандардизовани захваљујући ПОСИКС-у

ПОСИКС је а стандард за оперативне системе сличне Уник-у— у суштини, све што није Виндовс. Чак и Виндовс има Виндовс подсистем за Линук (ВСЛ). Отворите прозор терминала на било ком оперативном систему који је усаглашен са ПОСИКС (или близу усаглашености) и наћи ћете се у љусци. Чак и ако љуска или дистрибуција обезбеде сопствена проширења и побољшања, све док обезбеђују основну ПОСИКС функционалност, моћи ћете да је користите одмах. И ваше скрипте ће се покренути.

  ДатаБрицкс против Сновфлаке – бољи избор у 2023?

Командна линија је најмањи заједнички именилац. Научите како да га користите и, без обзира на Линук дистрибуцију и графичко окружење радне површине, моћи ћете да обављате све задатке који су вам потребни. Различити десктопи имају свој начин рада. Различите дистрибуције Линука повезују различите услужне програме и програме.

Али отворите прозор терминала и осећаћете се као код куће.

Команде су дизајниране да раде заједно

Свака од Линук команди је дизајнирана да уради одређено нешто и да то уради добро. Основна филозофија дизајна је да се дода више функционалности додавањем још једног услужног програма који се може повезати или повезати заједно са постојећим да би се постигао жељени резултат.

Ово је толико корисно да се Мицрософт потрудио да дода подршку за комплетну Линук командну линију у Виндовс 10!

На пример, наредбу сортирање користе друге команде за сортирање текста по абецедном реду. Нема потребе да уграђујете способност сортирања у сваку од осталих Линук команди. Генерално, ГУИ апликације не дозвољавају ову врсту колаборативног међусобног рада.

Погледајте следећи пример. Ово користи команду лс за листање датотека у тренутном директоријуму. Резултати се шаљу у команду сортирање и сортирано на петој колони података (што је величина датотеке). Сортирана листа се затим шаље у главну команду која подразумевано наводи првих десет редова његовог уноса.

ls -l | sort -nk5,5 | head

Добијамо уредан списак најмањих датотека у тренутном директоријуму.

Променом једне команде – коришћењем репа уместо главе – можемо добити листу десет највећих датотека у тренутном директоријуму.

ls -l | sort -nk5,5 | tail

Ово нам даје нашу листу десет највећих датотека, као што се очекивало.

Излаз из команди се може преусмерити и снимити у датотеке. Уобичајени излаз (стдин) и поруке о грешци (стдерр) могу се снимити одвојено.

Команде могу укључивати променљиве окружења. Следећа команда ће приказати садржај вашег кућног директоријума:

ls $HOME

Ово функционише где год да се налазите у стаблу директоријума.

  Водич за прављење апликације за скраћивање УРЛ-ова помоћу Дјанга

Ако вас идеја о том куцању и даље мучи, технике као што је довршавање картице могу смањити количину куцања коју морате да урадите.

Скрипте омогућавају аутоматизацију и поновљивост

Људи су склони грешкама.

Скрипте вам омогућавају да стандардизујете скуп инструкција за које знате да ће се извршавати на исти начин сваки пут када се скрипта покрене. Ово доноси доследност у одржавању система. Безбедносне провере могу бити уграђене у скрипте које омогућавају скрипти да утврди да ли треба да се настави. Ово уклања потребу да корисник има довољно знања да сам донесе одлуку.

Пошто можете да аутоматизујете задатке коришћењем црон-а на Линук-у и другим системима сличним Уник-у, дуги, компликовани и понављајући задаци могу бити поједностављени или барем једном схваћени, а затим аутоматизовани за будућност.

ПоверСхелл скрипте нуде сличну снагу на Виндовс-у и можете заказати њихово покретање из Планера задатака. Зашто кликнути на 50 различитих опција сваки пут када подесите рачунар када можете да покренете команду која аутоматски мења све?

Најбоље од оба света

Да бисте извукли најбоље од Линука — или било ког оперативног система као напредног корисника — заиста морате да користите ЦЛИ и ГУИ.

ГУИ је непревазиђен за коришћење апликација. Чак и тврдоглави заговорници командне линије морају повремено изаћи из прозора терминала и користити канцеларијске пакете продуктивности, развојна окружења и програме за графичку манипулацију.

Зависници од командне линије не мрзе ГУИ. Они само фаворизују предности коришћења ЦЛИ—за одговарајуће задатке. За администрацију, ЦЛИ побеђује. Можете да користите ЦЛИ да извршите промене у једној датотеци, једном директоријуму, избору датотека и директоријума или потпуно глобалним променама уз једнаку количину напора. Покушај да се ово уради помоћу ГУИ често захтева дуге и понављајуће радње тастатуре и миша како се број погођених објеката повећава.

Командна линија вам даје највећу верност. Свака опција сваке команде вам је доступна. И многе Линук команде имају много опција. Да узмемо само један пример, размотримо команду лсоф. Погледајте га ман страница а затим размислите како бисте то упаковали у ГУИ.

Постоји превише опција да би се представиле кориснику у ефикасном ГУИ. Било би неодољиво, непривлачно и незграпно за употребу. А то је потпуно супротно од онога што ГУИ жели да буде.

То су коњи за курсеве. Не бежите од ЦЛИ коња. Често је то бржи и окретнији коњ. Зарадите своје мамузе и никада нећете пожалити.