Базовые команды работы с файлами в Linux через терминал
Кратко
Краткое руководство по основам навигации и управления файлами в Linux через терминал. Показывает, как определить текущую директорию, просматривать содержимое, копировать/перемещать/удалять файлы, а также просматривать и редактировать их прямо в терминале. Включены советы по безопасности, список полезных флагов и практические чек-листы для разных ролей.
Быстрые ссылки
- Файловая система Linux
- Показать текущую директорию в терминале
- Просмотр списка файлов и папок
- Копирование и перемещение файлов
- Переход и создание директорий
- Удаление файлов и папок
- Просмотр и редактирование содержимого файлов в терминале
Резюме
- Файловая система Linux имеет единую корневую директорию, от которой ответвляются все остальные папки. Это логичная и предсказуемая структура.
- Базовые команды терминала позволяют быстро выполнять операции с файлами: pwd, ls, cp, mv, rm, mkdir, cd и другие.
- Для просмотра и редактирования используются утилиты cat, less, head, tail, nano, Vim. Для безопасных операций полезны флаги -i и -r.

Файловая система Linux
В отличие от Windows с буквой диска (C:\, D:), Linux использует одно корневое дерево, начинающееся с символа /. Всё в системе — файлы или директории — находятся где-то в этом дереве.
Ключевые директории и их назначение:
/:корневая директория — отправная точка для всего дерева./home: пользовательские каталоги. У каждого пользователя своя папка, например/home/ivan./etc: системные конфигурационные файлы./var: изменяемые данные: логи, очереди, базы данных./usr: установленное программное обеспечение и его данные./bin: базовые исполняемые файлы, необходимые для работы системы./tmp: временные файлы, очищаемые системой.
Ментальная модель: представьте корень / как корень дерева, а каталоги — как ветви и листья. Зная, где обычно хранится то или иное (конфиг, логи, пользовательские файлы), проще быстро найти нужный путь.
Показать текущую директорию в терминале
Команда для вывода абсолютного пути текущей рабочей директории — pwd (print working directory).
Пример:
pwdВывод может быть таким: /home/your_username.
Важно: всегда проверяйте pwd, прежде чем выполнять команды удаления или массового перемещения — это помогает избежать катастрофы.
Просмотр списка файлов и папок
Команда ls показывает содержимое директории.
Примеры и полезные флаги:
ls # простой список
ls -l # подробный список: права, владелец, размер, дата
ls -lh # подробный список, размер в человекочитаемом виде (KB, MB, GB)
ls -a # показать все файлы, включая скрытые (начинаются с .)
ls -la # комбинированный вариантИзображения ниже иллюстрируют вывод ls в разных режимах.




