Введение
В этом практическом занятии (лабораторной работе) вы узнаете, как определить, какой оболочка (shell) в настоящее время используется в среде Linux. Вы изучите различные методы проверки активной оболочки, включая использование команды echo $SHELL для отображения оболочки текущей сессии, анализ файла /etc/passwd для проверки оболочки по умолчанию для входа пользователя и изучение запущенных процессов с помощью команды ps для идентификации процесса оболочки.
Выполнив эти шаги, вы приобретете практические навыки идентификации и понимания оболочечной среды, что является фундаментом для эффективного взаимодействия с командной строкой и написания скриптов в Linux.
Проверка текущей оболочки с помощью echo $SHELL
На этом этапе вы узнаете, как определить, какую оболочку (shell) вы в настоящее время используете в терминале. Оболочка представляет собой интерпретатор командной строки, который обрабатывает ваши команды. Различные оболочки имеют разные функции и синтаксис, хотя многие базовые команды работают одинаково на всех из них.
Среда LabEx использует zsh в качестве оболочки по умолчанию. Вы можете проверить это, посмотрев значение переменной окружения $SHELL. Переменные окружения - это динамические значения, которые влияют на поведение процессов на компьютере. Переменная $SHELL хранит путь к оболочке по умолчанию пользователя.
Чтобы отобразить значение переменной $SHELL, используйте команду echo, за которой следует имя переменной с префиксом в виде знака доллара ($).
Введите следующую команду в терминале и нажмите Enter:
echo $SHELL
Вы должны увидеть вывод, похожий на этот, что указывает на то, что ваша текущая оболочка - zsh:
/usr/bin/zsh
Это подтверждает, что в терминале в настоящее время запущена оболочка zsh, которая является конфигурацией по умолчанию для вашей среды LabEx. Понимание, какую оболочку вы используете, имеет важное значение в вашем изучении Linux, так как некоторые расширенные функции или скрипты могут быть специфичными для определенной оболочки.
Нажмите Продолжить, чтобы перейти к следующему шагу.
Проверка оболочки пользователя в файле /etc/passwd
На предыдущем этапе вы использовали команду echo $SHELL, чтобы узнать, какую оболочку (shell) вы в настоящее время используете. Это оболочка, которая была запущена для текущей сессии терминала. Однако система также хранит информацию о стандартной оболочке входа для каждого пользователя в конфигурационном файле.
Этот конфигурационный файл - /etc/passwd. Он содержит информацию о всех пользователях системы. Каждая строка в файле /etc/passwd представляет учетную запись пользователя и разделена на поля, отделенные двоеточиями (:). Последнее поле в каждой строке указывает стандартную оболочку входа пользователя.
Чтобы просмотреть содержимое файла /etc/passwd, вы можете использовать команду cat. Поскольку нас интересует только строка для пользователя labex, мы можем объединить cat с командой grep, чтобы отфильтровать вывод. grep - это мощный инструмент для поиска текстовых шаблонов в файлах.
Введите следующую команду в терминале и нажмите Enter:
cat /etc/passwd | grep labex
Разберем эту команду на части:
cat /etc/passwd: Эта команда считывает содержимое файла/etc/passwdи выводит его на стандартный вывод.|: Это символ "конвейер" (pipe). Он берет вывод команды слева (cat /etc/passwd) и передает его в качестве входных данных команде справа (grep labex).grep labex: Эта команда ищет в полученных входных данных строки, содержащие строку "labex", и выводит эти строки.
Вы должны увидеть одну строку вывода, похожую на следующую:
labex:x:5000:5000:LabEx user,,,:/home/labex:/usr/bin/zsh
Эта строка содержит несколько фрагментов информации о пользователе labex, разделенных двоеточиями. Поля (в порядке следования):
- Имя пользователя (
labex) - Пароль (представлен символом
x, фактический хэш пароля хранится в другом месте для безопасности) - Идентификатор пользователя (UID) (
5000) - Идентификатор группы (GID) (
5000) - Информация о пользователе (поле GECOS) (
LabEx user,,,) - Домашний каталог (
/home/labex) - Стандартная оболочка входа (
/usr/bin/zsh)
Последнее поле, /usr/bin/zsh, подтверждает, что стандартной оболочкой входа для пользователя labex действительно является zsh, что соответствует тому, что вы увидели с помощью команды echo $SHELL.
Нажмите Продолжить, чтобы перейти к следующему этапу.
Проверка процессов оболочки с помощью ps
На предыдущих этапах вы определили текущую оболочку (shell) с помощью команды echo $SHELL и проверили стандартную оболочку входа в файле /etc/passwd. Теперь давайте посмотрим на запущенные процессы в системе, чтобы увидеть сам процесс оболочки.
В Linux каждая запущенная программа представляет собой процесс. Команда ps (сокращение от "process status") используется для просмотра информации о текущих запущенных процессах.
Чтобы увидеть процессы, связанные с текущей сессией терминала, вы можете использовать команду ps с опцией -f, которая предоставляет полный формат списка.
Введите следующую команду в терминале и нажмите Enter:
ps -f
Вы должны увидеть вывод, похожий на следующий:
UID PID PPID C STIME TTY TIME CMD
labex XXXX XXXX 0 HH:MM pts/0 00:00:00 zsh
labex YYYY XXXX 0 HH:MM pts/0 00:00:00 ps -f
Рассмотрим столбцы:
UID: Идентификатор пользователя, владельца процесса (labex).PID: Идентификатор процесса (Process ID), уникальный номер для каждого процесса.PPID: Идентификатор родительского процесса (Parent Process ID). Это PID процесса, который запустил текущий процесс.C: Использование ЦП (CPU utilization).STIME: Время запуска процесса.TTY: Терминал, связанный с процессом (pts/0указывает на псевдотерминал, как тот, который вы используете).TIME: Совокупное время использования ЦП процессом.CMD: Команда, которая запустила процесс.
В выводе вы должны увидеть строку с CMD равным zsh. Эта строка представляет процесс оболочки zsh, который запускает текущую сессию терминала. Также вы увидите строку для самой команды ps -f, так как она также является запущенным процессом при ее выполнении.
На этом этапе показано, как использовать команду ps для проверки запущенных процессов и подтверждения того, что ваша оболочка действительно запущена как процесс в системе.
Нажмите Продолжить, чтобы завершить этот практический урок.
Резюме
В этом практическом уроке вы научились проверять, какую оболочку (shell) вы в настоящее время используете в Linux. Сначала вы использовали команду echo $SHELL, чтобы отобразить путь к оболочке, запущенной в текущей сессии терминала. Это показало, что в среде LabEx по умолчанию используется оболочка zsh.
Затем вы исследовали файл /etc/passwd, который хранит информацию о системных пользователях, включая их стандартную оболочку входа. Проверяя последнее поле записи вашего пользователя в этом файле, вы можете убедиться, какую оболочку будет назначена вашему аккаунту при входе в систему. Эти методы предоставляют различные способы определить используемую оболочку, как для текущей сессии, так и как стандартную для пользователя.



