Введение в терминал Linux

Вступление

В этом руководстве, которое является первым в серии, в котором рассказывается об основах Linux, позволяющих новым пользователям встать на ноги, рассказывается, как начать работу с терминалом, командной строкой Linux и выполнением команд. Если вы новичок в Linux, вам нужно ознакомиться с терминалом, так как это стандартный способ взаимодействия с сервером Linux. Использование командной строки может показаться сложной задачей, но на самом деле это очень легко, если вы начнете с основ, а затем начнете развивать свои навыки.

Если вы хотите получить максимальную отдачу от этого руководства, вам понадобится сервер Linux для подключения и использования. Если у вас его еще нет, вы можете быстро его увеличить, перейдя по этой ссылке:How To Create A DigitalOcean Droplet. Это руководство основано на сервере Ubuntu 14.04, но общие принципы применимы к любому другому дистрибутиву Linux.

Давайте начнем с изучения эмулятора терминала.

Эмулятор терминала

Эмулятор терминала - это программа, которая позволяет использовать терминал в графической среде. Поскольку большинство людей используют операционную систему с графическим пользовательским интерфейсом (GUI) для своих повседневных нужд, использование эмулятора терминала является необходимостью для большинства пользователей серверов Linux.

Вот несколько бесплатных, обычно используемых эмуляторов терминала в зависимости от операционной системы:

  • Mac OS X: Терминал (по умолчанию), iTerm 2

  • Windows: PuTTY

  • Linux: Терминал, KDE Konsole, XTerm

Каждый эмулятор терминала имеет свой набор функций, но все перечисленные прекрасно работают и просты в использовании.

Оболочка

В системе Linuxshell - это интерфейс командной строки, который интерпретирует пользовательские команды и файлы сценариев и сообщает операционной системе сервера, что с ними делать. Существует несколько широко используемых оболочек, напримерBourne shell (sh) иC shell (csh). Каждая оболочка имеет свой собственный набор функций и сложностей, касающихся интерпретации команд, но все они, помимо прочего, имеют перенаправление ввода и вывода, переменные и тестирование условий.

Это руководство было написано с использованиемBourne-Again shell, обычно называемогоbash, который является оболочкой по умолчанию для большинства дистрибутивов Linux, включая Ubuntu, CentOS и RedHat.

Командная строка

При первом входе на сервер вас обычно встречаетMessage of the Day (MOTD), которое обычно является информационным сообщением, которое включает различную информацию, такую ​​как версия дистрибутива Linux, на котором работает сервер. После MOTD вы попадете в командную строку или командную строку, где вы можете давать команды серверу.

Информация, представленная в командной строке, может быть настроена пользователем, но вот пример командной строки Ubuntu 14.04 по умолчанию:

sammy@webapp:~$

Вот разбивка состава командной строки:

  • sammy:username текущего пользователя

  • webapp:hostname сервера

  • ~:current directory. Вbash, который является оболочкой по умолчанию,~ или тильда - это специальный символ, который заменяется на путьhome directory текущего пользователя; в данном случае это/home/sammy

  • $: символ подсказки. Это обозначает конец командной строки, после чего появится ввод с клавиатуры пользователя.

Вот пример того, как может выглядеть командная строка при входе в систему какroot и в каталоге/var/log:

root@webapp:/var/log#

Обратите внимание, что символ, завершающий командную строку, - это#, который является стандартным символом подсказки дляroot. В Linux пользовательroot - это учетная записьsuperuser, которая представляет собой специальную учетную запись пользователя, которая может выполнять общесистемные административные функции - это неограниченный пользователь, который имеет разрешение на выполнение любых задач на сервере.

Выполнение команд

Команды могут быть введены в командной строке, указав имя исполняемого файла, который может быть двоичной программой или скриптом. В ОС установлено много стандартных команд и утилит Linux, которые позволяют вам перемещаться по файловой системе, устанавливать пакеты и пакеты программного обеспечения, а также настраивать систему и приложения.

Экземпляр выполняющейся команды известен какprocess. Когда команда выполняется вforeground, что является способом выполнения команд по умолчанию, пользователь должен дождаться завершения процесса, прежде чем вернуться в командную строку, после чего он может продолжить выполнение других команд.

Важно отметить, что почти все в Linux чувствительно к регистру, включая имена файлов и каталогов, команды, аргументы и параметры. Если что-то работает не так, как ожидалось, перепроверьте правильность написания и регистр своих команд!

Мы рассмотрим несколько примеров, которые охватывают основы выполнения команд.

Note: Если вы еще не подключены к серверу Linux, сейчас хорошее время для входа в систему. Если у вас есть сервер Linux, но возникают проблемы с подключением, перейдите по этой ссылке:How to Connect to Your Droplet with SSH.

Без аргументов или опций

Чтобы выполнить команду без аргументов или опций, просто введите имя команды и нажмитеRETURN.

Если вы выполните команду, подобную этой, она будет демонстрировать поведение по умолчанию, которое варьируется от команды к команде. Например, если вы запустите командуcd без аргументов, вы вернетесь в домашний каталог вашего текущего пользователя. Командаls распечатает список файлов и каталогов текущего каталога. Командаip без аргументов выведет сообщение, показывающее, как использовать командуip.

Попробуйте запустить командуls без аргументов, чтобы вывести список файлов и каталогов в вашем текущем каталоге (их может не быть):

