Полезные SSH-команды

- 15 декабря 2020 года

Архивация/Распаковка

tar -zcvf имя_архива.tar.gz архивируемая_папка

Флаги означают:

  • c — создание архива
  • v — вывод информации о процессе в консоль
  • f — задание имени архива
  • x — распаковка архива
  • t — посмотреть содержимое архива

Если необходимо исключить некоторые директории из архива, например, кэш сайта, то можно использовать параметр --exclude. Его необходимо указать после имени файла архива, но до имени архивируемого каталога. Если используются символы * или ?, нужно брать значение параметра в одинарные апострофы, чтобы они передавались в tar как есть, иначе оболочка пытается подставить вместо них полный список файлов. Пример:

tar -zcvf имя_архива.tar.gz --exclude='bitrix/managed_cache/*' --exclude='logs/*' архивируемая_папка

Для распаковки архива используйте флаг x вместо c. Для полной распаковки указывается только имя архива. Если необходимо распаковать конкретную папку или файл, можно указать название папки или файла:

tar -zxvf имя_архива.tar.gz /название_папки/название_файла

Чтобы указать конечную директорию, в которую будет распакован архив, используется дополнительный параметр -C:

tar -zxvf имя_архива.tar.gz -C /название_папки

Для просмотра содержимого архива без распаковки используйте флаг t.

Диагностика занимаемого пространства

Проверить занятое и свободное пространство: команда df -h /

Проверить, сколько занимает та или иная папка du -hs /*

Вместо /* можно указывать директорию, относительно которой будет отображаться размер дочерних папок, например, /usr/*

Установка прав на файлы и папки

Найти все директории и установить для них права 755: find . -type d -exec chmod 0755 {} ';'

Для файлов: find . -type f -exec chmod 0644 {} ';'

Задать пользователя и группу: chown -R user:group ./

Sudo

На некоторых боевых конфигурациях серверов многие команды не будут работать без входа в sudo режим. Для этого нужно написать sudo su и ввести пароль юзера.

Копирование файлов

Иногда требуется скопировать все файлы и папки из одной папки в другую. Для этого можно использовать команду: cp -av /source/. /dest/

Флаги означают:

  • a — сохранять все атрибуты, ссылки,  и копировать рекурсивно
  • v — вывод информации о процессе в консоль

Копировать файлы можно и с одного сервера на другой, например, когда нужно перенести сайт. Формируется бэкап на сервере (см.выше Архивация файлов), и переносится путём одной простой командой: scp username@host:/remote/path/filename /dest/path/. После ввода команды потребуется лишь указать пароль к удалённому серверу. Таким образом можно переносить файлы с удалённого сервера на свой, и обратно.

Ограничения: на сервере должна быть доступна утилита scp, а также ssh-доступ под паролем без дополнительных ключей безопасности.

Понравилось? Поделитесь статьей в социальных сетях:

На нашем сайте используются файлы cookies, которые делают его более удобным для каждого пользователя. Посещая страницы сайта, вы соглашаетесь с нашей Политикой конфиденциальности. Подробнее ознакомиться с политикой и тем, для чего именно необходимы файлы cookies, можете узнать здесь

Walnut Team
Начать проект