Бывает, что некоторые команды терминала Linux сложно вспомнить, и сохранение их на компьютере или на бумаге в качестве шпаргалки является хорошей практикой. Этот список не является полным, но он содержит наиболее часто используемые команды. Не стесняйтесь добавить свои наиболее часто используемые команды в комментариях ниже, а так же поделиться этим списком.
Пользователи
- Id - Подробная информация о пользователе (uid, gid и группа).
- last - Список информации о последних входах в систему, включая время, имя пользователя, ip-адрес и длительность сеанса.
- who - Просмотр авторизованных пользователей
- groupadd "testgroup" - Создает группу с именем "testgroup".
- adduser NewUser - Добавляет пользователя с именем "NewUser".
- userdel NewUser - Удаляет пользователя с именем "NewUser".
- usermod NewUser - изменяет информацию о пользователе "NewUser".
Навигация по каталогам
- cd /. - Переход в основной каталог
- cd - Переход в домашний каталог (переменная $HOME)
- cd /root - Переход в каталог /root
- cd .. - Переход на один уровень ниже
- cd /root/.ssh - Переход в скрытую папку .ssh
Работа с файлами
- ls -al – Показывает файлы и каталоги в текущей папке
- pwd - Отображает текущий рабочий каталог
- mkdir NewFolder - Создает новый каталог с именем "NewFolder".
- rm NewFile - Удаляет файл с именем "NewFile"
- rm -f NewFile - Принудительное удаление файла с именем "NewFile"
- rm -r NewFolder - Рекурсивно удаляет каталог с именем "NewFolder"
- rm -rf NewFolder - Принудительное удаление каталога с именем "NewFolder" рекурсивно
- cp oldfile1 newfile2 - Копирует содержимое oldfile1 в newfile2
- cp -r olddir1 newdir2 - Рекурсивно копирует каталог "olddir1" в "newdir2". Dir2 будет создан, если он не существует.
- mv oldfile1 newfile2 - Переименовывает "oldfile1" в "newfile2".
- ln -s /etc/log/file logfile - Создает ярлык на файл
- touch newfile - Создает пустой файл с именем newfile
- cat > newfile - Помещает STDIN в newfile
- more newfile - Выводит содержимое newfile по частям
- head newfile - Выводит первые 10 строк файла newfile
- tail newfile - Вывод последних 10 строк newfile
- gpg -c newfile - Шифрует newfile в формат gpg с помощью пароля и сохраняет его в том же каталоге.
- gpg newfile.gpg – Расшифровывает gpg файл
- wc newfile - Выводит количество байт, слов и строк нового файла.
Права доступа к файлам/каталогам
- chmod 777 /root/ssh - устанавливает права rwx(чтение, запись, выполнение) на файл ssh для всех, кто имеет доступ к серверу (владелец, группа, другие)
- chmod 755 /root/ssh - Настраивает разрешения rwx для владельца и r_x для группы и других.
- chmod 766 /root/ssh - Устанавливает права rwx для владельца и rw для группы и других.
- chown newuser newfile - Меняет владельца newfile на newuser
- chown newuser:newgroup newfile - Изменяет владельца и группу-владельца для newfile на newuser и newgroup
- chown newuser:newgroup newfolder - Меняет владельца и группу-владельца каталога newfolder на newuser и newgroup
- stat -c "%U %G" newfile - отображает владельцев пользователей и групп newfile
Поиск
- grep searchargument newfile - Поиск аргумента searchargument в newfile
- grep -r searchargument newfolder - рекурсивно просматривает все файлы в папке newfolder на наличие поискового аргумента
- locate newfile - Показывает все местоположения нового файла
- find /etc/ -name "searchargument" - Находит файлы с именем, начинающимся с searchargument, в каталоге /etc
- find /etc/ -size +50000k - Найти файлы размером более 50000k в каталоге /etc.
Архивирование
- tar -cf archive.tar newfile - Создать архив 'archive.tar' из файла 'newfile'
- tar -xf archive.tar - Распаковать файл 'archive.tar'
- tar -zcvf archive.tar.gz /var/log/ - Создать архив из каталога /var/log
- gzip newfile - Сжать новый файл (он будет иметь расширение .gz).
Установка программ из пакетов
- rpm -i pkg_program.rpm - Устанавливает пакет rpm (CentOS, RHEL...)
- rpm -e pkg_name - Удаляет пакет rpm (CentOS, RHEL...)
- dnf install pkg_name - Устанавливает пакет с помощью dnf из репозитория. Ранее использовался YUM, но недавно YUM был заменен на DNF. (CentOS, RHEL...)
- dpkg -i pkg_name - Установка из deb-пакета (Debian, Ubuntu, Mint...)
- dpkg -r pkg_name - Удаляет deb-пакет (Debian, Ubuntu, Mint...)
- apt install pkg_name - Устанавливает пакет из репозитория (Debian, Ubuntu, Mint...)
- apt remove pkg_name - Удаляет пакет (Debian, Ubuntu, Mint...)
- apt upgrade && apt update - Обновление пакетов в системе (Debian, Ubuntu, Mint...) и последующее обновление репозиториев.
Процессы
- ps - Выводит текущие запущенные процессы
- ps aux | grep 'bash' - Найти идентификатор процесса 'bash'
- pmap -x 11 - Сопоставить процесс с PID = 11 в памяти процесса
- top - Показывает все запущенные процессы
- kill pid - Завершить процесс по pid
- killall process - Завершить все процессы с именем "process"
- pkill process-name - Послать сигнал процессу
- bg - Отправить приостановленный процесс на фоновое выполнение
- fg - Вывести запущенный процесс из фона
- fg process - Вывести процесс с именем "process" из фонового режима
- lsof – Показать списки файлов, которые используют процессы
- renice 19 PID - Устанавливает самый низкий приоритет процесса
- pgrep bash - найти идентификатор процесса bash
- pstree - Показывает древовидное представление процессов
Система
- uname - Показать информацию о системе
- uname -r - Показывает информацию о ядре Linux
- uptime - Продолжительность работы системы и средняя загрузка
- hostname - Показывает имя хоста
- hostname -i - Показывает IP-адрес хоста
- last reboot - Показывает историю перезагрузок
- date - Показывает дату и время
- timedatectl - Выводит и изменяет дату и время
- cal - Выводит календарь
- w - Отображает пользователей, работающих в системе
- whoami - Отображает ваше имя пользователя
- finger root - Показывает информацию о пользователе root (требуется установка с помощью "apt-get install finger").
Аппаратное обеспечение
- dmesg - Отображает системные сообщения при загрузке системы
- cat /proc/cpuinfo - Показывает информацию о процессоре
- cat /proc/meminfo - Показывает информацию об оперативной памяти
- lshw - Показывает информацию об устройствах
- lsblk - Показать информацию о жестком диске
- free -m - Освобождает память: RAM и swap (переключатель -m в MB)
- lspci -tv - Показывает информацию об устройствах PCI в виде дерева
- lsusb -tv - Отображает USB-устройства в древовидном виде.
- dmidecode - Показывает информацию об устройствах BIOS
- hdparm -i /dev/xda - Показывает информацию о диске
- hdparm -tT /dev/xda - Показывает скорость чтения и записи xda
- badblocks -s /dev/xda - Показывает тест на наличие битых секторов.
Использование диска
- df -h - Показывает свободное пространство на смонтированных разделах (в байтах)
- df -i - Показывает свободные inodes в файловой системе
- fdisk -l - Показывает информацию о диске, разделах и файловой системе
- du -sh - Отображает нераспределенное пространство на смонтированных разделах в MB, GB, TB
- findmnt - Отображает все точки монтирования
- mount /dev/sdb1 /mnt - Монтирует раздел 1 диска sdb в /mnt
Сеть
- ip addr show - Показывает IP-адреса всех доступных сетевых интерфейсов
- ip address add 192.168.0.1/24 dev eth0 - Присваивает адрес 192.168.0.1 интерфейсу eth0
- ifconfig - Показывает IP-адреса всех доступных сетевых интерфейсов
- ping 192.168.0.1 - Отправляет запрос по протоколу ICMP для подключения к узлу 192.168.0.1.
- whois domain - Показывает информацию о доменном имени
- dig domain - Получает информацию DNS о домене
- dig -x 192.168.0.1 - Инвертирует разрешение имен
- host serverspace.us - Резолвит адрес хоста
- hostname -I - Показывает локальные адреса
- wget имя_файла(ссылка на файл) - Загружает файл
- netstat -pnltu - Показывает все порты, прослушиваемые на хосте (требуется "apt-get install net-tools")
Удаленное подключение
- ssh root@host - Подключение к удаленному хосту по ssh от имени root
- ssh -p port_number user@host - Подключается к удаленному хосту, если используется порт ssh, отличный от 22.
- ssh host - Использует соединение по умолчанию в качестве текущего пользователя
- telnet host - Использует соединение telnet (порт 23).