Linux – Практическое руководство
Эта страница предназначена как компактная, но полезная справка по Linux.
Все примеры являются общими и применимы к большинству дистрибутивов Linux
(Debian/Ubuntu, RHEL/Fedora, Arch, Alpine), если не указано иное.
1. Структура файлов и навигация
Linux работает с одной центральной древовидной структурой (/), а не с буквами дисков, как в Windows.
Важные папки:
/– корень системы/home– личные пользовательские папки/etc– конфигурационные файлы/var– переменные данные (логи, почта, кэш)/usr– программы и библиотеки/tmp– временные файлы/srv– данные для сервисов (веб, приложения)
Навигация происходит полностью через терминал. Вы всегда работаете из "текущей папки".
Просмотр текущего пути:
pwd
Показать файлы и папки в текущей папке:
ls
ls -lah
Опции:
-lпоказывает представление списка-aпоказывает также скрытые файлы-hделает размеры читаемыми
Перемещение по структуре папок:
cd /path/to/folder
cd ..
cd ~
2. Управление файлами и папками
Файлы и папки создаются, перемещаются и удаляются полностью с помощью команд.
Создать папку:
mkdir folder
mkdir -p a/b/c
-p обеспечивает создание недостающих промежуточных папок.
Создать пустой файл или обновить временную метку:
touch file.txt
Копирование файлов или папок:
cp source dest
cp -a source dest
-a (архив) сохраняет права, владение и символические ссылки и почти всегда рекомендуется.
Перемещение или переименование файлов или папок:
mv old new
Удаление файлов и папок:
rm file
rm -r folder
rm -rf folder
-r= рекурсивный-f= принудительно, без подтверждения
Используйте rm -rf только если вы уверены, что делаете.
Создать символическую ссылку:
ln -s target link
3. Просмотр и чтение файлов
Для просмотра файлов доступны различные инструменты, в зависимости от размера и использования.
Показать полный контент:
cat file
Подходит для небольших файлов.
Интерактивный просмотр (прокрутка и поиск):
less file
Посмотреть первые или последние строки:
head -n 20 file
tail -n 20 file
Следить за файлом в реальном времени (например, за логами):
tail -f /var/log/syslog
4. Поиск и фильтрация текста
Linux предлагает мощные инструменты для поиска и фильтрации текста, особенно в журналах и конфигурационных файлах.
Поиск текста:
grep "text" file
grep -R "text" folder
grep -Rni "tekst" folder
Опции:
-R= рекурсивный-n= номер строки-i= регистронезависимый
Поиск файлов по имени:
find . -name "*.log"
Поиск файлов по дате изменения:
find . -type f -mtime -7
Извлечение столбцов или полей из текста:
awk '{print $1}' file
cut -d: -f1 file
5. Права и собственность
Linux работает с пользователями, группами и правами доступа к файлам.
Просмотр прав:
ls -l
Настройки прав:
chmod 644 file
chmod 755 script.sh
Значение:
644= чтение/запись для владельца, чтение для других755= исполняемый для всех
Изменить владельца и группу:
chown user:group file
Просмотр текущего пользователя и групп:
id
groups
6. Процессы и состояние системы
Linux предоставляет подробную информацию о активных процессах и использовании системы.
Все процессы отображаются:
ps aux
Живой обзор ЦП и памяти:
top
htop
Просмотр использования памяти:
free -h
Дисковое пространство на файловой системе:
df -h
Размер папки:
du -sh folder
Завершить процесс:
kill PID
kill -9 PID
-9 принуждает к завершению и должен использоваться только как последнее средство.
7. Сеть и подключение
Состояние сети и подключение имеют решающее значение для серверов и приложений.
Сетевые интерфейсы и маршруты:
ip a
ip r
Слушающие порты и процессы:
ss -tulpn
Тестирование сетевого соединения:
ping domain.tld
Выполнение HTTP-запросов:
curl https://site.tld
curl -I https://site.tld
Запрос DNS-информации:
dig domain.tld
Проверка доступности порта:
nc -vz host 443
8. Сервисы и логи (systemd)
Большинство современных систем Linux используют systemd для управления сервисами.
Статус и управление сервисами:
systemctl status service
systemctl start service
systemctl stop service
systemctl restart service
systemctl reload service
Сервисы автоматически запускаются при загрузке:
systemctl enable service
systemctl disable service
Просмотр журналов:
journalctl -u service
journalctl -u service -f
journalctl -p err
9. Менеджеры пакетов
Программное обеспечение устанавливается через менеджер пакетов дистрибутива.
Debian / Ubuntu (apt)
apt update
apt install package
apt remove package
apt purge package
apt autoremove
RHEL / Fedora (dnf)
dnf install package
dnf remove package
dnf search package
Арх (pacman)
pacman -S package
pacman -Rns package
pacman -Syu
Альпийский (apk)
apk add package
apk del package
10. Git – управление версиями
Git используется для управления версиями кода и конфигурации.
Базовые команды:
git init
git clone url
git status
git add .
git commit -m "description"
Синхронизация с удаленным:
git pull --rebase
git push
Понимание изменений:
git log --oneline --graph
git diff
11. Docker – контейнеры
Docker позволяет запускать приложения в изолированном виде.
Управление изображениями в контейнерах:
docker pull image
docker images
docker ps
docker ps -a
Запуск и управление контейнером:
docker run -d -p 8080:80 image
docker logs container
docker exec -it container sh
Docker Compose:
docker compose up -d
docker compose down
12. Основная безопасность
Минимальная база безопасности имеет решающее значение, особенно на серверах.
Фаервол (Ubuntu):
ufw status
ufw allow 22
ufw enable
Nftables (низкоуровневый файрвол):
nft list ruleset
Защита от атак грубой силы:
fail2ban-client status
Автоматические обновления безопасности:
apt install unattended-upgrades
13. Часто используемые утилиты
curl,wget– HTTP запросыjq– Обработка JSONrsync– эффективная синхронизация файловtmux– несколько оболочек в одной сессииncdu– анализ дискового пространстваlsof– открытые файлы и портыtcpdump– инспекция сетевого трафика
