Привожу список самых необходимых базовых команд для новичков в 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 |