Skip to content

Шпаргалка по командной строке Linux

Linux — это бесплатная и открытая Unix-подобная операционная система, основанная на POSIX и Unix. Это многопользовательская, многозадачная, многопоточная операционная система с поддержкой нескольких процессоров. Она может запускать основные инструменты Unix, приложения и сетевые протоколы, а также поддерживает 32-битное и 64-битное оборудование. Унаследовав сетецентрическую философию дизайна Unix, Linux является стабильной многопользовательской сетевой операционной системой.

Система

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

Оборудование

dmesg Показать загрузочные сообщения
cat /proc/cpuinfo Показать подробную информацию о процессоре (модель, ядра, производитель)
cat /proc/meminfo Показать подробную информацию об оперативной памяти (общая, свободная)
lshw Показать сведения о конфигурации оборудования системы
lsblk Показать информацию о блочных устройствах
free -m Показать свободную и используемую память (-m для МБ)
lspci -tv Показать PCI-устройства в виде древовидной диаграммы
lsusb -tv Показать USB-устройства в виде древовидной диаграммы
dmidecode Показать информацию об оборудовании из BIOS
hdparm -i /dev/xda Показать информацию о данных диска
hdparm -tT /dev/xda Выполнить тест скорости чтения на устройстве xda
badblocks -s /dev/xda Проверить диск на наличие нечитаемых блоков

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

id Показать сведения об активном пользователе (uid, gid, группы)
last Показать последние входы в систему
who Показать, кто вошел в систему
groupadd “admin” Добавить группу «admin»
adduser “Sam” Добавить пользователя Sam
userdel “Sam” Удалить пользователя Sam
usermod Используется для изменения/модификации информации о пользователе

Файлы

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 Создать новый файл
cat > file_name Создать файл из ввода с клавиатуры
more file_name Вывод содержимого файла постранично
head file_name Показать первые 10 строк файла
tail file_name Показать последние 10 строк файла
gpg -c file_name Зашифровать файл
gpg file_name.gpg Расшифровать файл
wc Вывести количество байт, слов и строк в файле
xargs Выполнять команды из стандартного ввода

Процессы

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 Найти идентификатор процесса Firefox
pstree Визуализировать процессы в древовидной модели

Права доступа к файлам

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 Изменить владельца и группу владельца каталога

Сеть

ip addr show Показать IP-адреса и все сетевые интерфейсы
ip address add 192.168.0.1/24 dev eth0 Назначить IP-адрес 192.168.0.1 интерфейсу eth0
ifconfig Показать IP-адреса всех сетевых интерфейсов
ping host Отправлять эхо-запросы ICMP для установления соединения
whois domain Получить информацию о доменном имени
dig domain Получить информацию DNS для домена
dig -x host Выполнить обратный поиск для домена
host google.com Выполнить поиск IP-адреса доменного имени
hostname -i Показать локальный IP-адрес
wget file_name Скачать файлы из онлайн-ресурсов
netstat -pnltu Показать все активные прослушиваемые порты

Сжатие / Архивация

tar -cf home.tar home Создать tar-архив с именем home.tar для каталога home
tar -xf files.tar Распаковать архивный файл “files.tar”
tar -zcvf home.tar.gz source-folder Создать сжатый tar-архив из исходной папки
gzip file Сжать файл с расширением .gz

Установка пакетов

rpm -i pkg_name.rpm Установить rpm-пакет
rpm -e pkg_name Удалить rpm-пакет
dnf install pkg_name Установить пакет с помощью инструмента dnf

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

./configure Проверить зависимости системы и создать Makefile
make Скомпилировать программу
make install Установить исполняемые файлы в путь по умолчанию или измененный путь

Поиск

grep ‘pattern’ files Поиск шаблона в файлах
grep -r pattern dir Рекурсивный поиск шаблона в заданном каталоге
locate file Найти все экземпляры файла
find /home/ -name “index” Найти имена файлов, начинающиеся с ‘index’, в /home
find /home -size +10000k Найти файлы размером более 10000k в домашней папке

Вход в систему

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

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

scp file1.txt server2/tmp Безопасно скопировать file1.txt в каталог /tmp на server2
rsync -a /home/apps /backup/ Синхронизировать содержимое каталога /home/apps с каталогом /backup

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

df -h Показать свободное место в смонтированных файловых системах
df -i Показать свободные индексные дескрипторы (inode) в файловых системах
fdisk -l Показать разделы диска, размеры и типы
du -sh Показать использование диска текущим каталогом в удобном для человека формате
findmnt Показать целевые точки монтирования для всех файловых систем
mount device-path mount-point Смонтировать устройство

Перемещение по каталогам

cd .. Перейти на один уровень вверх в структуре каталогов
cd Сменить каталог на домашний каталог ($HOME)
cd /test Сменить каталог на каталог /test