Начало работы с Linux

LinuxBeginner
Практиковаться сейчас

Введение

Терминал — это текстовый способ взаимодействия с Linux. Вы вводите команду в командной строке, нажимаете Enter, после чего Linux выводит результат или изменяет что-либо в системе. Сначала командная строка может показаться непривычной, но каждое взаимодействие строится по одной и той же простой схеме.

В этой первой лабораторной работе вы выполните безопасные команды, которые выводят текст, показывают дату, отображают календарь, вычисляют числа и создают текстовые рисунки. Кроме того, вы сохраните несколько результатов в /home/labex/project/first-commands, чтобы научиться отличать временный вывод терминала от информации, записанной в файл.

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

Совет: Если вы впервые пользуетесь LabEx, рекомендуем начать с учебного курса по Linux.

На этом шаге вы научитесь распознавать приглашение терминала, запускать команды и читать их вывод.

Мигающий курсор отображается после приглашения командной строки. Оно означает, что оболочка готова принять команду; само приглашение вводить не нужно. Сначала перейдите в рабочую папку, подготовленную для этой лабораторной работы:

cd /home/labex/project/first-commands

Ввод команд в месте мигающего курсора на вкладке Terminal

cd означает «сменить каталог». Каталог — это принятое в Linux название папки. В следующих лабораторных работах каталоги будут рассмотрены подробнее, а пока эта команда задаёт единое и предсказуемое место для всех сохранённых результатов.

Выполните pwd, что означает «вывести текущий рабочий каталог»:

pwd

В выводе должен появиться каталог, в который вы только что перешли:

/home/labex/project/first-commands

Теперь используйте echo, чтобы попросить оболочку вывести текст:

echo "Hello, Linux"

Вы должны увидеть:

Hello, Linux

Кавычки объединяют слова в одно текстовое значение. Теперь сохраните приветствие в файл. Символ > называется перенаправлением вывода: оболочка создаёт файл, имя которого указано справа, и отправляет туда обычный вывод команды вместо отображения на экране. Если файл уже существует, > заменяет его прежнее содержимое, поэтому перед использованием с важными данными проверяйте назначение:

echo "Hello, Linux" > greeting.txt

Эта команда ничего не выводит на экран, поскольку результат был записан в greeting.txt.

Прочитайте сохранённый файл с помощью cat:

cat greeting.txt

Повторное появление Hello, Linux подтверждает, что текст теперь хранится в greeting.txt, а не только отображается на экране терминала.

Просмотр даты и календаря

На этом шаге вы запросите у Linux сведения о времени и увидите, что вывод команды может зависеть от окружения.

Выполните date без параметров:

date

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

Команды часто принимают параметры, изменяющие их вывод. Формат date, начинающийся с +, позволяет выбрать нужные поля. %F означает формат даты ISO YYYY-MM-DD:

date +%F

Сохраните сегодняшнюю дату в формате ISO. Как и на предыдущем шаге, > перенаправляет вывод в файл и заменяет его, если файл уже существует:

date +%F > today.txt

Команда cal отображает текущий месяц в виде календаря:

cal

Расположение месяца и дней недели зависит от текущей даты и локали. Сохраните этот вывод:

cal > calendar.txt

Символ > отправляет вывод в файл, а не на экран. Выведите сохранённый календарь, чтобы убедиться, что он был записан:

cat calendar.txt

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

Вычисления с помощью Expr

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

Оболочка разделяет командную строку на слова по пробелам. expr ожидает, что первое число, оператор и второе число будут переданы как отдельные аргументы. Сложите два числа:

expr 5 + 3

Результат:

8

Попробуйте вычитание и деление:

expr 20 - 7
expr 24 / 6

Умножение требует дополнительного действия. Оболочка воспринимает * как шаблон для имён файлов, поэтому экранируйте его обратной косой чертой, чтобы передать expr обычный оператор умножения:

expr 6 \* 7

Сохраните результат умножения в файл. Здесь используется то же перенаправление вывода, с которым вы работали ранее, поэтому терминал останется пустым, а calculation.txt получит значение 42:

expr 6 \* 7 > calculation.txt

Выведите содержимое файла:

cat calculation.txt

Вы должны увидеть 42. Простота этого первого упражнения позволяет сосредоточиться на структуре команды: имени команды, аргументах, разделённых пробелами, и необязательном месте назначения вывода.

Преобразование текста в ASCII-рисунок

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

figlet создаёт крупные буквы из обычных символов терминала. Запустите его с коротким словом:

figlet "LabEx"

Вывод займёт несколько строк. Это называется ASCII-рисунком, поскольку для его создания используются текстовые символы, а не пиксели изображения.

Многие параметры Linux-команд начинаются с -. В figlet параметр -f выбирает шрифт, а slant — это имя шрифта. Попробуйте:

figlet -f slant "Linux"

Сохраните первый рисунок в файл:

figlet "LabEx" > labex-art.txt

Просмотрите начало сохранённого рисунка:

head labex-art.txt

По умолчанию head отображает первые десять строк. Вы должны увидеть тот же многострочный рисунок, который ранее появился в терминале.

Очистка занятого терминала

На этом шаге вы очистите старый вывод и научитесь отличать очистку экрана от удаления файлов.

После выполнения нескольких команд терминал может стать визуально перегруженным. Выполните:

clear

clear убирает старый вывод терминала с экрана. Эта команда не удаляет команды, файлы или каталоги. В большинстве терминалов для такой же визуальной очистки можно использовать сочетание клавиш Ctrl+L.

Убедитесь, что созданные ранее файлы всё ещё существуют, выведя содержимое рабочей папки:

ls

Вы по-прежнему должны увидеть greeting.txt, today.txt, calendar.txt, calculations.txt и labex-art.txt.

Создайте итоговый маркер после очистки экрана:

echo "Terminal ready" > terminal-ready.txt

Выведите маркер, чтобы проверить его:

cat terminal-ready.txt

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

Итоги

Вы освоили базовую схему работы с терминалом: ввести команду, нажать Enter и интерпретировать результат. Вы попрактиковались с pwd, echo, date, cal, expr, figlet и clear, использовали простые параметры и сохраняли вывод в файлы. Теперь вы готовы применить эти основы в небольшом задании в терминале, прежде чем перейти к более широкому набору операций с файлами.