Читать онлайн Программист - Работа в командной строке linux



Глава 1. Знакомство с командной строкой Linux

Введение

Командная строка (CLI — Command Line Interface) — мощный инструмент управления операционной системой Linux. В отличие от графического интерфейса (GUI), она позволяет выполнять задачи быстрее и эффективнее, особенно при работе на серверах или автоматизации рутинных операций.

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


1.1. Терминал и командная оболочка

Терминал (или эмулятор терминала) — это программа, предоставляющая интерфейс для взаимодействия с командной оболочкой. В современных дистрибутивах Linux терминал запускается в графической среде.

Командная оболочка (shell) — программа, которая принимает команды от пользователя и исполняет их. Наиболее распространённая оболочка в Linux — Bash (Bourne Again SHell).

После запуска терминала вы увидите приглашение командной строки (prompt), которое обычно выглядит так:


>username@hostname:~$


Где: * >username — ваше имя пользователя; * >hostname — имя компьютера; * >~ — символ домашней директории (>/home/username); * >$ — маркер готовности к вводу команды. Если вы вошли как суперпользователь (root), вместо >$ будет >#.


1.2. Запуск терминала

Способы открыть терминал зависят от используемого графического окружения:

1. Горячие клавиши: во многих дистрибутивах комбинация >Ctrl+Alt+T запускает терминал.

2. Меню приложений: найдите пункт «Терминал», «Terminal», «Konsole» или «XTerm».

3. Контекстное меню: в файловом менеджере (например, Nautilus) кликните правой кнопкой мыши в любой папке и выберите «Открыть в терминале».

4. Поиск: используйте строку поиска в меню приложений, введя «terminal».


1.3. Синтаксис команд

Общая форма любой команды:


>команда [опции] [аргументы]


• Команда — действие, которое нужно выполнить (например, >ls, >cd, >pwd).

• Опции (флаги) — изменяют поведение команды, обычно начинаются с дефиса (>-) или двойного дефиса (>--). Например, >-l для подробного вывода, >--help для справки.

• Аргументы — объекты, над которыми выполняется действие (файлы, каталоги и т. д.).

Пример:


>ls -l /home/user/Documents


• >ls — команда (вывести список файлов);

• >-l — опция (подробный формат);

• >/home/user/Documents — аргумент (путь к каталогу).


1.4. Первые команды

Выполните следующие команды, чтобы познакомиться с основами:

1. >pwd (Print Working Directory) — показать текущую директорию:


>pwd


Вывод будет примерно таким: >/home/username.

2. >ls (List) — вывести список файлов и каталогов в текущей директории:


>ls


Для подробного списка используйте опцию >-l:


>ls -l


Чтобы показать скрытые файлы (начинающиеся с точки), добавьте опцию >-a:


>ls -la


3. >cd (Change Directory) — сменить текущую директорию:


>cd /var/log


Вернуться в домашнюю директорию можно командой:


>cd ~


Или просто:


>cd


Перейти на уровень выше:


>cd ..


4. >whoami — вывести имя текущего пользователя:


>whoami


5. >date — показать текущую дату и время:


>date


6. >cal — вывести календарь на текущий месяц:


>cal



1.5. Получение справки

Если вы не знаете, как использовать команду, воспользуйтесь встроенными средствами помощи:

1. >--help — большинство команд поддерживают эту опцию:


>ls --help


2. >man (manual) — просмотр подробной справочной страницы:


>man ls


Внутри >man используйте клавиши: * >↑/↓ — прокрутка по строкам; * >PgUp/PgDn — прокрутка по страницам; * >/ — поиск (введите шаблон и нажмите Enter); * >q — выход из справки.

3. >info — альтернативная система документации (более структурированная):


>info ls



1.6. Практические упражнения

1. Запустите терминал.

2. Выполните команду >pwd. Запишите, какой путь отображается.

3. Выполните >ls -la. Найдите в выводе скрытые файлы (они начинаются с точки).

4. Перейдите в каталог >/etc командой >cd /etc.

5. Проверьте, что вы действительно в >/etc, выполнив >pwd.

6. Выведите список файлов в >/etc с подробной информацией (>ls -l). Обратите внимание на права доступа и владельцев.

7. Вернитесь в домашнюю директорию командой >cd.

8. Откройте справку по команде >date (>date --help или >man date). Найдите опцию для вывода даты в формате «год-месяц-день». Попробуйте её использовать.


Заключение

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

В следующей главе мы углубимся в навигацию по файловой системе и управление файлами и каталогами.

Глава 2. Навигация по файловой системе и управление файлами

Введение

В Linux вся файловая система организована в виде единого дерева с корневым каталогом >/. Понимание структуры файловой системы и умение перемещаться по ней — основа эффективной работы в командной строке.

В этой главе вы: * изучите структуру файловой системы Linux; * освоите абсолютные и относительные пути; * научитесь перемещаться между каталогами; * получите навыки просмотра содержимого каталогов; * познакомитесь с основными операциями по управлению файлами и каталогами.


2.1. Структура файловой системы Linux

Файловая система Linux имеет иерархическую структуру с корнем >/ (root). Основные каталоги:

• >/bin — базовые исполняемые файлы (команды);

• >/etc — конфигурационные файлы системы;

• >/home — домашние каталоги пользователей;

• >/var — переменные данные (логи, кэши);

• >/tmp — временные файлы;

• >/usr — пользовательские приложения и данные;

• >/opt — дополнительные приложения.

Важно: в Linux нет дисков с буквами (как в Windows). Все устройства монтируются в дерево каталогов.


2.2. Абсолютные и относительные пути

