Инструменты консоли
3.3 CLI инструменты
Исторически сложилось так, что разработка UNIX демонстрирует значительное совпадение навыков разработки программного обеспечения и системного администрирования. Инструменты для управления системами имеют черты компьютерных языков, такие как циклы (которые позволяют многократно выполнять команды), а некоторые языки компьютерного программирования широко используются для автоматизации задач системного администрирования. Таким образом, эти навыки следует рассматривать как взаимодополняющие, и для компетентных системных администраторов требуется хотя бы базовое знакомство с программированием.
На базовом уровне пользователи взаимодействуют с системой Linux через оболочку, независимо от того, подключаются ли они к системе удаленно или с подключенной клавиатуры. Работа оболочки состоит в том, чтобы принимать команды, такие как манипуляции с файлами и запуск приложений, и передавать их ядру Linux для выполнения. Оболочка Linux предоставляет богатый язык для перебора файлов и настройки среды, не выходя из оболочки. Например, можно написать одну командную строку, которая находит файлы с содержимым, соответствующим определенному шаблону, извлекает из файла полезную информацию, а затем копирует новую информацию в новый файл.
Linux предлагает на выбор множество оболочек, в основном отличающихся тем, как и что можно настраивать, а также синтаксисом встроенного языка сценариев. Двумя основными семействами являются оболочка Bourne и оболочка C. Оболочка Bourne была названа в честь ее создателя Стивена Борна из Bell Labs. Оболочка C была названа так потому, что ее синтаксис во многом заимствован из языка C. Поскольку обе эти оболочки были изобретены в 1970-х годах, существуют более современные версии: Bourne Again Shell (Bash) и tcsh (произносится как tee-cee-shell). Bash является оболочкой по умолчанию в большинстве систем, хотя обычно доступен и tcsh.
Программисты взяли любимые функции Bash и tcsh и создали другие оболочки, такие как оболочка Korn (ksh) и оболочка Z (zsh) . Выбор снарядов в основном индивидуален; пользователи, знакомые с Bash, могут эффективно работать в большинстве систем Linux. Другие оболочки могут предлагать функции, повышающие производительность в конкретных случаях использования.
Last updated