Шпаргалка по базовым командам Linux
Система
| Команда | Описание |
|---|---|
| uname | Показывает информацию о системе |
| uname -r | Показывает информацию о ядре Linux |
| uptime | Продолжительность работы системы и средняя загрузка |
| hostname | Показывает имя хоста |
| hostname -i | Показывает IP-адрес хоста |
| last reboot | Показывает историю перезагрузок |
| date | Показывает дату и время |
| timedatectl | Выводит и изменяет дату и время |
| cal | Выводит календарь |
| w | Отображает пользователей, работающих в системе |
| whoami | Отображает ваше имя пользователя |
| finger root | Отображает информацию о пользователе root (требуется установка с пакета finger) |
Пользователи и группы
| Команда | Описание |
|---|---|
| Id | Подробная информация о пользователе (uid, gid и группа) |
| last | Список информации о входах в систему (время, имя пользователя, ip, длительность сеанса) |
| who | Просмотр авторизованных пользователей |
groupadd <GROUP> | Создает группу с именем <GROUP> |
groupdel <NAME> | удалить группу <NAME> |
groupmod -n <NEW_NAME> <OLD_NAME> | переименовать группу |
useradd <USER> | Добавляет пользователя <USER> |
| useradd -c "Coment" -g admin -d /home/user1 -s /bin/bash user1 | создать пользователя user1, назначить ему в домашний каталог /home/user1, терминал - /bin/bash, включить его в группу admin, добавить комментарий Coment |
userdel <USER> | Удаляет пользователя <USER> |
usermod <USER> | Изменяет информацию о пользователе <USER> |
| pwck | Проверить корректность системных файлов учётных записей. Проверяются файлы /etc/passwd и /etc/shadow |
Навигация по каталогам
| Команда | Описание |
|---|---|
| cd /. | Переход в основной каталог |
| cd | Переход в домашний каталог (переменная $HOME) |
| cd /root | Переход в каталог /root |
| cd .. | Переход на один уровень ниже |
| cd /root/.ssh | Переход в скрытую папку .ssh |
Работа с файлами
| Команда | Описание |
|---|---|
| ls -l | Показывает детализировано представление файлов |
| ls -a | Показывает скрытые файлы |
| ls -F | Отобразить содержимое текущей папки с добавлением к именам символов, характеризующих тип |
| pwd | Отображает текущий рабочий каталог |
mkdir <DIR> | Создает новый каталог <DIR> |
rm <FILE> | Удаляет файл с именем <FILE> |
rm -f <FILE> | Принудительное удаление файла <FILE> |
rm -r <DIR> | Рекурсивно удаляет каталог <DIR> |
rm -rf <DIR> | Принудительное удаление каталога с именем <DIR> рекурсивно |
cp <OLDFILE> <NEWFILE> | Копирует содержимое <OLDFILE> в <NEWFILE> |
cp -r <OLDDIR> <NEWDIR> | Рекурсивно копирует каталог <OLDDIR> в <NEWDIR>. <NEWDIR> будет создан, если он не существует |
mv <OLDFILE> <NEWFILE> | Переименовывает <OLDFILE> в <NEWFILE> |
ln -s /etc/file <FILENAME> | Создает ярлык на файл |
cat > <FILE> | Помещает STDIN в <FILE> |
more <FILE> | Выводит содержимое <FILE> по частям |
head <FILE> | Выводит первые 10 строк файла <FILE> |
tail <FILE> | Вывод последних 10 строк <FILE> |
gpg -c <FILE> | Шифрует <FILE> в формат gpg с помощью пароля и сохраняет его в том же каталоге |
gpg <FILE>.gpg | Расшифровывает gpg файл |
wc <FILE> | Выводит количество байт, слов и строк файла |
ln -s <FILE> <LINK> | Создать символьную ссылку <LINK> на файл <FILE> |
ln <FILE> <LINK> | Создать "жёсткую" ссылку <LINK> на файл <FILE> |
touch <FILE> | Создает пустой файл с именем <FILE> |
| touch -t 0712250000 fileditest | Модифицировать дату и время создания файла, при его отсутствии, создать файл с указанными датой и временем (YYMMDDhhmm) |
Права доступа к файлам/каталогам
| Команда | Описание |
|---|---|
| chmod 777 /root/ssh | устанавливает права rwx(чтение, запись, выполнение) на файл ssh для всех, кто имеет доступ к серверу (владелец, группа, другие) |
| chmod 755 /root/ssh | Настраивает разрешения rwx для владельца и r_x для группы и других |
| chmod 766 /root/ssh | Устанавливает права rwx для владельца и rw для группы и других |
chown <USER> <FILE> | Меняет владельца <FILE> на <USER> |
chown <USER>:<GROUP> <FILE> | Изменяет владельца и группу-владельца для <FILE> на <USER> и <GROUP> |
chown <USER>:<GROUP> <DIR> | Меняет владельца и группу-владельца каталога <DIR> на <USER> и <GROUP> |
stat -c "%U %G" <FILE> | отображает владельцев пользователей и групп |
Поиск
| Команда | Описание |
|---|---|
grep <SEARCH> <FILE> | Поиск аргумента <SEARCH> в <FILE> |
grep -r <SEARCH> <DIR> | рекурсивно просматривает все файлы в директории <DIR> на наличие поискового аргумента <SEARCH> |
locate <FILE> | Показывает все местоположения <FILE>. Предварительно рекомендуется выполнить команду updatedb |
find /etc/ -name <ARG> | Находит файлы с именем, начинающимся с <ARG>, в директории /etc |
find /etc/ -user <NAME> | Найти файлы и директорию принадлежащие пользователю <NAME> в директории /etc |
| find /etc/ -size +50000k | Найти файлы размером > 50000k в директории /etc |
| find /etc/ -type f -atime +100 | Найти все файлы в /etc, время последнего обращения к которым более 100 дней |
| whereis halt | Показывает размещение бинарных файлов, исходных кодов и руководств |
Архивирование
| Команда | Описание |
|---|---|
tar -cf archive.tar <FILE> | Создать архив archive.tar из файла |
| tar -xf archive.tar | Распаковать файл archive.tar |
| tar -zcvf archive.tar.gz /var/log/ | Создать архив archive.tar.gz из каталога /var/log |
gzip <FILE> | Сжать файл (расширение .gz) |
zip <ARH> <NAME> | создать сжатый архив <ARH> используя данные по пути <NAME> |
zip -r <ARH> <FILE1> <FILE2> <DIR> | создать сжатый архив <ARH> и со включением в него нескольких файлов и директорий |
unzip <ARH> | Распаковать архив <ARH> |
Установка программ
| Команда | Описание |
|---|---|
rpm -i <NAME>.rpm | Устанавливает rpm пакет <NAME> (CentOS) |
rpm -e <NAME> | Удаляет rpm пакет <NAME> (CentOS) |
dnf install <NAME> | Устанавливает пакет <NAME> с помощью dnf из репозитория (CentOS) |
dpkg -i <NAME> | Установка deb-пакета <NAME> (Debian) |
dpkg -r <NAME> | Удаляет deb-пакет <NAME> (Debian) |
apt install <NAME> | Устанавливает пакет <NAME> из репозитория (Debian) |
apt remove <NAME> | Удаляет пакет <NAME> (Debian) |
| apt upgrade && apt update | Обновление пакетов в системе (Debian) и последующее обновление репозиториев |
Процессы
| Команда | Описание |
|---|---|
| ps | Выводит текущие запущенные процессы |
| ps aux ` | ` grep 'bash' |
| pmap -x 11 | Сопоставить процесс с PID = 11 в памяти процесса |
| top | Показывает все запущенные процессы |
kill <PID> | Завершить процесс по <PID> |
killall <PROC> | Завершить все процессы с именем <PROC> |
pkill <PROC> | Послать сигнал процессу |
| bg | Отправить приостановленный процесс на фоновое выполнение |
| fg | Вывести запущенный процесс из фона |
fg <PROC> | Вывести процесс с именем <PROC> из фонового режима |
| lsof | Показать списки файлов, которые используют процессы |
renice 19 <PID> | Устанавливает самый низкий приоритет процесса <PID> |
| pgrep bash | Найти идентификатор процесса bash |
| pstree | Показывает древовидное представление процессов |
Аппаратная часть
| Команда | Описание |
|---|---|
| dmesg | Отображает системные сообщения при загрузке системы |
| cat /proc/cpuinfo | Показывает информацию о процессоре |
| cat /proc/meminfo | Показывает информацию об оперативной памяти |
| lshw | Показывает информацию об устройствах |
| lsblk | Показать информацию о жестком диске |
| dmidecode -q | Отображает аппаратные системные компоненты - (SMBIOS / DMI) |
| dmidecode | Показывает информацию об устройствах BIOS |
| hdparm -i /dev/hda | Отображает характеристики жесткого диска |
| hdparm -tT /dev/sda | Тестирует производительность чтения данных с жесткого диска |
| cat /proc/cpuinfo | Отображает информацию о процессоре |
| cat /proc/interrupts | Отображает прерывания |
| cat /proc/swaps | Показывает файл(ы) подкачки |
| cat /proc/version | Показывает версию ядра |
| cat /proc/net/dev | Показывает сетевые интерфейсы и статистику по ним |
| cat /proc/mounts | Отображает смонтированные файловые системы |
| lspci -tv | Показывает в виде дерева PCI устройства |
| lsusb -tv | Показывает в виде дерева USB устройства |
| badblocks -s /dev/xda | Показывает тест на наличие битых секторов |
Использование диска
| Команда | Описание |
|---|---|
| df -h | Показывает свободное пространство на смонтированных разделах (в байтах) |
| df -i | Показывает свободные inodes в файловой системе |
| fdisk -l | Показывает информацию о диске и файловой системе |
| du -sh | Отображает нераспределенное пространство на смонтированных разделах в MB, GB, TB |
| findmnt | Отображает все точки монтирования |
| mount /dev/sdb1 /mnt | Монтирует раздел диска sdb1 в /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 <URL> | Загружает файл |
| netstat -pnltu | Показывает все порты, прослушиваемые на хосте (требуется пакет net-tools) |
Удаленное подключение SSH
| Команда | Описание |
|---|---|
ssh <USER>@<HOST> | Подключение к удаленному хосту <HOST> по ssh под пользователем <USER> |
ssh -p <PORT> <USER>@<HOST> | Подключается к удаленному хосту <USER>@<HOST>, если используется порт ssh <PORT>, отличный от 22 |
| ssh host | Использует соединение по умолчанию в качестве текущего пользователя |
| telnet host | Использует соединение telnet (порт 23) |
Проверка файловых систем
| Команда | Описание |
|---|---|
| badblocks -v /dev/hda1 | проверить раздел hda1 на наличие bad-блоков |
| fsck /dev/hda1 | проверить/восстановить целостность linux-файловой системы раздела hda1 |
| fsck.ext2 /dev/hda1 | проверить/восстановить целостность файловой системы ext2 раздела hda1 |
| e2fsck /dev/hda1 | проверить/восстановить целостность файловой системы ext2 раздела hda1 |
| e2fsck -j /dev/hda1 | проверить/восстановить целостность файловой системы ext3 раздела hda1 с указанием, что журнал расположен там же |
| fsck.ext3 /dev/hda1 | проверить/восстановить целостность файловой системы ext3 раздела hda1 |
| fsck.vfat /dev/hda1 | проверить/восстановить целостность файловой системы fat раздела hda1 |
| fsck.msdos /dev/hda1 | проверить/восстановить целостность файловой системы fat раздела hda1 |
Форматирование разделов
| Команда | Описание |
|---|---|
| mkfs /dev/hda1 | создать linux-файловую систему на разделе hda1 |
| mke2fs /dev/hda1 | создать файловую систему ext2 на разделе hda1 |
| mke2fs -j /dev/hda1 | создать журналирующую файловую систему ext3 на разделе hda1 |
| mkfs -t vfat 32 -F /dev/hda1 | создать файловую систему FAT32 на разделе hda1 |
| fdformat -n /dev/fd0 | форматирование флоппи-диска без проверки |
| mkswap /dev/hda3 | создание swap-пространства на разделе hda3 swap-пространство |
| mkswap /dev/hda3 | создание swap-пространства на разделе hda3 |
| swapon /dev/hda3 | активировать swap-пространство, расположенное на разделе hda3 |
| swapon /dev/hda2 /dev/hdb3 | активировать swap-пространства, расположенные на разделах hda2 и hdb3 |
Работа с X-сервером
| Команда | Описание |
|---|---|
| sudo /etc/init.d/gdm restart | перезапустить X (GNOME) |
| sudo /etc/init.d/kdm restart | перезапустить X (KDE) |
| (file) /etc/X11/xorg.conf | конфигурация X |
| sudo dpkg-reconfigure -phigh xserver-xorg | сбросить конфигурацию X |
| Ctrl+Alt+Bksp | перезапустить X-сервер |
Ctrl+Alt+F<NUM> | переключиться на консоль #<NUM> |
| Ctrl+Alt+F7 | вернуться к X |
Работа с фаерволом
| Команда | Описание |
|---|---|
| ufw enable | включить фаервол |
| ufw disable | выключить фаервол |
| ufw default allow | разрешить все подключения |
| ufw default deny | запретить все подключения |
| ufw status | текущий статус и правила |
ufw allow <PORT> | разрешить соединения по порту <PORT> |
ufw deny <PORT> | закрыть <PORT> |
ufw deny from <IP> | заблокировать <IP> адрес |