В данной справочной статье произведена попытка собрать в одном месте информацию об основных 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
Системные команды и установка пакетов
Простой список полезных системных команд и команд на установку пакетов:
- make / make install — установка из исходников
- uptime — аптайм сервера
- cat /proc/cpuinfo — выводит информацию о CPU
- cat /proc/meminfo — выводит информацию о памяти
- du — выводит объем («вес») текущей папки
- ps — выводит все активные процессы
- top — выводит все запущенные процессы
- Сочетание ctrl + C — помогает выйти из текущей задачи (например, из списка запущенных процессов)
Бонус: Если на сервере установлен файловый менеджер Midnight Commander — то его можно запустить командой mc. В таком случае, интерфейс консоли поменяется и будет выглядеть следующим образом:
В рамках данного файлового менеджера можно довольно удобно работать с файлами и папками, не прибегая к консольным командам.
Наверное, большое заключение в рамках данной статьи писать нет смысла, потому как статья носит справочный характер и содержит только самые необходимые для работы по SSH команды. Конечно, самих команд намного больше, но ситуации, когда может потребоваться ими воспользоваться возникают достаточно редко.