ls

С аргументами

Многие команды принимаютarguments илиparameters, что может повлиять на поведение команды. Например, наиболее распространенный способ использования командыcd - передать ей единственный аргумент, указывающий, в какой каталог перейти. Например, чтобы перейти в каталог/usr/bin, где установлено множество стандартных команд, вы должны выполнить эту команду:

cd /usr/bin

Компонентcd - это команда, а первый аргумент/usr/bin следует за командой. Обратите внимание, как обновился текущий путь в командной строке.

Если хотите, попробуйте запустить командуls, чтобы увидеть файлы, которые находятся в вашем новом текущем каталоге.

ls

С параметрами

Большинство команд принимаютoptions, также известные какflags илиswitches, которые изменяют поведение команды. Поскольку они являются специальными аргументами, параметры следуют за командой и обозначаются одним символом-, за которым следует один или несколькоoptions, которые представлены отдельными буквами верхнего или нижнего регистра. Кроме того, некоторые параметры начинаются с--, за которым следует один многосимвольный параметр (обычно описательное слово).

В качестве основного примера работы параметров рассмотрим командуls. Вот пара общих опций, которые пригодятся при использованииls:

  • -l: распечатать «длинный список», который включает дополнительные сведения, такие как разрешения, права собственности, размеры файлов и временные метки.

  • -a: списокall файлов каталога, включая скрытые (начинающиеся с.)

Чтобы использовать флаг-l сls, используйте эту команду:

ls -l

Обратите внимание, что в список включены те же файлы, что и раньше, но с дополнительной информацией о каждом файле.

Как упоминалось ранее, варианты часто могут быть сгруппированы вместе. Если вы хотите использовать параметры-l и-a вместе, вы можете запуститьls -l -a или просто объединить их, как в этой команде:

ls -la

Обратите внимание, что список включает скрытые каталоги. и.. в списке из-за опции-a.

С опциями и аргументами

Параметры и аргументы почти всегда можно комбинировать при запуске команд.

Например, вы можете проверить содержимое/home, независимо от вашего текущего каталога, выполнив эту командуls:

ls -la /home

ls - это команда,-la - это параметры, а/home - это аргумент, указывающий, какой файл или каталог нужно перечислить. Это должно напечатать подробный список каталога/home, который должен содержать домашние каталоги всех обычных пользователей на сервере.

Переменные среды

Переменные среды - это именованные значения, которые используются для изменения порядка выполнения команд и процессов. При первом входе на сервер несколько переменных среды будут установлены в соответствии с несколькими файлами конфигурации по умолчанию.

Просмотреть все переменные среды

Чтобы просмотреть все переменные среды, которые установлены для определенного сеанса терминала, выполните командуenv:

env

Скорее всего, будет много вывода, но попробуйте найти записьPATH:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

Переменная средыPATH - это список каталогов, разделенных двоеточиями, в которых оболочка будет искать исполняемые программы или сценарии при выполнении команды. Например, командаenv расположена в/usr/bin, и мы можем выполнить ее без указания ее полного местоположения, поскольку ее путь находится в переменной средыPATH.

Просмотр значения переменной

Значение переменной среды можно получить, добавив к имени переменной префикс$. Это расширит ссылочную переменную до ее значения.

Например, чтобы распечатать значение переменнойPATH, вы можете использовать командуecho:

echo $PATH

Или вы можете использовать переменнуюHOME, которая по умолчанию установлена ​​в домашний каталог вашего пользователя, чтобы перейти в ваш домашний каталог следующим образом:

cd $HOME

Если вы попытаетесь получить доступ к переменной среды, которая не была установлена, она будет расширена до нуля; пустая строка.

Установка переменных среды

Теперь, когда вы знаете, как просматривать переменные среды, вы должны научиться их устанавливать.

Чтобы установить переменную среды, все, что вам нужно сделать, это начать с имени переменной, за которым сразу следует знак=, за которым сразу же следует желаемое значение:

VAR=value

Обратите внимание, что если вы установите существующую переменную, исходное значение будет перезаписано. Если переменная не существовала в первую очередь, она будет создана.

Bash включает команду под названиемexport, которая экспортирует переменную, чтобы она была унаследована дочерними процессами. Проще говоря, это позволяет вам использовать сценарии, которые ссылаются на экспортированную переменную среды из текущего сеанса. Если вам все еще неясно, что это значит, не беспокойтесь об этом.

Вы также можете ссылаться на существующие переменные при установке переменной. Например, если вы установили приложение в/opt/app/bin, вы можете добавить этот каталог в конец переменной средыPATH с помощью этой команды:

export PATH=$PATH:/opt/app/bin

Теперь убедитесь, что/opt/app/bin был добавлен в конец вашей переменнойPATH с помощьюecho:

echo $PATH

Имейте в виду, что установка переменных среды таким образом только устанавливает их для текущего сеанса. Это означает, что если вы выйдете из системы или перейдете в другой сеанс, изменения, внесенные в среду, не будут сохранены. Есть способ навсегда изменить переменные среды, но это будет рассмотрено в следующем уроке.

Заключение

Теперь, когда вы узнали об основах терминала Linux (и нескольких командах), у вас должна быть хорошая основа для расширения ваших знаний о командах Linux. Прочтитеnext tutorial in this series, чтобы узнать, как перемещаться, просматривать и редактировать файлы и их разрешения.

Related