- Справочник 70 основных команд Linux: полное описание с примерами
- Справочная информация / документация
- man
- whatis
- whereis
- Список основных команд Linux + PDF
- Система
- Процессы
- Пользователи
- Права файлов или директорий
- Сеть
- Архивация
- Установка из пакетов
- Установка из исходников (компиляция)
- Железо
- Поиск
- Удаленное подключение
- Передача файлов
- Использование диска
- Переход по директориям
Справочник 70 основных команд Linux: полное описание с примерами
Одним из коренных отличий семейства ОС Linux от ОС Windows является ведущая роль командной строки или терминала в администрировании системы. Для успешной работы с «Линукс» одного графического интерфейса недостаточно. Полноценное управление тут возможно только через терминал. А в работе с терминалом никак не обойтись без изучения основных команд Linux.
В Linux насчитывается несколько сотен основных команд и их модификаций. Они группируются по нескольким категориям. По расположению — могут быть утилитами командной строки или встроенной функцией командной оболочки. По частоте применения – используемыми постоянно, эпизодически и редко. По типам действий – от получения справки до управления файлами и процессами. Именно третья, функциональная составляющая и станет основой группировки утилит в этой статье.
В обзоре собраны все важнейшие команды Linux, которые могут пригодиться для администрирования ОС Linux. Статья рассчитана как на новичков, так и на продвинутых пользователей, уже знакомых с основным функционалом терминала. Эту своеобразную шпаргалку можно смело добавлять в закладки всем, кто хочет извлечь из «Линукс» максимум полезных свойств и повысить свою продуктивность в несколько раз.
Справочная информация / документация
man
(Manual). Показывает инструкцию к программам и командам Linux. Чтобы получить руководство для программы, наберите:
whatis
whereis
Список основных команд Linux + PDF
ls -al Список файлов и директорий
pwd Отобразить текущую рабочую директорию
mkdir ‘directory_name’ Создать новую директорию
rm file_name Удалить файл
rm -f filename Принудительно удалить файл
rm -r directory_name Удалить директорию рекурсивно
rm -rf directory_name Удалить принудительно и рекурсивно
cp file1 file2 Копировать содержимое файла file1 в файл file2
cp -r dir1 dir2 Рекурсивное копирование директории dir1 в dir2. dir2 будет создана, если не существует.
mv file1 file2 Переименовать file1 в file2
ln -s /path/to/file_name link_name Создать символическую ссылку к файлу file_name
touch file_name Создать пустой файл file_name
cat > file_name Поместить STDIN в файл
more file_name Выводить содержимое файла частями
head file_name Вывод первых 10 строк файла
tail file_name Вывод последних 10 строк файла
gpg -c file_name Зашифровать файл
gpg file_name.gpg Расшифровать файл
wc Вывести число байт, слов и строк файла
xargs Выполнить команду с тем что пришло из STDOUT
Система
uname Информация о системе
uname -r Информация о ядре Linux
uptime Как долго система запущена и загрузка (load average)
hostname Имя хоста
hostname -i IP адрес хоста
last reboot История перезагрузок
date Дата и время
timedatectl Вывод и изменение даты и времени
cal Вывод календаря
w Отобразить пользователей работающих в системе
whoami Отобразить свое имя пользователя
finger username Информация о пользователе
Процессы
ps Вывести текущие запущенные процессы
ps aux | grep ‘telnet’ Поиск id процесса ‘telnet’
pmap Карта памяти процесса
top Все запущенные процессы
kill pid Завершить процесс по pid
killall proc Завершить все процессы с именем proc
pkill process-name Отправить сигнал процессу
bg Отправить приостановленный процесс в фоновое выполнение
fg Вывести из фона выполняющийся процесс
fg n Процесс n вывести из фонового выполнения
lsof Список файлов, которые используют процессы
renice 19 PID Установить самый низкий приоритет процессу
pgrep firefox find Firefox process ID
pstree Древовидное представление процессов
Пользователи
id Подробности о пользователе (uid, gid, и группы)
last Последний вход в систему
who Просмотр авторизованных пользователей
groupadd «admin» Добавить группу ‘admin’
adduser «Sam» Добавить пользователя Sam
userdel «Sam» Удалить пользователя Sam
usermod Изменение данных пользователя, состава групп
Права файлов или директорий
chmod octal filename Изменить права файла или директории
Примеры
chmod 777 /data/test.c Права rwx для всех, кто имеет доступ к серверу (владельца, группу, остальные)
chmod 755 /data/test.c Права rwx на владельца и r_x на группу и остальных
chmod 766 /data/test.c Права rwx для владельца, rw для групп и остальных
chown owner user-file Изменить владельца для файла
chown owner-user
wner-group file_name Изменить владельца и группу-владельца для файла
chown owner-user
wner-group directory Изменить владельца и группу-владельца для директории
Сеть
ip addr show Показать IP адреса всех доступных сетевых интерфейсов
ip address add 192.168.0.1/24 dev eth0 Назначить адрес 192.168.0.1 на интерфейс eth0
ifconfig Показать IP адреса всех доступных сетевых интерфейсов
ping host Команда отправляет ICMP echo запрос на соединение с хостом
whois domain Информация о доменном имени
dig domain Получить DNS информацию о домене
dig -x host Обратное разрешение имени
host google.com Разрешение адреса хоста
hostname -i Локальные адреса
wget file_name Скачать файл
netstat -pnltu Показать все порты, которые слушаются на хосте
Архивация
tar -cf home.tar home Создать архив ‘home.tar’ из файла ‘home’
tar -xf files.tar Распаковать файл ‘files.tar’
tar -zcvf home.tar.gz source-folder Создать архив из директории
gzip file Сжать файл (будет с расширением .gz)
Установка из пакетов
rpm -i pkg_name.rpm Установка из rpm пакета (CentOS, RHEL…)
rpm -e pkg_name Удалить rpm пакет (CentOS, RHEL…)
dnf install pkg_name Установить пакет с помощью dnf из репозитория. Ранее использовался YUM, но недавно YUM заменили на DNF. (CentOS, RHEL…)
apt update Обновить репозитории (Debian, Ubuntu, Mint…)
dpkg -i pkg_name Установить из deb пакета (Debian, Ubuntu, Mint…)
dpkg -r pkg_name Удалить пакет (Debian, Ubuntu, Mint…)
apt install pkg_name Установить пакет из репозитория (Debian, Ubuntu, Mint…)
apt remove pkg_name Удалить пакет (Debian, Ubuntu, Mint…)
apt upgrade Обновить пакеты в системе (Debian, Ubuntu, Mint…)
Установка из исходников (компиляция)
./configure Проверить наличие всех необходимых компонентов в системе для успешной компиляции
make Начать процесс компиляции
make install Установить скомпилированное ПО в систему
Железо
dmesg Вывод сообщений системы при загрузке
cat /proc/cpuinfo Информация о CPU
cat /proc/meminfo Информация об ОЗУ
lshw Информация об аппаратной части (железе)
lsblk Информация о блочных устройствах
free -m Свободная память: озу и swap (ключ -m вывод в MB)
lspci -tv Информация о PCI устройствах в виде дерева
lsusb -tv Информация о USB устройствах в виде дерева
dmidecode Информация об устройствах из BIOS
hdparm -i /dev/xda Информация о диске
hdparm -tT /dev/xda Скорость чтения-записи на устройство xda
badblocks -s /dev/xda Тест на нечитаемые блоки
Поиск
grep ‘pattern’ files Поиск по паттерну в файлах
grep -r pattern dir Искать рекурсивно во всех файлах, которые находятся в директории dir
locate file Показать все местонахождения файла
find /home/ -name «index» Найти файлы с именем, которое начинается с ‘index’ в директории /home folder
find /home -size +10000k Найти файлы больше 10000k в директории /home
Удаленное подключение
ssh [email protected] Подключиться к удаленному хосту по ssh под пользователем user
ssh -p port_number [email protected] Подключиться к удаленному хосту, если используется иной (не 22) ssh порт
ssh host Подключение с параметрами по-умолчанию под текущим пользователем
telnet host Подключиться по telnet (порт 23)
Передача файлов
scp file1.txt server2/tmp Securely copy file1.txt to server2 in /tmp directory
rsync -a /home/apps /backup/ Synchronize contents in /home/apps directory with /backup directory
Использование диска
df -h Отобразить свободное место на смонтированных разделах (в байтах)
df -i Показать свободные inodes на файловой системе
fdisk -l Информация о дисках, разделах и файловых системах
du -sh Отобразить свободное место на смонтированных разделах с размерами переведенными в МБ, ГБ, ТБ
findmnt Отобразить все точки монтирования
mount /dev/sdb1 /mnt Примонтировать раздел 1 диска sdb к директории /mnt
Переход по директориям
cd .. Перейти на один уровень выше
cd Перейти в домашнюю директорию (переменная $HOME)
cd /test Перейти в директорию /test
Шпаргалка (Сheat sheet) по необходимым командам операционной системы Linux в формате PDF.