Файлы и навигация в Linux
Навигация, создание, копирование и удаление — команды первого дня.
Навигация: pwd, ls, cd
pwd # /work
ls # projects reports
ls -a # + скрытые: . .. .git
cd projects/blog # относительный путь
cd /work # абсолютный, от корня
cd - # назад, где был Относительный путь считается от текущего каталога, абсолютный начинается с /. Скрытые файлы — любые имена с точки: ls их прячет без -a.
Создание: mkdir -p и touch
mkdir docs # один каталог
mkdir -p reports/2026/aug # вся цепочка сразу
touch notes.txt # пустой файл Без -p mkdir падает, если родительских каталогов нет, и ругается File exists на повторный запуск. touch у существующего файла лишь обновляет время изменения.
Копирование и переименование: cp, mv
cp draft.md final.md # копия файла
cp -r projects backup # каталог — только с -r
mv final.md docs/ # переместить
mv draft.md intro.md # переименовать (та же команда) Переименование и перемещение — одна операция mv: меняется путь. cp без -r молча пропускает каталоги: «-r not specified; omitting directory».
Удаление: rm и rm -r
rm notes.txt # файл
rm backup # каталог так нельзя: Is a directory
rm -r backup # каталог со всем содержимым
ls build/*.tmp # СНАЧАЛА проверить маску
rm build/*.tmp # потом удалять Корзины в терминале нет: rm -r удаляет сразу и навсегда, а rm -rf не переспросит даже про защищённые файлы. Перед удалением по маске прогони её через ls.
Просмотр: cat, less, head, tail
cat notes.txt # файл целиком
less app.log # постранично: / поиск, q выход
head -n 20 app.log # первые 20 строк
tail -n 20 app.log # последние 20
tail -f app.log # следить за живым логом cat хорош для коротких файлов, длинные листай в less. tail -f не завершается и печатает дописываемые строки — стандартный способ смотреть логи; выход Ctrl+C.
Справка: man, --help, which
man ls # полное руководство, q выход
ls --help # короткая выжимка флагов
which ls # /usr/bin/ls — что запускается man листается как less: / ищет, q выходит. which — первый шаг диагностики «команда ведёт себя странно»: показывает, какой именно файл выполняется вместо ожидаемого.