5 (Группа): r-x (Может читать и запускать, но не редактировать).
5 (Остальные): r-x (Могут читать и запускать, но не редактировать).
Популярные комбинации
chmod 777 - Разрешено всё и всем (опасно для безопасности, используйте с осторожностью).
chmod 755 - Стандарт для программ и скриптов (владелец меняет, остальные только запускают).
chmod 644 - Стандарт для обычных документов (владелец читает/пишет, остальные только читают).
chmod 600 - Секретный файл (только владелец может читать и писать, остальные даже не откроют).
chmod +x - Сделать файл исполняемым (добавляет "x" всем).
💡 Важное применительно к папка(директориям)
Папка без x (Execute) - бесполезна!
Если у папки есть права rw- (6), но нет x, вы сможете сделать ls (увидеть имена файлов), но не сможете открыть ни один файл внутри, не сможете зайти в нее (cd) и получить доступ к подпапкам.
Поэтому для папок почти всегда нужно давать минимум 5 (r-x) или 7 (rwx). Права 6 (rw-) для папок встречаются крайне редко.
Право удалять файлы (w на папку)
Чтобы удалить файл, вам не нужны права на запись в сам файл. Вам нужны права на запись (w) в папку, где этот файл лежит.
Пример: Вы можете удалить чужой файл, защищенный от записи (r--), если у вас есть полные права (rwx) на папку, в которой он находится.
Комбинация wx (3) для папок
Это называется "Drop Box" (почтовый ящик). Вы можете положить туда файл (создать), но не можете посмотреть (ls), что там еще лежит (нет r). Используется редко, например, для папки lost+found.
Два самых популярных инструмента командной строки для скачивания файлов и взаимодействия с сетью - это wget и curl. Они часто выполняют похожие задачи, но имеют разную философию.
curl (Client URL) - про гибкость и протоколы.Он поддерживает множество протоколов и идеален для работы с API, отладки и сложных запросов. Выводит данные в консоль (stdout) по умолчанию.
wget (World Wide Web Get) - про надёжность и скачивание. Он надежен, отлично справляется с нестабильным соединением и умеет скачивать сайты целиком (рекурсивно). Сохраняет в файл по умолчанию.
Таблица шпаргалки:
Задача
curl
wget
Просто скачать файл
curl -O URL
wget URL
Сохранить с другим именем
curl -o file.zip URL
wget -O file.zip URL
Докачка (Resume)
curl -C - -O URL
wget -c URL
Следовать за редиректом
curl -L URL
(Автоматически)
Показать заголовки (Headers)
curl -I URL
wget -S --spider URL
Игнорировать SSL (Insecure)
curl -k URL
wget --no-check-certificate URL
Авторизация (Basic)
curl -u user:pass URL
wget --user=user --password=pass URL
Прокси
curl -x proxy:port URL
wget -e use_proxy=yes -e http_proxy=...
Примеры
1. Узнать свой внешний IP
Самый простой способ быстро проверить выход в сеть и свой IP-адрес.
systemd - это система инициализации и управления службами в Linux. Основная утилита для взаимодействия с ней - systemctl. С её помощью мы запускаем веб-серверы, базы данных, ботов и настраиваем их автозагрузку.
Примечание.
systemd - это центральный механизм, который отвечает за запуск Linux после включения компьютера и за управление всеми службами (демонами), работающими в системе. Когда Linux загружается, именно systemd: • запускает сетевые службы • поднимает базы данных • стартует веб‑серверы • следит за зависимостями • перезапускает упавшие процессы • управляет логами Чтобы взаимодействовать с systemd, используется команда systemctl - это как "пульт управления" всеми службами.
В командах ниже замените name на имя вашей службы (например, nginx, docker, postgresql или my-bot).
1. Управление состоянием (прямо сейчас)
Базовые команды для включения и выключения.
Команда
Описание
systemctl start name
Запустить службу.
systemctl stop name
Остановить службу.
systemctl restart name
Перезапустить (Stop + Start). Используется, если служба зависла или нужно применить серьезные изменения.
systemctl reload name
Перечитать конфигурацию без остановки. Идеально для веб-серверов (Nginx/Apache) при правке конфигов.
systemctl status name
Показать статус. Самая важная команда: показывает, запущена ли служба, последние логи и ошибки.
Примечание.
Не обязательно писать .service в конце имени (например, можно писать sudo systemctl start nginx вместо nginx.service).
2. Автозагрузка (при включении ПК)
Эти команды определяют, будет ли служба стартовать сама после перезагрузки сервера.
Команда
Описание
systemctl enable name
Включить автозагрузку. Создает симлинк в системе.
systemctl disable name
Выключить автозагрузку. Служба не запустится сама после ребута.
systemctl enable --now name
Киллер-фича: Включает автозагрузку И сразу запускает службу. (2 команды в одной).
systemctl is-enabled name
Проверить, включена ли автозагрузка сейчас.
Диагностика и поиск проблем
Если что-то сломалось, эти команды помогут понять, где именно.
systemctl --failed Показать список всех служб, которые упали с ошибкой. С этого стоит начинать починку системы.
systemctl list-units --type=service Показать вообще все активные службы в системе.
В Linux нет дисков C: или D:. Есть только один корень - /. Все остальные диски, флешки и устройства подключаются как папки в эту структуру.
Шпаргалка
Директория
Описание
Примеры содержимого
/bin
Основные команды (binaries)
ls, cp, cat, bash
/sbin
Системные команды (system binaries)
fdisk, reboot, iptables
/boot
Файлы загрузчика системы
Ядро Linux, GRUB
/etc
Конфигурационные файлы
Настройки сети, пользователей, служб
/dev
Файлы устройств (devices)
Диски (sda), терминалы (tty), null
/home
Домашние папки пользователей
Документы, загрузки, настройки пользователя
/root
Домашняя папка суперпользователя (root)
Личная папка суперпользователя (root)
/lib
Системные библиотеки
Файлы .so, модули ядра
/opt
Стороннее ПО (optional)
Крупные программы (Chrome, Telegram, Zoom)
/mnt
Временное монтирование
Точки для ручного подключения дисков
/media
Автоматическое монтирование
Флешки, CD-диски (подключаются сами)
/proc
Информация о процессах и ядре
Виртуальная ФС (инфо о CPU, памяти)
/tmp
Временные файлы (temporary)
Очищается при перезагрузке
/usr
Программы и утилиты (resources)
Вторичная иерархия: софт, иконки, мануалы
/var
Изменяемые данные (variable)
Логи (/var/log), кэш, почта, сайты (/var/www)
1. Самое важное для запуска
/boot - сердце загрузки. Здесь живет ядро Linux (vmlinuz) и загрузчик GRUB. Если удалить - система не встанет.
/bin и /sbin - здесь живут команды.
В /bin - общие (типа ls, cat), доступные всем.
В /sbin - для админа (типа fdisk, iptables), нужны права root.
/lib - библиотеки, без которых программы из папок выше не запустятся (аналог .dll в Windows).
2. Пользователи и настройки
/home - ваши личные файлы. Аналог C:\Users.
/root - личная комната Администратора. Она отделена от /home, чтобы, если раздел с пользователями забьется или сломается, админ все равно мог войти в систему.
/etc - пульт управления. Здесь лежат текстовые файлы с настройками всей системы (сеть, fstab, конфиги программ).
3. Софт и приложения
/usr - (Unix System Resources). Самая большая папка. Здесь лежат установленные программы (/usr/bin), их библиотеки (/usr/lib) и документация. По сути, это аналог Program Files.
/opt - для "большого" стороннего софта, который ставится одним куском (например, Google Chrome, Telegram, проприетарные базы данных).
4. Данные и временные файлы
/var - (Variable). Всё, что постоянно меняется: логи системы (/var/log), кэш, очереди печати, файлы веб-сайта (/var/www).
/tmp - временная свалка. Очищается при каждой перезагрузке. Не храните здесь ничего важного!
5. Устройства и Система
/dev - в Linux всё есть файл, даже ваше "железо". Жесткий диск - это файл (/dev/sda), терминал - файл.
/proc - это иллюзия. Файлов там на самом деле нет, это интерфейс к ядру. Через эту папку можно посмотреть информацию о процессоре (/proc/cpuinfo) или памяти.
FAQ: В чем разница между /mnt и /media?
Частый вопрос новичков.
/media - система использует сама. Вставили флешку - она появилась тут автоматически.
/mnt - для ручной работы. Админ использует её, чтобы временно подключить диск для восстановления или настройки.
Полезный совет
Если вы забыли, для чего нужна папка, в Linux есть встроенная справка. Просто введите в терминале: man hier (от слова hierarchy) - и получите подробнейшее описание стандарта файловой системы.
Прописывать разрешение именно через cmdline.txt имеет смысл, если вы используете современные версии Ubuntu с драйверами KMS (Kernel Mode Setting), и стандартные настройки в config.txt игнорируются системой. Это заставляет ядро Linux принудительно использовать указанный режим.
Вставьте SD-карту в компьютер, откройте раздел boot (или system-boot) и найдите файл cmdline.txt.
В конец той же самой единственной строки (через пробел) нужно добавить команду в формате: video=<Port>:<Resolution>@<RefreshRate><Option> например:
video=HDMI-A-1:1920x1080@60D
Для Raspberry Pi 4 и 5 (порт возле питания - HDMI-1):
HDMI-A-1 - имя порта (для первого micro-HDMI).
1920x1080 - разрешение.
@60 - частота обновления.
D - важный флаг (Digital), который принудительно включает выход, даже если монитор не распознан (нет EDID). Полезно при переходниках, KVM, старых мониторах, телевизорах.
Вы наверняка сталкивались с этой классической ошибкой новичка. Вы пытаетесь добавить строку в конфиг, но получаете Permission denied, даже используя sudo.