Абсолютный путь начинается с корневого каталога >/ и указывает полное местоположение объекта:


>/home/user/Documents/report.txt


Относительный путь задаётся относительно текущего каталога: * >. — текущий каталог; * >.. — родительский каталог (на уровень выше); * >~/ — домашний каталог пользователя.

Примеры: * Если вы в >/home/user, то >Documents/report.txt — относительный путь к файлу. * Абсолютный путь к тому же файлу: >/home/user/Documents/report.txt.


2.3. Навигация по каталогам

Основные команды навигации:

1. >pwd (Print Working Directory) — показать текущий каталог:


>pwd

># Вывод: /home/user


2. >cd (Change Directory) — сменить каталог:


>cd /var/log # Переход в /var/log

>cd Documents # Переход в подкаталог Documents текущего каталога

>cd .. # Переход на уровень выше

>cd ~ # Возвращение в домашний каталог

>cd # Аналогично cd ~

>cd - # Возврат в предыдущий каталог



2.4. Просмотр содержимого каталогов

Команда >ls (List) выводит список файлов и каталогов.

Основные опции: * >-a — показать все файлы, включая скрытые (имена начинаются с >.); * >-l — подробный формат (права, владелец, размер, дата); * >-h — размеры в удобном формате (KB, MB, GB); * >-t — сортировка по времени изменения; * >-r — обратный порядок сортировки; * >-F — добавить символы к именам (например, >/ для каталогов).

Примеры использования:


>ls # Простой список файлов

>ls -a # Список с скрытыми файлами

>ls -l # Подробный список

>ls -lh # Подробный список с удобными размерами

>ls -la # Полный список (включая скрытые)

>ls -lt # Сортировка по дате изменения



2.5. Управление файлами и каталогами

1. Создание каталогов (>mkdir):


>mkdir new_folder # Создание одного каталога

>mkdir -p projects/2024/january # Создание вложенных каталогов


2. Создание файлов (>touch):


>touch report.txt # Создание пустого файла

>touch file1.txt file2.txt # Создание нескольких файлов


3. Копирование (>cp):


>cp report.txt backup/ # Копирование в каталог backup

>cp report.txt new_report.txt # Копирование с новым именем

>cp -r folder/ backup/ # Рекурсивное копирование каталога


4. Перемещение и переименование (>mv):


>mv report.txt documents/ # Перемещение в каталог documents

>mv report.txt final_report.txt # Переименование


5. Удаление (>rm):


>rm temp.txt # Удаление файла

>rm -i *.tmp # Удаление с подтверждением

>rm -r old_folder/ # Рекурсивное удаление каталога


Внимание: команда >rm удаляет файлы безвозвратно. Используйте опцию >-i для подтверждения.


2.6. Работа со скрытыми файлами и ссылками

Скрытые файлы начинаются с точки (>.) и обычно содержат настройки программ (например, >.bashrc, >.ssh/).

Ссылки: * Символьная ссылка (>ln -s) — аналог ярлыка в Windows:


>ln -s /home/user/documents/report.txt link_to_report


• Жёсткая ссылка (>ln) — альтернативное имя для файла (указывает на тот же inode).


2.7. Практические упражнения

1. Перейдите в каталог >/tmp.

2. Создайте каталог >test_nav командой >mkdir.

3. Внутри >test_nav создайте три файла: >file1.txt, >file2.txt, >config.cfg.

4. Создайте подкаталог >subfolder и скопируйте в него >file1.txt.

5. Переименуйте >file2.txt в >data.txt.

6. Выведите подробный список файлов в >test_nav, включая скрытые.

7. Создайте символическую ссылку >link_to_config на >config.cfg.

8. Проверьте содержимое ссылки командой >ls -l.

9. Удалите >subfolder и все его содержимое.

10. Вернитесь в домашний каталог командой >cd.


Заключение

Вы освоили основы навигации по файловой системе Linux и базовые операции с файлами и каталогами. Теперь вы можете: * ориентироваться в структуре каталогов; * перемещаться между директориями; * просматривать содержимое папок; * создавать, копировать, перемещать и удалять файлы.

В следующей главе мы рассмотрим работу с содержимым файлов: просмотр, редактирование и поиск информации.

Глава 3. Работа с содержимым файлов: просмотр, редактирование и поиск

Введение

В Linux большинство настроек системы и приложений хранятся в текстовых файлах. Умение просматривать, редактировать и искать информацию в них — ключевой навык для работы в командной строке.

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


3.1. Просмотр содержимого файлов

1. >cat (concatenate) — выводит содержимое файла целиком. Подходит для небольших файлов.

Примеры:


>cat /etc/hosts # Просмотр файла hosts

>cat file1.txt file2.txt # Вывод нескольких файлов подряд

>cat -n script.sh # Вывод с нумерацией строк


2. >tac — аналогична >cat, но выводит строки в обратном порядке.


>tac logfile.txt


3. >head — показывает первые строки файла (по умолчанию — 10).


>head /var/log/syslog # Первые 10 строк лога

>head -n 5 config.cfg # Первые 5 строк файла

>head -c 100 data.txt # Первые 100 байт файла


4. >tail — показывает последние строки файла.


>tail /var/log/auth.log # Последние 10 строк

>tail -n 20 error.log # Последние 20 строк

>tail -f /var/log/syslog # Мониторинг в реальном времени (новые строки добавляются автоматически)


5. >less — интерактивный просмотр больших файлов с прокруткой.


>less /var/log/dmesg


Управление в >less: * >↑/↓ — по строкам; * >PgUp/PgDn — по страницам; * >/ + слово — поиск; * >n — следующий результат поиска; *