Содержание

Linux список самых необходимых команд (cheat sheet)

Привожу список самых необходимых базовых команд для новичков в Linux системах (Debian)

1) Система

Команда Применение
uname Информация о системе
uname -r Информация о ядре Linux
uptime Как долго система запущена и загрузка (load average)
hostname Имя хоста
hostname -i IP адрес хоста
last reboot История перезагрузок
date Дата и время
timedatectl Вывод и изменение даты и времени
cal Вывод календаря
w Отобразить пользователей работающих в системе
whoami Отобразить свое имя пользователя
finger username Информация о пользователе

2) Железо

Команда Применение
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 <:code> Скорость чтения-записи на устройство xda
badblocks -s /dev/xda Тест на нечитаемые блоки

3) Пользователи

Команда Применение
id Подробности о пользователе (uid, gid, и группы)
last Последний вход в систему
who Просмотр авторизованных пользователей
groupadd «admin» Добавить группу ‘admin’
adduser «Sam» Добавить пользователя Sam
userdel «Sam» Удалить пользователя Sam
usermod Изменение данных пользователя, состава групп

4) Работа с файлами

Команда Применение
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

5) Процессы

Команда Применение
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 Древовидное представление процессов

6) Права файлов или директорий

Команда Применение
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:owner-group file_name Изменить владельца и группу-владельца для файла
chown owner-user:owner-group directory Изменить владельца и группу-владельца для директории

7) Сеть

Команда Применение
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 Показать все порты, которые слушаются на хосте

8) Архивация

Команда Применение
tar -cf home.tar home<:code> Создать архив ‘home.tar’ из файла ‘home’
tar -xf files.tar Распаковать файл ‘files.tar’
tar -zcvf home.tar.gz source-folder Создать архив из директории
gzip file Сжать файл (будет с расширением .gz)

9) Установка из пакетов

Команда Применение
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…)

10) Установка из исходников (компиляция)

Команда Применение
./configure Проверить наличие всех необходимых компонентов в системе для успешной компиляции
make Начать процесс компиляции
make install Установить скомпилированное ПО в систему

11) Поиск

Команда Применение
grep 'pattern' files Поиск по паттерну в файлах
grep -r pattern dir Искать рекурсивно во всех файлах, которые находятся в директории dir
locate file Показать все местонахождения файла
find /home/ -name «index» Найти файлы с именем, которое начинается с ‘index’ в директории /home folder
find /home -size +10000k Найти файлы больше 10000k в директории /home

12) Удаленное подключение

Команда Применение
ssh user@host Подключиться к удаленному хосту по ssh под пользователем user
ssh -p port_number user@host Подключиться к удаленному хосту, если используется иной (не 22) ssh порт
ssh host Подключение с параметрами по-умолчанию под текущим пользователем
telnet host Подключиться по telnet (порт 23)

13) Передача файлов

Команда Применение
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

14) Использование диска

Команда Применение
df -h Отобразить свободное место на смонтированных разделах (в байтах)
df -i Показать свободные inodes на файловой системе
fdisk -l Информация о дисках, разделах и файловых системах
du -sh Отобразить свободное место на смонтированных разделах с размерами переведенными в МБ, ГБ, ТБ
findmnt Отобразить все точки монтирования
mount /dev/sdb1 /mnt Примонтировать раздел 1 диска sdb к директории /mnt

15) Переход по директориям

Команда Применение
cd .. Перейти на один уровень выше
cd Перейти в домашнюю директорию (переменная $HOME)
cd /test Перейти в директорию /test