Терминал и приглашение
Когда вы открываете терминал, вас встречает приглашение командной строки (prompt). На лекции оно выглядит так:
localhost:~#
Разберём по частям:
| Часть | Значение | Пример другого варианта |
|---|---|---|
localhost | Имя сервера (hostname) | ubuntu, myserver |
: | Разделитель | — |
~ | Текущий каталог; ~ — сокращение для домашнего каталога | /etc, /tmp |
# | Знак доллара $ — обычный пользователь; решётка # — суперпользователь (root) | $ |
JSLinux: откройте jslinux.org, кликните «Run this VM» — вы сразу под root, поэтому приглашение заканчивается на
#. Всё, что изучаем сегодня, запускается прямо в браузере.
Структура команды
Любая команда строится по одному шаблону:
команда [флаги] [аргументы]
- команда — имя программы:
ls,mkdir,rm. - флаги (опции) — изменяют поведение; начинаются с
-(короткий) или--(длинный):-l,--recursive. - аргументы — над чем работать: имя файла, путь, текст.
Между всеми частями — один или несколько пробелов. Примеры:
ls # только команда
ls -l # команда + флаг
ls -l /home # команда + флаг + аргумент
cp -r /source /dest # команда + флаг + два аргумента
Флаги можно объединять: ls -l -a -h = ls -lah.
Абсолютный и относительный путь
В Linux у каждого файла есть два способа адресации:
| Тип | Начинается с | Пример | Когда использовать |
|---|---|---|---|
| Абсолютный | / (корень) |
/home/user/docs |
Всегда однозначен; хорошо в скриптах |
| Относительный | Имя или ./, ../ |
../docs, ./script.sh |
Короче, зависит от текущей папки |
Специальные имена в путях:
. — текущая директория.. — родительская директория~ — домашняя директория пользователя
pwd # /home/user
ls ./docs # содержимое подпапки docs в текущей
ls ../ # содержимое родительской папки
ls ~ # содержимое домашней папки
Горячие клавиши терминала
| Клавиши | Действие |
|---|---|
| Tab | Автодополнение имени файла или команды |
| Tab × 2 | Показать все варианты автодополнения |
| ↑ / ↓ | Предыдущая/следующая команда в истории |
| Ctrl+R | Поиск по истории (начните вводить часть команды) |
| Ctrl+C | Прервать выполнение текущей команды |
| Ctrl+L | Очистить экран (аналог команды clear) |
| Ctrl+A | Перейти в начало строки |
| Ctrl+E | Перейти в конец строки |
| Ctrl+D | Завершить сессию (выход из терминала) |
Удаление без корзины
Важно: в Linux нет корзины для команды rm.
Команда rm удаляет файлы необратимо. Нет кнопки «Отмена», нет Ctrl+Z, нет корзины. Удалённый файл нельзя восстановить обычными средствами.
rm важный_файл.txt # файл пропал навсегда
rm -r папка # вся папка со всем содержимым — навсегда
Безопасная практика: перед rm выполните ls чтобы убедиться, что удаляете то, что хотите. Особенно опасна комбинация rm -rf с опечаткой в пути.