Базовые SSH команды

В данной справочной статье произведена попытка собрать в одном месте информацию об основных SSH командах, которые могут потребоваться при работе с сервером. Таким образом, данная статья — это компиляция различных материалов, прочитанных ранее автором, в рамках которой рассмотрены основные команды и не рассмотрены те, которые по мнению автора данной статьи не требуются в большинстве ситуаций. В данной статье не рассматриваются утилиты для доступа по ssh для различных операционных систем. Но, понятное дело, что и для Windows и для Linux сами команды одинаковы. У Linux для доступа по SSH есть удобная консоль, а для Windows есть программа Putty (достаточно стабильная).

Шаг 0 (и единственный в данной статье). Соединение с сервером

При соединении с сервером потребуется ввести доступы для SHH (логин и пароль). Обратите внимание, что при вводе пароля символы не отображаются. В крайнем случае можно скопировать пароль в консоль нажатием правой кнопки мыши. Данный процесс выглядит примерно так:

Если все ок и соединение с сервером успешно, то можно будет вводить сами команды.

Блок команд для навигации и работе с файлами.

pwd — полезная команда, которая покажет вам папку, в которой вы в данный момент находитесь. Пользоваться данной командой придется довольно часто. Выглядит это всё так:

ls — показывает список всех файлов и папок в данной директории

ls -al — показывает форматированный список (в т.ч. скрытых) файлов и папок в данной директории.

Результат выполнения команды:

cd — сменить директорию на домашний каталог

cd dir — сменить директорию на папку dir

Для проверки успешности выполнения команд можно воспользоваться командой pwd и использовать ls для дальнейшей навигации:

Команды для работы с папками/файлами:

  • mkdir name — создать папку name
  • rm -r name — удалить папку name
  • touch filename — создать файл filename
  • rm filename — удалить filename
  • cp filen1 filen2 — скопировать файл filen1 в filen2
  • cp -r dirn1 dirn2 — скопировать папку dirn1 в dirn2
  • more filename — показ содержимого файла. Пример выполнения команды:
  • mv filen1 filen2 — переименовать или переместить filen1 в filen2

В целом, данный набор команд достаточно полно покрывает потребности в навигации и работе с файлами через SSH.

Поиск файлов

По SSH можно довольно эффективно сканировать содержимое файлов, для этого есть специальная команда grep. Например:

grep header index.php — найдет все упоминания слова header в файле index.php. Пример выполнения команды:

grep -r header sale — будет рекурсивно искать header в папке sale

Команда locate filename — ищет все файлы с именем filename

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

Единственная команда chmod меняет права на файл или папку. Команда для установки 777 прав на папку sale выглядит следующим образом: chmod 777 sale

Работа с SQL

С помощью ssh можно снять и развернуть дамп базы данных. Пример команд:

  • mysqldump -u user -p database > newdump.sql —  Создать новый дамп базы database. Вместо user вводится имя пользователя базы данных, после -p пароль от базы.
  • mysql -u user -p database < newdump.sql — разворачивает дамп базы

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

С помощью ssh команд можно создавать и распаковывать архивы с различными алгоритмами сжатия. В данной статье рассматриваются четыре основные команды (простой tar и tar со сжатием gzip).

tar cf arch.tar afiles — создает простой tar архив с названием arch.tar, в котором содержаться afiles

tar xf arch.tar — распаковывает arch.tar

tar czf arch.tar.gz afiles – создает архив arch.tar.gz, сжатый с помощью gzip. В архиве содержаться afiles
tar xzf arch.tar.gz – распаковывает архив arch.tar.gz

Системные команды и установка пакетов

Простой список полезных системных команд и команд на установку пакетов:

  • make / make install — установка из исходников
  • uptime — аптайм сервера
  • cat /proc/cpuinfo — выводит информацию о CPU
  • cat /proc/meminfo — выводит информацию о памяти
  • du — выводит объем («вес») текущей папки
  • ps — выводит все активные процессы
  • top — выводит все запущенные процессы
  • Сочетание ctrl + C — помогает выйти из текущей задачи (например, из списка запущенных процессов)

Бонус: Если на сервере установлен файловый менеджер Midnight Commander — то его можно запустить командой mc. В таком случае, интерфейс консоли поменяется и будет выглядеть следующим образом:

В рамках данного файлового менеджера можно довольно удобно работать с файлами и папками, не прибегая к консольным командам.

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