Совет: если список длинный, направьте вывод в less: ls -lh | less.
Копирование и перемещение файлов
Команда cp копирует файл или директорию, mv перемещает или переименовывает.
Примеры:
cp output.txt /home/yourusername/Documents/ # копировать файл
cp -i output.txt /home/yourusername/Documents/ # интерактивно: спросит перед перезаписью
cp -r folder /path/to/destination/ # рекурсивное копирование папки
mv output.txt /home/yourusername/Documents/ # переместить (удаляет исходник)
mv oldname.txt newname.txt # переименовать файлСоветы безопасности:
- Флаг
-i(interactive) полезен для предупреждения перезаписи. Его можно применять и кmv. - Всегда проверяйте путь назначения — особенно при использовании шаблонов
*.
Когда не подходит: если нужно атомарное резервное копирование с проверкой контрольных сумм — используйте специализированные инструменты (rsync, cp –reflink на поддерживаемой файловой системе).
Переход и создание директорий
Навигация и создание новых директорий — одни из самых частых задач.
Основные команды:
cd Documents/python # перейти в вложенную директорию
cd .. # подняться на уровень вверх
cd # перейти в домашнюю директорию
cd - # вернуться в предыдущую директорию
mkdir project # создать директорию
mkdir -p parent/child/grandchild # создать всю цепочку вложенных директорийМентальная модель: cd меняет «контекст» вашей рабочей области. Представьте, что каждая cd — это шаг вверх/вниз по структуре папок.
Удаление файлов и папок
Удаление в терминале мощное, но опасное. Команда rm удаляет файлы и каталоги, rmdir удаляет пустые директории.
Примеры:
rm document.txt # удалить файл
rm -i document.txt # подтвердить удаление
rm -r Directory_name/ # рекурсивно удалить директорию и всё внутри
rmdir empty_directory # удалить только пустую директориюВажно:
rm -rи особенноrm -rf— команды безвозвратно удаляют данные. Всегда дважды проверяйте путь.- Перед массовым удалением удобно прогнать
lsилиdu -shдля проверки объёма и содержимого.
Рекомендация: настроить алиас rm='rm -i' в конфигурации оболочки, если вы часто опасаетесь случайных удалений.
Просмотр и редактирование файлов в терминале
Небольшие утилиты для чтения и правки файлов:
cat file— выводит весь файл в stdout. Удобно для коротких файлов.less file— позволяет постранично просматривать длинные файлы. Навигация: пробел — дальше,q— выйти.head -n N file— показать первые N строк.tail -n N file— показать последние N строк. Полезно для логов:tail -f /var/log/syslogдля просмотра в реальном времени.
Редакторы:
nano file— простой, интуитивный редактор для быстрых правок. Сохранение: Ctrl+O, выход: Ctrl+X.vim file— мощный редактор с режимами (режим команд и режим вставки). Подходит для продвинутых пользователей.
Пример:
cat samplefile.txt
less samplefile.txt
head -n 10 samplefile.txt
tail -n 10 file.txt
nano samplefile.txt
vim samplefile.txt
Совет: если планируете массовые изменения, сделайте резервную копию перед редактированием: cp file file.bak.
Чек-лист безопасной работы с файлами
- Проверить текущую директорию:
pwd. - Просмотреть содержимое:
ls -la. - Для удаления добавить проверку:
rm -iили сначалаlsиdu -sh. - При копировании/перемещении использовать
-iи проверять наличие свободного места (df -h). - Для редакций хранить резервные копии:
cp name name.bak.
Быстрый набор команд (cheat sheet)
| Действие | Команда | Описание |
|---|---|---|
| Текущая директория | pwd | Показать абсолютный путь |
| Список файлов | ls -lha | Подробный список с скрытыми файлами и читаемыми размерами |
| Копирование | cp -r src dest | Копировать файлы и директории |
| Перемещение/переименование | mv src dest | Переместить или переименовать |
| Удаление | rm -r target | Рекурсивное удаление |
| Создать директорию | mkdir -p path | Создать вложенные каталоги |
| Просмотр (страницы) | less file | Просматривать большие файлы |
| Быстрый просмотр начала | head -n 10 file | Первые 10 строк |
| Быстрый просмотр конца | tail -n 10 file | Последние 10 строк |
| Редактор для новичков | nano file | Простой терминальный редактор |
| Редактор продвинутый | vim file | Мощный редактор (крутая кривая обучения) |
Когда терминал — не лучший инструмент
- Если вы работаете с двоичными/мультимедийными файлами и нуждаетесь в графическом просмотре или редактировании.
- При сложных синхронизациях между множеством хостов лучше использовать
rsyncили специализированные инструменты. - Для визуального сравнения директорий или файлов иногда удобнее GUI-инструменты (Nautilus, Dolphin, Visual Studio Code).
Альтернативные инструменты и подходы
rsync— для эффективной синхронизации и инкрементных копий.fzf— интерактивный поиск файлов и путей в терминале.find+xargs— поиск и массовые операции по критериям.- GUI-менеджеры файлов и редакторы с интеграцией терминала (VS Code) — для тех, кто предпочитает комбинированный рабочий процесс.
Ментальные модели и эвристики
- «Рабочая директория как контекст»: думайте о текущей директории как о «рабочем столе» команд.
- «Флаги как уровень осторожности»:
-i— осторожно,-r— рекурсивно,-f— без вопросов. - «Всегда делай резервную копию перед массовыми изменениями».
Роли — краткие чек-листы
Разработчик:
- Всегда работать в ветке/проектной папке.
- Резервные копии перед рефакторингом:
cp -r project project.backup. - Использовать
.gitignoreдля временных файлов.
Системный администратор:
- Проверять права доступа и владельцев:
ls -l. - Регулярно чистить
/tmpи логи:du -sh /var/log/*. - Настраивать ротацию логов (
logrotate).
Начинающий пользователь:
- Овладеть
pwd,ls,cd,cp,mv,rm. - Не использовать
sudoбез необходимости. - Настроить алиасы для защиты (
alias rm='rm -i').
Методика организации файлов — короткая инструкция
- Создайте основную структуру:
mkdir -p ~/projects/./ - Работайте в
src, кладите большое количество артефактов вdataи версионируйте код вgit. - Делайте резервные копии важного в
backupс датой:cp -r dir backup/dir-$(date +%F).
Факты и базовые числа
- Команда
ls -lhпоказывает размеры в человекочитаемом формате (KB, MB, GB). tail -fполезен для просмотра логов в реальном времени.mkdir -pсоздаёт все необходимые родительские директории.
Безопасность и жёсткие рекомендации
- Не выполняйте скрипты из ненадёжных источников с
sudo. - Ограничьте права доступа к критичным файлам (
chmod 600для приватных ключей). - Для автоматических задач используйте системные сервисы (systemd timers) вместо
cronс небезопасными скриптами.
Приватность и обработка данных
- При работе с персональными данными проверяйте местные правила и политику конфиденциальности — удаление файлов не всегда означает их немедленное исчезновение с диска (в зависимости от файловой системы и резервных копий).
- Для надёжного удаления используйте инструменты, поддерживающие перезапись (в современных SSD это не всегда гарантирует полное удаление).
Диаграмма принятия решения — какую команду выбрать
flowchart TD
A[Нужна операция с файлами?] --> B{Что нужно сделать}
B --> |Просмотреть| C[ls / less / cat]
B --> |Скопировать| D[cp 'или rsync']
B --> |Переместить/переименовать| E[mv]
B --> |Удалить| F{Пустая директория?}
F --> |Да| G[rmdir]
F --> |Нет| H[rm -r 'с подтверждением']
B --> |Создать папку| I[mkdir -p]
C --> J[Используй less для больших файлов]
D --> K[Добавь -i для подтверждения]Примеры сценариев и тесты приёмки
- Копирование проекта в резервную папку:
cp -r ~/projects/myapp ~/backup/myapp-$(date +%F)Критерии приёмки:
- Резервная папка существует.
- Размеры каталогов совпадают (
du -sh).
- Очистка временной директории без удаления нужных файлов:
- Перед удалением выполнить
ls -la /tmp. - Убедиться, что в списке нет активных сокетов или файлов, используемых процессами.
Часто задаваемые вопросы
Как увидеть скрытые файлы?
Используйте ls -a или ls -la.
Чем cp отличается от rsync?
cp копирует данные напрямую. rsync умеет синхронизировать, передавать только изменённые фрагменты и восстанавливать прерванные копирования.
Как безопасно удалить большой каталог?
Сначала проверьте содержимое ls и используйте rm -ri directory для интерактивного подтверждения.
Короткий итог:
Знание базовых команд терминала ускоряет работу с файлами и делает операции воспроизводимыми и безопасными. Простые привычки, такие как проверка pwd, использование -i для опасных команд и резервное копирование, значительно снижают риск потери данных.
Похожие материалы
Камера Raspberry Pi: подключение и руководство
Изменение размера изображений в PowerPoint
Home Assistant на Mac mini: установка в VirtualBox
Как создать бюджет в Excel
Изменить шрифт по умолчанию в Google Docs и Word