Поиск по сайту:

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


Введение

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

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

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

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

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

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

  • Mac OS X: Терминал (по умолчанию), iTerm 2
  • Windows: ConEmu, терминал Windows, PuTTy
  • Linux: Терминал Gnome, Konsole, XTerm

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

Оболочка

В системе Linux оболочка представляет собой интерфейс командной строки, который интерпретирует пользовательские команды и файлы сценариев и сообщает серверной операционной системе, что с ними делать. Существует несколько широко используемых оболочек, таких как оболочка Bourne-Again (bash) и оболочка Z (zsh). Каждая оболочка имеет свой собственный набор функций и тонкостей, связанных с интерпретацией команд, но все они, среди прочего, включают перенаправление ввода и вывода, переменные и проверку условий.

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

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

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

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

sammy@webapp:~$

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

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

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

root@webapp:/var/log#

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

Запуск команд

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

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

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

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

Примечание. Если вы еще не подключены к серверу Linux, самое время войти в систему. Если у вас есть сервер Linux, но возникают проблемы с подключением, перейдите по этой ссылке: Как подключиться к вашей капле с помощью SSH.

Без аргументов и вариантов

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

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

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

  1. ls

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

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

cd /usr/bin

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

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

ls
Output
… grub-mkrescue sdiff zgrep grub-mkstandalone sed zipdetails grub-mount see zless grub-ntldr-img select-editor zmore grub-render-label semver znew grub-script-check sensible-browser

С опциями

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

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

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

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

  1. ls -l

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

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

  1. 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. Прочтите следующий учебник из этой серии, чтобы узнать, как перемещаться, просматривать и редактировать файлы и их разрешения.