Шпаргалка по командам Linux

DF
Daniil Fedorov
5 августа 2021

Бывает, что некоторые команды терминала 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).
Остались вопросы? Задайте их нашему эксперту и получите квалифицированную помощь