hoster Cloud. Основные команды Linux
Всего в пару кликов в личном кабинете можно изменить большинство параметров облака. Но для расширенных настроек облачных сервисов может понадобиться терминал Linux.
Собрали наиболее распространенные команды: для работы с файлами и пользователями, навигации по директориям, управления правами, сетевыми подключениями и других задач. Сохраните материал в закладках, и полезная шпаргалка всегда будет у вас под рукой.
Работа с пользователями
-
Id — выводит подробную информацию о пользователе: список групп, идентификаторы UID и GID и другие сведения.
-
last — предоставляет данные о последних входах в систему с указанием пользователей, длительности сеансов, IP-адресов и другой информации.
-
who — выводит список пользователей, вошедших в систему, и информацию о них: имена, терминалы, время авторизации, хосты или IP-адреса.
-
groupadd имя группы — добавляет новую группу с указанным именем.
-
adduser имя пользователя — добавляет нового пользователя с указанным именем.
-
userdel имя пользователя — удаляет указанного пользователя.
-
usermod имя пользователя — позволяет изменить учетную запись указанного пользователя.
Навигация по директориям
-
cd — используется для перехода в домашнюю директорию. Название команды — это сокращение от change directory.
-
cd ~user — перемещает в домашнюю директорию пользователя user.
-
cd / — переносит в корневой каталог системы.
-
cd /root — перемещает в директорию /root.
-
cd .. — перемещает на уровень ниже.
-
cd /root/.ssh — переход в скрытую папку .ssh. Может использоваться при настройке зашифрованного соединения для удаленного администрирования.
Работа с файлами
-
ls — позволяет посмотреть содержимое директории, о чем и говорит название команды: ls — сокращение от list files.
-
ls имя директории или ls /путь к директории — выводят содержимое указанного каталога при указании его имени или пути к нему.
-
ls –a — отображает в текущей директории файлы и каталоги, включая скрытые.
-
pwd — показывает полный путь текущего рабочего каталога. Название команды — это сокращение от print working directory.
-
mkdir имя директории — создает новый каталог с указанием его имени.
-
rm имя файла — удаляет указанный файл.
-
rm -f имя файла — принудительно удаляет файл без запроса подтверждения.
-
rm –r имя директории — удаляет указанный каталог, запрашивая подтверждение перед удалением каждого элемента в его содержимом.
-
rm –rf имя директории — принудительно удаляет указанный каталог и всё его содержимое без запросов подтверждения.
-
cp — используется для копирования файлов и директорий. Название команды — сокращение от copy.
-
cp файл 1 файл 2 — создает копию для файла 1 с указанным именем (в данном случае — файл 2).
-
cp -r директория 1 директория 2 — копирует содержимое из одного указанного каталога — в другой. Если конечная директория отсутствует, то создает ее с заданным именем.
-
mv файл 1 файл 2 — переименовывает файл (1) на указанное имя (2).
-
ln -s /etc/log/file logfile — создает символическую ссылку на указанный файл.
-
touch имя файла — создает пустой файл с указанным именем.
-
cat > имя файла — создает файл с указанным именем и позволяет наполнить его содержим через STDIN — стандартный ввод (клавиатуру).
-
more имя файла — отображает содержимое файла для постраничного просмотра.
-
head имя файла — отображает первые 10 строк указанного файла.
-
tail имя файла — отображает последние 10 строк файла.
-
gpg -c имя файла — шифрует файл в формат .gpg при помощи пароля.
-
gpg -d имя файла.gpg — позволяет расшифровать зашифрованный файл формата .gpg при помощи ввода пароля к нему.
-
wc имя файла — отображает количество строк, слов и байт указанного файла.
Команды для поиска
Найти файлы и директории поможет команда find.
$ find directory-to-search criteria action, где:
-
directory-to-search — директория, в которой команда проводит поиск. Если не указать, то будет выполнена в текущем каталоге.
-
criteria — критерий, по которому будет проведен поиск;
-
action — в команде можно прописать действие для найденных файлов.
Примеры команд с find:
-
find /etc/ -name поисковый критерий — поиск в каталоге /etc файлов, имена которых начинаются с указанного критерия.
-
find /etc/ -size +50000k — поиск файлов объемом более 50 000 килобайт в директории /etc.
Найти в файлах определенный текст поможет команда grep, которая работает по следующей схеме:
$ grep [опции] шаблон [<путь к файлу или папке>], где:
-
Опции — параметры условий поиска или вывода, например учет регистра или имя файла.
-
Шаблон — строка или выражение, используемые для поиска определенного текстового элемента.
-
Путь — директория или имя файла для поиска.
Примеры команд:
-
grep ‘^h’ имя файла — находит все строки в указанном файле, которые начинаются с заданного символа (в нашем примере — «h»).
-
grep ‘\<h’ имя файла — выводит слова в указанном файле, которые начинаются с заданного символа (в примере — «h»).
-
grep -r ‘cloud’ /root — выводит все вхождения указанного слова (в нашем примере —«cloud») в директории root. Чтобы не искать двоичные файлы, для которых корректное выполнение команды маловероятно, можно добавить опцию -l. Тогда данная команда примет вид grep -rl ‘cloud’ /root.
Чтобы быстро найти файл по специальной базе данных, можно использовать команду locate. Однако она менее гибкая при поиске по критериям, чем find.
Например:
- locate имя файла — выводит все местоположения указанного файла.
Архивирование
-
tar -cf archive.tar имя файла — создает архив archive.tar для указанного файла.
-
tar -xf имя архива.tar — распаковывает указанный архив.
-
tar -xf archive.tar имя файла — извлекает из архива только указанный файл.
-
tar -zcvf archive.tar.gz /имя директории — создает архив из указанного каталога.
-
gzip имя файла — сжимает файл в архив с расширением .gz.
Установка программ из пакетов
-
rpm -i pkg_program.rpm — устанавливает на систему пакет RPM (Red Hat Package Manager) для работы в RHEL, CentOS и других системах.
-
rpm -e pkg имя пакета — удаляет пакет RPM.
-
dnf install pkg имя пакета — устанавливает пакет с помощью dnf из репозитория.
-
dpkg -i pkg имя пакета — установка утилиты управления пакетами для Debian и ее производных дистрибутивов.
-
dpkg -r pkg имя пакета — удаляет совместимый с Debian пакет.
-
apt install pkg имя пакета — устанавливает пакет из репозитория (Debian, Ubuntu, Mint и др.)
-
apt remove pkg имя пакета — удаляет пакет (Debian, Ubuntu, Mint и др.)
-
apt upgrade && apt update — обновляет пакеты и репозитории в Debian, Ubuntu, Mint и других системах.
Управление процессами
-
ps — выводит список с активными процессами и дополнительными сведениями о них.
-
ps aux | grep 'bash' — находит идентификатор процесса (PID) bash.
-
pmap -x PID — отображает расширенную информацию об использовании памяти для указанного процесса. Значение «PID» указывается числом, например pmap –x 375.
-
top — отображает список запущенных процессов на сервере в порядке убывания нагрузки.
-
hotp — также показывается нагрузку на систему, но имеет некоторые отличия. Например, позволяет использовать горячие клавиши F1—F10 и сначала устанавливается на сервер. На Ubuntu / Debian через команду
apt-get install htop; На CentOS: yum install htop. -
kill PID — завершает процесс. Значение «PID» указывается числом, например kill 375.
-
killall имя процесса — завершает все процессы с указанным именем. Команда полезна в ситуации, когда одно приложение запущено в нескольких окнах: у всех будет разный PID, который знать необязательно.
-
pkill имя процесса — находит и закрывает первый по совпадению с указанным именем процесс. Можно ввести лишь часть имени, но тогда важно не ошибиться, чтобы команда не закрыла схожий по названию процесс.
-
jobs — отображает список фоновых процессов с их номерами (указываются в квадратных скобках), PID-ами и другой информацией.
-
bg номер процесса — переводит процесс на задний план (background).
-
fg номер процесса или fg имя процесса — переводит процесс на передний план.
-
lsof — показывает список всех запущенных файлов.
-
renice 19 значение PID — устанавливает самый низкий приоритет для процесса. Приоритет можно менять от -20 до 19, где -20 — наивысший.
-
pgrep bash — находит идентификатор процесса bash.
-
pstree — отображает иерархическую структуру всех запущенных процессов.
Просмотр информации о системе
Базовые команды для получения различных сведений о системе.
-
uname — информация о системе.
-
uname -r — сведения о ядре Linux.
-
uptime — время работы системы и средняя загрузка.
-
hostname — имя хоста.
-
hostname -i — IP-адрес хоста.
-
last reboot — история перезагрузок.
-
date — дата и время.
-
timedatectl — показывает и позволяет настроить дату и время.
-
cal — показывает календарь.
-
w — отображает вошедших в систему пользователей.
-
whoami — отображает имя текущего пользователя.
-
finger root — отображает системные сведения о пользователе. Утилита устанавливается при помощи команды apt-get install finger.
Данные аппаратного обеспечения
-
dmesg — позволяет посмотреть сообщения, сгенерированные при загрузке системы: о ядре, драйверах для оборудования и другие. Также может отобразить ошибки ввода-вывода, например о подключении USB-устройств.
-
cat /proc/cpuinfo — выводит информацию о CPU: сведения о процессоре, его производителя, модель, количество и скорость ядер, а также другие данные.
-
cat /proc/meminfo — показывает подробную информацию об оперативной памяти.
-
lshw — выводит сведения о процессоре, памяти, дисках, котроллерах USB, сетевых адаптерах и других устройствах.
-
lsblk — показывает информацию о дисках и созданных на них разделах, их размерах и точках монтирования.
-
free -m — отображает объем использованной и свободной оперативной памяти в MB, а также буферы, кэш и память подкачки.
-
lspci -tv — выводит сведения о PCI-устройствах.
-
lsusb -tv — показывает USB-устройства.
-
dmidecode — отображения сведения о компонентах System Management BIOS (SMBIOS).
-
hdparm -i /dev/xda — выводит сведения о диске.
-
hdparm -tT /dev/xda — показывает скорость чтения и записи xda.
-
badblocks -s /dev/xda — проводит тест на наличие битых секторов.
Работа с дисковым пространством
-
df -h — выводит информацию о смонтированных файловых системах в табличном формате и с обозначением единиц измерения памяти.
-
df -i — показывает информацию об inodes в файловой системе.
-
fdisk -l — выводит сведения о дисках и разделах на них.
-
du -sh директория — показывает размер каталога и его файлов.
-
findmnt — отображает подключенные файловые системы в древовидном формате. findmnt -l выводит те же данные списком.
-
findmnt -t имя файловой системы — показывает только указанные файловые системы.
-
findmnt --fstab /каталог точки монтирования — отображает файловые системы с указанной точкой монтирования.
-
findmnt -p — отображает действия по монтированию и размонтированию в файловой системе.
-
mount /dev/sdb1 /mnt — монтирует диск sdb1 в каталог /mnt.
Подробнее о расширении и монтировании диска в облаке.
Информация о сетевых настройках
-
ip addr show — отображает IP-адреса доступных сетевых интерфейсов.
-
ifconfig — выводит информацию об активных сетевых интерфейсах, включая IP-адреса, MAC-адреса, статусы и другие данные.
-
whois доменное имя — показывает информацию о домене.
-
dig имя домена — выводит DNS-настройки для указанного домена.
-
host — позволяет провести различные сетевые проверки. Например, при указании имени домена покажет связанные с ним IP-адреса и наоборот.
-
host -t имя домена — находит серверы для указанного доменного имени.
-
hostname -I — показывает все сетевые адреса хоста.
-
wget ссылка на файл — загружает файл(ы) по указанному URL.
-
netstat -pnltu — предоставляет информацию о передаче данных через сетевые интерфейсы и используется для поиска неполадок. Требует предварительной установки по apt-get install net-tools.
Подробнее о командах для настройки сетевых интерфейсов в облаке.
Настройка удаленного подключения
Для удаленной настройки сервера используется безопасное соединение по протоколу SSH. В работе с ним могут помочь следующие команды.
-
ssh root@host — подключает к хосту в качестве пользователя.
-
ssh -p номер порта user@host — удаленно подключает к хосту через указанный порт.
-
ssh host — подключает к системе через SSH-порт.
-
telnet host — подключает к хосту через telnet-порт.
А еще вы можете доверить администрирование инфраструктуры, баз данных и различных сервисов нашим специалистам. Вы получите надежное решение для технических задач и сможете сократить расходы на найме штатных системных администраторов.