Работа с файлами и командная строка
Просмотр, создание, редактирование файлов, файловая система, права доступа и полезные лайфхаки — всё, что нужно новичку.
- Зачем нужна командная строка и чем она лучше GUI
- Как просматривать, создавать и редактировать файлы
- Как устроена файловая система Linux
- Как искать файлы и текст внутри них
- Как работают права доступа и sticky bit
- Что такое суперпользователь и зачем нужен sudo
- Горячие клавиши и лайфхаки для быстрой работы
🖥️ Зачем нужен терминал?
Linux невозможно представить без командной строки. Любые действия — от настройки сервера до копирования файлов — можно выполнить, написав нужную команду. Некоторые дистрибутивы вообще не содержат графического интерфейса.
Гибкость: можно составлять цепочки из команд, писать скрипты, автоматизировать задачи. Открыть терминал и написать команду — всегда быстрее, чем кликать по меню.
GUI понятнее визуально, но ограничен: нельзя легко автоматизировать действия, нет пайпов, нет скриптов. На серверах GUI часто просто нет.
👁️ Просмотр файлов
Команда cat выводит содержимое файла прямо в терминал. Подходит для небольших файлов.
Для длинных используют less или more.
less вместо more — он позволяет
прокручивать текст вверх и вниз, искать по тексту через / и выходить через
q.
📝 Создание файлов
Создать файл можно несколькими способами:
✏️ Редактирование файлов
Для редактирования файлов используются текстовые редакторы. Самые популярные:
nano
Простой и понятный редактор. Подсказки внизу экрана. Идеален для новичков.
vim
Мощный редактор для опытных. Требует изучения. Режимы: вставка (i), команды (Esc), сохранение (:wq).
gedit
Графический редактор. Доступен только в системах с GUI. Похож на Блокнот из Windows.
Esc, затем набери :q! и нажми Enter. Это выход без сохранения.
🌳 Файловая система Linux
Файловая система Linux — это дерево каталогов. Всё начинается от корня
/. Все устройства и файлы подключаются к этой единой структуре.
| Каталог | Что хранит | Пример |
|---|---|---|
/home |
Домашние директории пользователей | /home/user — твои файлы |
/etc |
Конфигурационные файлы системы | /etc/nginx/nginx.conf |
/var |
Изменяемые данные: логи, кеш | /var/log/syslog |
/bin, /usr/bin |
Исполняемые файлы (команды) | /usr/bin/python3 |
/dev |
Устройства в виде файлов | /dev/sda — жёсткий диск |
/tmp |
Временные файлы | Очищается при перезагрузке |
/root |
Домашний каталог суперпользователя | Не путать с / |
🔍 Поиск файлов и текста
Поиск по содержимому — grep
Поиск файлов — find
🗑️ Удаление файлов
rm пропадают навсегда.
Всегда проверяй путь. Особенно опасно: rm -rf / — удалит ВСЮ систему!🧭 Утилиты для ориентирования
Эти команды помогут быстро понять, кто ты, где ты и что за файлы вокруг:
| Команда | Что делает | Пример |
|---|---|---|
whoami |
Показывает имя текущего пользователя | whoami → user |
who |
Список пользователей в системе | who → user pts/0 |
pwd |
Текущий рабочий каталог | pwd → /home/user |
file |
Определяет тип файла | file photo.jpg → JPEG image |
stat |
Подробная инфо: размер, права, даты | stat filename |
whereis |
Расположение программы | whereis ls → /usr/bin/ls |
which |
Путь к исполняемому файлу | which python3 → /usr/bin/python3 |
⚡ Лайфхаки для ускорения работы
| Сочетание | Действие |
|---|---|
Tab |
Автодополнение: начни писать имя файла/команды и нажми Tab. Дважды — список вариантов |
↑ / ↓ |
Листать историю команд |
Ctrl + R |
Поиск по истории: вводи часть команды — терминал найдёт совпадение |
Ctrl + C |
Прервать выполнение команды |
Ctrl + L |
Очистить экран (аналог clear) |
!! |
Повторить последнюю команду. Удобно: sudo !! |
Alt + . |
Вставить последний аргумент предыдущей команды |
man команда |
Подробное руководство. Пример: man ls. Выход — q |
Ctrl + A / E |
Перейти в начало / конец строки |
Ctrl + W |
Удалить слово перед курсором |
🔐 Права на файлы Linux
Каждый файл в Linux имеет права доступа для трёх категорий: владелец, группа и остальные пользователи.
Просмотр содержимого файла. Число: 4
Изменение файла. Число: 2
Запуск как программу. Число: 1
Число: 0
Sticky bit
Sticky bit защищает файлы в общей директории. Если установлен — удалять файлы может
только их владелец (даже если права каталога позволяют запись всем). Классический пример —
/tmp.
👤 Пользователи и суперпользователь
В Linux есть обычные пользователи с ограниченными правами и суперпользователь (root) с полным доступом ко всему.
Может работать только со своими файлами. Prompt заканчивается на $
Полный доступ ко всей системе. Prompt заканчивается на #. Использовать через
sudo
/etc/passwd— список пользователей (логин, UID, GID, домашний каталог, оболочка)/etc/shadow— зашифрованные пароли (доступен только root)/etc/group— информация о группах пользователей
🏋️ Практические упражнения
Задания выполняются в реальной Linux-системе (VM, VPS, WSL). Попробуй сам, прежде чем смотреть решение.
Создание структуры проекта
Задача:
- В домашней директории создай каталог
project - Внутри создай структуру:
src/,docs/,config/,logs/,backups/ - В папке
src/создай файлmain.pyи запиши в него какой-нибудь текст - Перемести файл
main.pyв каталогdocs/ - Скопируй файл обратно в
src/
Результат: вывод ls -R project/ с готовой структурой.
Показать решение
Права доступа и группы
Задача:
- Создай группу
developersи добавь текущего пользователя - Для
src/— права770, владелец-группаdevelopers - Для
logs/— права750 - Для
config/— права750+ установи sticky bit - Для
backups/— права700, владелецroot - Проверь правильность прав командой
ls -la project/
Результат: скриншот вывода ls -la с правильными правами.
Показать решение
Поиск файлов и текста
Задача:
- Найди все файлы в домашней директории, изменённые за последние 24 часа
- Найди файл
main.pyпо содержащемуся в нём тексту (черезgrep) - Покажи статистику по типам файлов в домашней директории (используй
fileиfind)
Результат: скриншоты выполненных команд.
Показать решение
Работа в vim
Задача (используй редактор vim):
- Создай новый файл через
vim practice.txt - Запиши несколько строк текста (войди в режим вставки —
i) - Сохрани файл (
Esc→:w) - Перейди ко 2-й строке (
:2) - Удали строку (
dd) - Включи отображение номеров строк (
:set number) - Выполни поиск по тексту (
/слово) - Сохрани и выйди (
:wq)
Результат: скриншот vim с номерами строк и текстом.
Показать решение
i— войти в режим вставки (начать печатать)Esc— выйти из режима вставки в командный:w— сохранить файл:q— выйти (если нет изменений):wq— сохранить и выйти:q!— выйти без сохраненияdd— удалить текущую строку:set number— показать номера строк/текст— искать текст,n— следующее совпадение:2— перейти ко 2-й строкеu— отменить последнее действиеyy— скопировать строку,p— вставить