Привожу список самых необходимых базовых команд для новичков в Linux системах (Debian)
| Команда | Применение |
| uname | Информация о системе |
| uname -r | Информация о ядре Linux |
| uptime | Как долго система запущена и загрузка (load average) |
| hostname | Имя хоста |
| hostname -i | IP адрес хоста |
| last reboot | История перезагрузок |
| date | Дата и время |
| timedatectl | Вывод и изменение даты и времени |
| cal | Вывод календаря |
| w | Отобразить пользователей работающих в системе |
| whoami | Отобразить свое имя пользователя |
| finger username | Информация о пользователе |
| Команда | Применение |
| dmesg | Вывод сообщений системы при загрузке |
| cat /proc/cpuinfo | Информация о CPU |
| cat /proc/meminfo | Информация об ОЗУ |
| lshw | Информация об аппаратной части (железе) |
| lsblk | Информация о блочных устройствах |
| free -m | Свободная память: озу и swap (ключ -m вывод в MB) |
| lspci -tv | Информация о PCI устройствах в виде дерева |
| lsusb -tv | Информация о USB устройствах в виде дерева |
| dmidecode | Информация об устройствах из BIOS |
| hdparm -i /dev/xda | Информация о диске |
| hdparm -tT /dev/xda <:code> | Скорость чтения-записи на устройство 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 | Создать пустой файл file_name |
| cat > file_name | Поместить STDIN в файл |
| more file_name | Выводить содержимое файла частями |
| head file_name | Вывод первых 10 строк файла |
| tail file_name | Вывод последних 10 строк файла |
| gpg -c file_name | Зашифровать файл |
| gpg file_name.gpg | Расшифровать файл |
| wc | Вывести число байт, слов и строк файла |
| xargs | Выполнить команду с тем что пришло из STDOUT |
| Команда | Применение |
| 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 find | Firefox process ID |
| 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 | Назначить адрес 192.168.0.1 на интерфейс eth0 |
| ifconfig | Показать IP адреса всех доступных сетевых интерфейсов |
| ping host | Команда отправляет ICMP echo запрос на соединение с хостом |
| whois domain | Информация о доменном имени |
| dig domain | Получить DNS информацию о домене |
| dig -x host | Обратное разрешение имени |
| host google.com | Разрешение адреса хоста |
| hostname -i | Локальные адреса |
| wget file_name | Скачать файл |
| netstat -pnltu | Показать все порты, которые слушаются на хосте |
| Команда | Применение |
| tar -cf home.tar home<:code> | Создать архив ‘home.tar’ из файла ‘home’ |
| tar -xf files.tar | Распаковать файл ‘files.tar’ |
| tar -zcvf home.tar.gz source-folder | Создать архив из директории |
| gzip file | Сжать файл (будет с расширением .gz) |
| Команда | Применение |
| rpm -i pkg_name.rpm | Установка из rpm пакета (CentOS, RHEL…) |
| rpm -e pkg_name | Удалить rpm пакет (CentOS, RHEL…) |
| dnf install pkg_name | Установить пакет с помощью dnf из репозитория. Ранее использовался YUM, но недавно YUM заменили на DNF. (CentOS, RHEL…) |
| apt update | Обновить репозитории (Debian, Ubuntu, Mint…) |
| dpkg -i pkg_name | Установить из deb пакета (Debian, Ubuntu, Mint…) |
| dpkg -r pkg_name | Удалить пакет (Debian, Ubuntu, Mint…) |
| apt install pkg_name | Установить пакет из репозитория (Debian, Ubuntu, Mint…) |
| apt remove pkg_name | Удалить пакет (Debian, Ubuntu, Mint…) |
| apt upgrade | Обновить пакеты в системе (Debian, Ubuntu, Mint…) |
| Команда | Применение |
| ./configure | Проверить наличие всех необходимых компонентов в системе для успешной компиляции |
| make | Начать процесс компиляции |
| make install | Установить скомпилированное ПО в систему |
| Команда | Применение |
| grep 'pattern' files | Поиск по паттерну в файлах |
| grep -r pattern dir | Искать рекурсивно во всех файлах, которые находятся в директории dir |
| locate file | Показать все местонахождения файла |
| find /home/ -name «index» | Найти файлы с именем, которое начинается с ‘index’ в директории /home folder |
| find /home -size +10000k | Найти файлы больше 10000k в директории /home |
| Команда | Применение |
| ssh user@host | Подключиться к удаленному хосту по ssh под пользователем user |
| ssh -p port_number user@host | Подключиться к удаленному хосту, если используется иной (не 22) ssh порт |
| ssh host | Подключение с параметрами по-умолчанию под текущим пользователем |
| telnet host | Подключиться по telnet (порт 23) |
| Команда | Применение |
| scp file1.txt server2/tmp | Securely copy file1.txt to server2 in /tmp directory |
| rsync -a /home/apps /backup/ | Synchronize contents in /home/apps directory with /backup directory |
| Команда | Применение |
| df -h | Отобразить свободное место на смонтированных разделах (в байтах) |
| df -i | Показать свободные inodes на файловой системе |
| fdisk -l | Информация о дисках, разделах и файловых системах |
| du -sh | Отобразить свободное место на смонтированных разделах с размерами переведенными в МБ, ГБ, ТБ |
| findmnt | Отобразить все точки монтирования |
| mount /dev/sdb1 /mnt | Примонтировать раздел 1 диска sdb к директории /mnt |
| Команда | Применение |
| cd .. | Перейти на один уровень выше |
| cd | Перейти в домашнюю директорию (переменная $HOME) |
| cd /test | Перейти в директорию /test |