Шпаргалка по командам Linux
Краткий справочник для подготовки к экзамену LPIC-1: самые важные команды и флаги, сгруппированные по темам.
Управление пакетами
| Команда |
Что делает |
rpm -ivh pkg.rpm |
Установить RPM-пакет |
rpm -e pkg |
Удалить RPM-пакет |
rpm -qa |
Список всех установленных пакетов |
rpm -qf /путь/к/файлу |
Узнать, какой пакет содержит файл |
rpm2cpio pkg.rpm \| cpio -idmv |
Извлечь файлы из RPM без установки |
yum install pkg |
Установить пакет (RPM-системы) |
yum remove pkg |
Удалить пакет |
yum update |
Обновить все пакеты |
dpkg -i pkg.deb |
Установить DEB-пакет |
dpkg -r pkg |
Удалить DEB-пакет (сохранить конфиг) |
dpkg -l |
Список установленных пакетов |
dpkg -S /путь/к/файлу |
Узнать, какой пакет содержит файл |
apt-get install pkg |
Установить пакет (Debian-системы) |
apt-get remove pkg |
Удалить пакет |
apt-cache search строка |
Поиск пакетов в репозитории |
./configure && make && make install |
Сборка из исходного кода |
ldd /путь/к/бинарнику |
Показать зависимые библиотеки |
ldconfig |
Обновить кэш динамического компоновщика |
Управление пользователями и группами
| Команда |
Что делает |
useradd -m -s /bin/bash user |
Создать пользователя с домашним каталогом |
usermod -aG группа user |
Добавить пользователя в группу |
userdel -r user |
Удалить пользователя вместе с домашним каталогом |
passwd user |
Установить пароль пользователя |
passwd -l user |
Заблокировать учётную запись |
chage -M 90 -W 7 user |
Максимум 90 дней, предупреждение за 7 дней |
chage -l user |
Показать политику паролей пользователя |
groupadd группа |
Создать группу |
groupdel группа |
Удалить группу |
id user |
Показать UID, GID и группы |
su - user |
Сменить пользователя с загрузкой окружения |
sudo команда |
Выполнить команду от имени root |
visudo |
Безопасно отредактировать /etc/sudoers |
ulimit -n 1024 |
Ограничить число открытых файлов |
Файловая система и диски
| Команда |
Что делает |
ls -alh |
Подробный список с правами и размерами |
find /путь -name "*.conf" |
Найти файлы по имени |
find /путь -type f -perm 644 |
Найти файлы с правами 644 |
ln -s цель ссылка |
Создать символическую ссылку |
fdisk /dev/sda |
Управление MBR-разделами |
gdisk /dev/sda |
Управление GPT-разделами |
mkfs.ext4 /dev/sda1 |
Форматировать в ext4 |
mkswap /dev/sda2 |
Создать раздел подкачки |
swapon /dev/sda2 |
Активировать подкачку |
mount /dev/sda1 /mnt |
Смонтировать раздел |
umount /mnt |
Размонтировать |
df -h |
Использование дисков (читаемо) |
du -sh /каталог |
Размер каталога |
fsck /dev/sda1 |
Проверить файловую систему |
tune2fs -l /dev/sda1 |
Информация о суперблоке ext |
pvcreate /dev/sdb |
Создать физический том LVM |
vgcreate vg0 /dev/sdb |
Создать группу томов LVM |
lvcreate -L 10G -n lv0 vg0 |
Создать логический том LVM |
Архивирование и резервное копирование
| Команда |
Что делает |
tar -czf архив.tar.gz /каталог |
Создать архив gzip |
tar -cjf архив.tar.bz2 /каталог |
Создать архив bzip2 |
tar -xzf архив.tar.gz |
Извлечь архив gzip |
tar -tvf архив.tar |
Просмотреть содержимое без извлечения |
cpio -o < список > архив.cpio |
Создать cpio-архив из списка файлов |
cpio -id < архив.cpio |
Извлечь cpio-архив |
dd if=/dev/sda of=образ.img bs=4M |
Побайтовая копия диска |
rsync -avz источник/ цель/ |
Синхронизировать каталоги |
rsync -avz -e ssh src/ user@host:/dst/ |
Синхронизировать по SSH |
Права доступа и квоты
| Команда |
Что делает |
chmod 755 файл |
Установить права (rwxr-xr-x) |
chmod u+x файл |
Добавить права выполнения владельцу |
chmod -R 644 /каталог |
Рекурсивно установить права |
chown user:group файл |
Сменить владельца и группу |
chgrp группа файл |
Сменить только группу |
umask 022 |
Установить маску прав (файлы 644, каталоги 755) |
quotacheck -avug |
Создать файлы учёта квот |
quotaon -av |
Включить квоты |
edquota -u user |
Редактировать квоту пользователя |
repquota -a |
Отчёт по квотам всех пользователей |
Процессы
| Команда |
Что делает |
ps aux |
Все процессы (BSD-стиль) |
ps -ef |
Все процессы (POSIX-стиль) |
top |
Интерактивный монитор процессов |
pgrep -l nginx |
Найти PID по имени процесса |
kill -9 PID |
Принудительно завершить процесс (SIGKILL) |
kill -15 PID |
Завершить процесс корректно (SIGTERM) |
killall nginx |
Завершить все процессы nginx |
nice -n 10 команда |
Запустить с пониженным приоритетом |
renice 5 -p PID |
Изменить приоритет запущенного процесса |
jobs |
Список фоновых заданий |
fg %1 |
Вывести задание 1 на передний план |
bg %1 |
Запустить задание 1 в фоне |
nohup команда & |
Запустить процесс, игнорируя HUP |
free -h |
Использование оперативной памяти |
Планирование задач
| Команда |
Что делает |
at 15:00 |
Запланировать однократную задачу (ввод с stdin) |
atq |
Список ожидающих заданий at |
atrm 3 |
Удалить задание at с номером 3 |
crontab -e |
Редактировать расписание cron текущего пользователя |
crontab -l |
Просмотреть расписание cron |
crontab -r |
Удалить расписание cron |
Формат записи cron: минута час день месяц день_недели команда
Работа с текстом
| Команда |
Что делает |
cat файл |
Вывести содержимое файла |
less файл |
Постраничный просмотр |
head -n 20 файл |
Первые 20 строк |
tail -f /var/log/syslog |
Следить за файлом в реальном времени |
grep -r "строка" /каталог |
Рекурсивный поиск строки |
grep -v "строка" файл |
Строки, не содержащие шаблон |
sort -n файл |
Числовая сортировка |
sort -u файл |
Сортировка с удалением дублей |
uniq -c файл |
Уникальные строки с количеством |
wc -l файл |
Количество строк |
cut -d: -f1 /etc/passwd |
Первое поле, разделитель : |
sed 's/старое/новое/g' файл |
Замена строки во всём файле |
awk '{print $1, $3}' файл |
Вывести поля 1 и 3 |
tr 'a-z' 'A-Z' |
Перевести в верхний регистр |
xargs rm |
Передать stdin в качестве аргументов команде |
Оболочка и документация
| Команда |
Что делает |
man команда |
Открыть страницу руководства |
man -k ключевое_слово |
Поиск по man-страницам (= apropos) |
info команда |
Документация в формате info |
alias ll='ls -alh' |
Создать псевдоним команды |
export VAR=значение |
Экспортировать переменную окружения |
env |
Показать все переменные окружения |
source ~/.bashrc |
Применить изменения в текущем сеансе |
declare -i num=5 |
Объявить целочисленную переменную |
history |
История команд |
exit 0 |
Завершить сценарий с кодом 0 |
Загрузка системы
| Команда |
Что делает |
grub-install /dev/sda |
Установить GRUB в MBR |
grub2-mkconfig -o /boot/grub2/grub.cfg |
Сгенерировать конфиг GRUB2 |
update-grub |
Обновить grub.cfg (Ubuntu) |
systemctl start служба |
Запустить службу |
systemctl stop служба |
Остановить службу |
systemctl enable служба |
Включить автозапуск |
systemctl disable служба |
Отключить автозапуск |
systemctl status служба |
Состояние службы |
chkconfig служба on |
Включить службу (SysV init) |
shutdown -h now |
Немедленно выключить систему |
shutdown -r +5 |
Перезагрузить через 5 минут |
telinit 3 |
Переключить уровень выполнения |
Аппаратное обеспечение
| Команда |
Что делает |
lsmod |
Список загруженных модулей ядра |
modprobe модуль |
Загрузить модуль ядра |
modprobe -r модуль |
Выгрузить модуль ядра |
insmod /путь/модуль.ko |
Загрузить модуль по пути |
rmmod модуль |
Выгрузить модуль |
modinfo модуль |
Подробные сведения о модуле |
depmod -a |
Обновить файл зависимостей модулей |
lspci |
Список PCI-устройств |
hwclock --show |
Показать время аппаратных часов |
hwclock --systohc |
Синхронизировать HW-часы из системных |
locale -a |
Список доступных локалей |
tzselect |
Интерактивно выбрать часовой пояс |
Сеть
| Команда |
Что делает |
ip addr show |
Показать IP-адреса интерфейсов |
ip link set eth0 up |
Включить интерфейс |
ip route show |
Показать таблицу маршрутизации |
ip route add default via 192.168.1.1 |
Добавить маршрут по умолчанию |
ifconfig eth0 192.168.1.2 netmask 255.255.255.0 |
Назначить IP (устарело) |
ping -c 4 хост |
Проверить связь (4 пакета) |
traceroute хост |
Трассировка маршрута |
netstat -tuln |
Открытые порты и слушающие службы |
ss -tuln |
Современная замена netstat |
dig домен |
DNS-запрос с подробным выводом |
nslookup домен |
Простой DNS-запрос |
hostname |
Показать или установить имя хоста |
tcpdump -i eth0 |
Захват пакетов на интерфейсе |
nmap -sV хост |
Сканирование портов и версий сервисов |
Безопасность
| Команда |
Что делает |
iptables -L -n -v |
Показать правила межсетевого экрана |
iptables -A INPUT -p tcp --dport 22 -j ACCEPT |
Разрешить SSH |
iptables -P INPUT DROP |
Политика по умолчанию — запрет |
ssh user@хост |
Подключиться по SSH |
ssh-keygen -t rsa -b 4096 |
Генерировать ключ RSA 4096 бит |
ssh-copy-id user@хост |
Скопировать публичный ключ на сервер |
scp файл user@хост:/путь/ |
Скопировать файл по SSH |
gpg --gen-key |
Создать пару ключей GPG |
gpg -e -r user файл |
Зашифровать файл для пользователя |
gpg --decrypt файл.gpg |
Расшифровать файл |
gpg --sign файл |
Подписать файл |
gpg --verify файл.sig |
Проверить подпись |
openssl req -newkey rsa:2048 -x509 -out cert.pem |
Создать самоподписанный сертификат |
journalctl -u служба -f |
Следить за журналом службы |
Графическая среда
| Команда |
Что делает |
startx |
Запустить X.org из командной строки |
xorgconfig |
Настроить X.org (текстовый режим) |
xdpyinfo |
Информация о возможностях X-сервера |
xwininfo |
Информация об открытых окнах |
mkfontdir /путь/к/шрифтам |
Обновить индекс шрифтов X |
Система печати
| Команда |
Что делает |
lp -d принтер файл |
Отправить файл на принтер |
lpr -P принтер файл |
Отправить файл на принтер (lpd-стиль) |
lpstat -t |
Полная информация о принтерах |
lpq |
Очередь принтера |
lprm задание |
Удалить задание из очереди |
cancel задание |
Отменить задание в CUPS |
cupsaccept принтер |
Включить приём заданий |
cupsenable принтер |
Запустить принтер |
Синхронизация времени и почта
| Команда |
Что делает |
ntpdate pool.ntp.org |
Синхронизировать время с NTP |
hwclock --systohc |
Сохранить системное время в HW-часы |
date |
Показать текущую дату и время |
mail -s "Тема" user@host |
Отправить письмо |
mailq |
Просмотреть очередь почты MTA |
newaliases |
Применить изменения в /etc/aliases |
Горячие клавиши bash
| Сочетание |
Действие |
Ctrl+A |
Начало строки |
Ctrl+E |
Конец строки |
Ctrl+R |
Поиск в истории |
Ctrl+C |
Прервать процесс |
Ctrl+Z |
Приостановить процесс |
Ctrl+D |
Завершить сеанс |
Tab |
Автодополнение |
!! |
Повторить последнюю команду |
!$ |
Последний аргумент предыдущей команды |