Шпаргалка по командной строке 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 |