Содержание
Шпаргалка по командам Linux
Бывает, что некоторые команды терминала 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).