Выполнение команд по ssh

Выполнение команд по ssh Хостинг

SSH — это протокол для установки связи между PC и сервером. Команды SSH, или как их еще называют «команды для PuTTY», — это инструкции для управления различными функциями сервера. С технической точки зрения, это примерно то же самое, что управлять компьютером на базе Linux через терминал. Принципиальное отличие лишь в том, что для управления сервером сначала нужно установить с ним дистанционное соединение, а уже потом переходить к работе. На локальной «машине» этот этап можно пропустить. Но речь не о ней, и мы снова возвращаемся к SSH.

Еще раз отмечу, что речь идет о подключении к серверу на базе Linux, и все описываемые ниже утилиты работают именно на нем.

Содержание
  1. Подключение к серверу через SSH
  2. Если у вас macOS или Linux
  3. Если у вас Windows
  4. Управление протоколом SSH
  5. Работа с командной строкой, горячие клавиши и дополнительные символы
  6. Сетевые функции и параметры сервера
  7. Работа с текстом
  8. Навигация и управление файловой системой
  9. Системные компоненты и данные
  10. Управление пользователями
  11. Редактирование прав
  12. Установка, обновление и удаление пакетов
  13. Apt (в Debian, Ubuntu и им подобных)
  14. Dnf (в Red Hat Linux, CentOS, Fedora)
  15. Pacman (в Arch Linux и Manjaro)
  16. Алиасы
  17. Полезные алиасы
  18. Прочее
  19. Вывод содержимого директории
  20. Перемещение между директориями
  21. Действия с файлами и каталогами
  22. Создание файлов
  23. Копирование файлов и каталогов
  24. Перемещение и переименование файлов
  25. Удаление файлов и каталогов
  26. Создание ссылок
  27. Изменение прав доступа к файлам и директориям
  28. Работа с содержимым файлов
  29. Поиск по содержимому файла
  30. Поиск файлов
  31. Архивы
  32. Базы данных
  33. Завершение работы процессов
  34. Дисковое пространство
  35. Другие вспомогательные команды
  36. Сочетания клавиш
  37. Где скачать PuTTY
  38. Как настроить PuTTY
  39. Как подключиться по SSH
  40. Основные команды PuTTY
  41. Как подключиться к серверу без пароля
  42. Скопировать файл на локальную машину
  43. Передача файлов по ssh
  44. Копирование каталога по SSH
  45. Выполнение команд на удаленном Linux сервере
  46. Запуск нескольких команд через SSH
  47. Выполнение скрипта на удаленном Linux сервере

Подключение к серверу через SSH

Мы уже выяснили, что представляет собой SSH и команды для него. Теперь установим соединение с сервером.

Естественно, перед началом надо арендовать виртуальный хостинг или VDS у одного из доступных провайдеров. У Timeweb, к примеру.

Если у вас macOS или Linux

Все. Соединение установлено, можно переходить к работе непосредственно с сервером.

Если у вас Windows


Выполнение команд по ssh

Управление протоколом SSH

У команды для подключения к удаленному PC по SSH есть две важных опции:

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Работа с командной строкой, горячие клавиши и дополнительные символы

Базовые методы управления текстом в терминале.

clear — удаляет из текущий сессии терминала все ранее выведенные в него данные, содержимое открытых документов и историю использованных команд. Используется, когда нужно четко лицезреть вывод конкретной операции.

history — показывает ранее использованные приложения и инструменты. Без дополнительных аргументов отображает 10 элементов. Но их количество можно изменить вручную, добавив к слову history любое число. history 13, к примеру.


Выполнение команд по ssh

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

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

Не совсем команды, но тоже текстовые элементы, причем полезные.

; — разделитель, необходимый, чтобы активировать сразу несколько команд подряд. Это выглядит так: cd ~/Documents; mkdir Novaya_papka; rmdir Staraya-papka. Команды будут выполняться друг за другом независимо от результата выполнения каждой из них.

&& — то же самое, что и ;, но с важным нюансом. Команды, соединенные с помощью &&, будут выполняться друг за другом, только если предыдущая завершилась успешно. Синтаксис аналогичный:

sudo apt-get update && sudo apt-get install wget

~ — сокращение от /home/имя учетной записи/. Часто фигурирует в инструкциях.

Парочка полезных сочетаний клавиш.

Стрелка вверх — показывает предыдущую команду.

Ctrl+C — прерывает запущенный процесс.

Ctrl+A — перемещает курсор в начало строки.

Ctrl+E — перемещает курсор в конец строки.

Сетевые функции и параметры сервера

Утилиты и инструменты для вебмастеров и администраторов.

apachectl startssl — запускает сервер Apache (если вы его используете, конечно).

apachectl stop — выключает Apache.

apachectl restart — перезапускает Apache.

/usr/local/etc/rc.d/mysql-server restart — активирует скрипт перезапуска системы MySQL.

mysqldump -u имя учетной записи -p пароль от учетной записи -D название базы данных < путь до базы данных — создает резервную копию выбранной базы данных.

mysql -u имя учетной записи -p пароль от учетной записи -D название базы данных < путь до базы данных — импортирует выбранную базу данных в базу данных на MySQL на указанном сервере.

w — показывает, сколько людей вошли в систему и другие полезные данные. Текущее время в часовом поясе сервера, его аптайм (то есть время работы без сбоев с последней перезагрузки) и как долго каждый из вошедших аккаунтов находится в системе.


Выполнение команд по ssh

ps — вводится вместе с аргументом -e для распечатки в терминал информации обо всех запущенных процессах вместе с их PID-кодами. Обычно активируются в тандеме с grep. К примеру, чтобы найти запущенный текстовый редактор vi, вводим:

top — программа, отображающая информацию о запущенных процессах. Сколько памяти они занимают, какую нагрузку дают на процессор, какой у них PID-код и время работы каждого. Это что-то в духе диспетчера задач в Windows.

kill — завершает один процесс (указывается с помощью PID-кода). kill работает следующим образом: сначала вписываем саму команду, а потом PID-код программы, которую нужно закрыть. Покажу на примере. Я хочу выключить проигрыватель Spotify, который работает в фоновом режиме. Диспетчер задач top говорит, что PID Spotify равняется 6199. Соответственно, чтобы его выключить, надо ввести в терминал:

Важно отметить, что каждый kill отправляет процессу определенный сигнал. По умолчанию это SIGTERM. Такой сигнал разрешает программе завершить начатые дела, сохраниться и только потом выключиться. Но если указать вручную сигнал SIGKILL, то приложение прекратит работу моментально, не сохраняя какой-либо прогресс.

killall — отличается от kill тем, что может «убить» программу, даже не зная ее PID. Все, что нужно killall — название утилиты. Он также поддерживает различные типы сигналов вроде SIGTERM и SIGKILL. А еще он забирает с собой все зависимые процессы.

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

ping — рассказывает, может ли ваш сервер «достучаться» до другого сервера (указывается в команде с помощью адреса или доменного имени). Синтаксис такой: ping адрес сервера, соединение с которым надо проверить. Например, чтобы проверить статус подключения к Timeweb, введем в терминал: ping timeweb.com, а к официальному сайту Apple — ping apple.com.

traceroute — аналог Ping, но более сложный. Программа показывает доступные варианты настройки при первом запуске. Параметры там не из простых, поэтому traceroute больше подходит опытным вебмастерам и администраторам.

dig — показывает DNS-серверы, связанные с конкретным доменным именем. Например, я хочу посмотреть DNS-серверы официального сайта Apple. Для этого введу в терминал: dig apple.com. Для других ресурсов остается поменять доменное имя.


Выполнение команд по ssh

telnet — альтернативный протокол связи между серверами, который используется вместо SSH.

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

time — как ни странно, отображает вовсе не время. Вернее время, но не в плане часов, а в плане временных затрат на исполнение какой-либо задачи. По сути, вычисляет, как долго длится запуск выбранной программы. Чтобы ее запустить, пишем: time команда, скорость исполнения которой надо проверить. time может быть полезна для разработчиков, тестирующих свои продукты и пытающихся достичь наименьшего времени запуска.

nc — сокращение от netcat. Это настоящий комбайн для работы с сетью. Проще сказать, что эта утилита не умеет, чем перечислить ее возможности. Люди используют ее для передачи данных с одного сервера на другой, наблюдают за сетевыми портами и меняют их параметры, запускают полноценные часты без графической оболочки на базе netcat. Даже разворачивают простенькие веб-серверы аналогичным образом. Продукт громоздкий, универсальный и требующий тщательного ознакомления с официальной документацией. По-другому не разобраться.

netstat -lptnu — отображает «слушающие» сетевые порты TCP, UPD и PID-код процессов, слушающих эти порты.

reboot — перезапуск сервера целиком. Речь идет о выключении и повторном включении удаленного PC. Альтернативой может послужить shutdown -r. Часто вместо этих команд используют специальную кнопку в панели управления хостингом. Для начинающих вебмастеров это более удобный и безопасный метод перезагрузки удаленного «железа».

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

Читайте также:  Топ 10 бесплатных программ для удалённого доступа

Работа с текстом

Парочка полезных команд для взаимодействия с любыми видами текстов на сервере через SSH.

cat — показывает текст из выбранного файла. В качестве аргумента передаем этой утилите текстовый документ, и cat выведет в консоль его содержимое. Синтаксис:

cat путь до файла, содержимое которого надо осмотреть

Чтобы взглянуть на содержимое файла timeweb.txt, который лежит на рабочем столе, напишем в терминал:

head — это «голова». Она работает по схожему с cat принципу. Отображает текст из файлов, где он имеется. Разница заключается в количестве отображаемого контента. Пользователь сам выбирает, сколько строчек текста вывести на экран, поставив аргумент -n. Команда head -n 4 ~/Documents/timeweb.txt покажет только первые четыре строки документа timeweb.txt из папки Documents.


Выполнение команд по ssh

tail — это «хвост». Работает, как head, но с противоположной стороны. Команда tail -n 8 ~/Documents/timeweb.txt покажет только первые восемь строк документа timeweb.txt из папки Documents.

touch — одна из множества команд для SSH, которую используют не по назначению. У нее весьма специфичная задача по изменению времени последнего открытия отдельных элементов файловой системы. Но ее быстро перепрофилировали чуть ли не в стандартный метод создания файлов. touch ~/Desktop/timeweb.html создаст HTML-документ с именем Timeweb на рабочем столе.

vi — используя с дополнительными аргументами, можно создавать новые текстовые файлы. Например vi /путь до директории, где нужно создать новый текстовый файл/. Или же редактировать уже существующие. Чтобы изменить содержимое какого-нибудь файла в домашней папке, надо ввести: vi /home/имя учетной записи/kakoy-to-tekstoviy-file.txt. Альтернативой vi может служить nano. Более современный и лояльный к новичкам редактор. К сожалению, может отсутствовать в системе по умолчанию и требовать установки.

wc путь до файла — показывает количество символов, количество строк и слов в выбранном текстовом документе.

diff — сравнивает два файла и наглядно показывает строки, в которых обнаружились различия. Синтаксис: diff название первого файла название второго файла. Это может выглядеть так:

diff timeweb-1.html timeweb-2.html

Команды, необходимые для перемещения и ориентирования в файловой системе сервера. А еще для перемещения, копирования и удаления файлов. В общем, все, что вы делали бы в файловом менеджере, но через терминал.

cd — отправляет вас в любую папку на выбор. Синтаксис: cd путь до нужной директории. Если хочется на рабочий стол, то пишем: cd ~/Desktop. Вернуться в предыдущую папку? cd-. Перепрыгнуть в home? Просто вводим: cd без аргументов.

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

pwd — укажет путь до папки тем, кто заблудился. Если вы находитесь в папке Документы, то вывод pwd будет выглядеть вот так /home/имя пользователя/Documents. И так для любого каталога, в котором вы окажетесь.

file — покажет, что собой представляет файл. Фишка утилиты в том, что она демонстрирует разную информацию для разных типов файлов. К примеру, может дать подробные EXIF-данные для фотографий, включая разрешение и битность изображения.

mv — изначально использовалась для того, чтобы перемещать файлы из одного места в другое. mv ~/Desktop/timeweb.html ~/Documents переносит HTML-документ Timeweb с рабочего стола в документы. Но пользователи приноровились использовать mv для смены имени файлов. mv ~/Desktop/timeweb.html timeweb-2.html оставляет документ на месте, но меняет его название.

cp — создает копию выбранного файла в другом каталоге. cp ~/Documents/timeweb-file.txt /home/Webmaster/Desktop копирует документ с названием timeweb-file.txt на рабочий стол того же пользователя.

dd — управляет разделами. С ее помощью можно делать копии разделов: dd if=/dev/sda of=/dev/sdb. Можно перемещать разделы. Удалять их без возможности восстановления: dd if=/dev/zero of=/dev/sdX (в качестве раздела для «уничтожения» тут указана флешка). Копирование разделов подразумевает их запись на сторонние носители. Например, запись iso-образов на внешние накопители: dd if=~/Desktop/fedora-14.6.iso of=/dev/sdX bs=4M. if здесь — это путь к образу, а of — путь к смонтированному разделу (флешке).

rm — удаляет папки и все, что сможет в них найти. « Уничтожает» все субдиректории, документы, картинки, медиа. Вообще все, без возможности восстановления. Синтаксис:

rm путь до каталога, который надо вычистить вместе со всеми «внутренностями»

mkdir — создает новую папку. Синтаксис: mkdir путь_до каталога,_где_нужно_создать_новую_директорию название_для_этой директории. Если надо сделать на рабочем столе папку Timeweb, то пишем:

rmdir — удаляет директории. Не имеет права трогать их содержимое, поэтому отзовется ошибкой, если в удаляемой папке найдутся еще какие-то элементы. Перед использованием rmdir объект надо очистить.

zip — архивирует один или несколько файлов один файл в формате .zip. Синтаксис: zip название архива.zip путь до файла, который надо упаковать. К примеру:

zip noviy-archive.zip /home/me/soderzhimoe-archiva.txt

unzip — вытаскивает содержимое архива наружу. Работает по тому же принципу: сначала команда, потом путь до архива, который надо распаковать. Еще можно добавить опцию -d, чтобы удалить файлы из архива по завершении распаковки.

find — ищет файлы и папки по всей файловой системе. Умеет находить их по названию и по типу, но это зависит от выставленных опций. find -type d -name Timeweb будет искать только директории с именем Timeweb.

mount — монтирует образ или раздел диска. Синтаксис:

mount путь до раздела, что нужно смонтировать

unmount — «демонтирует» образ или указанный раздел. Синтаксис:

unmount путь до раздела, что нужно отмонтировать

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

Утилиты, делящиеся разного рода справочной информацией с администратором компьютера.

df — отображает количество свободного пространства на жестком диске. Правда, в неудобном формате, в виде блоков. Поэтому обычно эту утилиту используют вкупе с опцией -m, чтобы конвертировать данные в привычные и удобоваримые мегабайты.


Выполнение команд по ssh

du — показывает, сколько весит конкретный элемент файловой системы. Чтобы узнать, сколько места занимает timeweb.html на моем рабочем столе, введу в терминал следующее: du ~/Desktop/timeweb.html. По пути столкнусь с той же проблемой, что сталкивался при работе с df. Опять эти блоки. Меняем на мегабайты с помощью ключа -h. Получится du -h ~/Desktop/timeweb.html

free — это df для оперативной памяти. Показывает, сколько свободно и сколько используется.

uname — рассказывает подробности о системе. Обычно используется с аргументом -a, чтобы вывести сразу все данные, включая время и разрядность установленной операционной системы. А вообще можно по отдельности доставать что-то конкретное – имя ядра через опцию -s, имя ноды через опцию -n, тип процессора через опцию -p.


Выполнение команд по ssh

date — показывает дату и время, как uname. Только с фокусом на конкретной информации и без необходимости использовать дополнительные опции. Но при желании формат даты и времени можно строго задать вручную.

cron — планировщик задач. Используется, чтобы задать конкретную дату и время для выполнения скриптов и запуска команд. Настраивается в панели управления хостинга.

Управление пользователями

Так как Linux заточена под использование большим количеством людей одновременно, разработчики придумали для нее продвинутую иерархию пользователей. У каждого свой набор прав и свои возможности. И есть целый набор команд для работы с ними. Рассмотрим главные.

passwd — задает пароль для учетной записи. Работает вкупе с предыдущей командой. То есть сразу после создания аккаунта, пишем: passwd имя новой учетной записи. После этого система попросит придумать и указать пароль для новой учетной записи.

Система безопасности в Linux не показывает во время ввода пароля даже звездочки, но это не значит, что он не вводится. Продолжайте набирать вслепую, а как закончите, нажмите Enter, и все сработает. И не бойтесь запутаться, вас попросят повторить придуманный пароль.

Редактирование прав

Все, что нужно для разрешения проблем, связанных с правами в Linux.

sudo — выдает права суперпользователя. Используется перед любой командой, если нужно выполнить ее от имени администратора. Многие программы и операции запускаются исключительно при наличии этих прав, так что sudo используется часто. Например, чтобы обновить список пакетов в Fedora, введем: sudo dnf update. При этом система запросит пароль администратора.

sudo su — на время превращает все вводимые в терминал команды в команды суперпользователя. Пригодится, если предстоит вносить много изменений в системные файлы, которые нельзя редактировать без соответствующих прав.

sudo !! — запускает предыдущую команду от имени администратора. Пригодится, если уже ввели команду, требующую прав суперпользователя, но забыли их затребовать. Не придется вводить весь текст заново. Достаточно сокращенной версии.

chmod — корректирует права доступа к выбранному файлу. Применяется исключительно с набором опций, обозначающих список прав. Допустим, я хочу выдать права на чтение и запись файла Timeweb.html на рабочем столе. Для этого введу в терминал: chmod 777 ~/Desktop/timeweb.html. Теперь его можно открывать и редактировать. Аналогичным образом пользователи поступают с системными файлами, когда приходит время что-то в них менять. По умолчанию большая их часть защищена от записи.

chown — назначает владельца для выбранной директории, документа, картинки или любого другого элемента в файловой системе. Синтаксис следующий: chown имя учетной записи, которому надо передать права путь до файла, права на который нужно передать. На примере этого может выглядеть следующим образом: есть пользователь Timeweb, которому я хочу передать права на файл timeweb-file.txt с рабочего стола. Сделаю это командой:

Читайте также:  Устранение неполадок в журналах агента Zabbix: советы и рекомендации

chown Timeweb ~/Desktop/timeweb-file.txt

Установка, обновление и удаление пакетов

В Linux почти все программное обеспечение имеет открытый исходный код, поэтому в большинстве своем распространяется через открытые репозитории. Для его загрузки и установки используются менеджеры пакетов. В каждом семействе дистрибутивов он свой.

Apt (в Debian, Ubuntu и им подобных)

sudo apt-get install название пакета — устанавливает пакет из подключенных репозиториев. Ищется по названию и версии.

sudo apt remove название пакета — удаляет из системы установленный пакет.

sudo apt purge название пакета — удаляет установленный пакет и вместе с ним уничтожает все зависимые данные. От приложения не остается никаких следов. Такой вариант подходит, когда нужна полная переустановка пакета «с нуля».

sudo apt autoremove — автоматически выполняет уборку среди установленных пакетов, убирая ненужные остатки кода.

sudo apt-add-repository адрес репозитория — подключает к системе дополнительный репозиторий с пакетами, не вошедшими в базу репозиториев по умолчанию. Требуется для установки некоторых редких open-source-приложений.

sudo apt-get update — обновляет информацию о пакетах, имеющихся в системе и тех, что хранятся в подключенных репозиториях.


Выполнение команд по ssh

sudo apt-upgrade — обновляет версии установленных пакетов до самых свежих, доступных в подключенных репозиториях.

Dnf (в Red Hat Linux, CentOS, Fedora)

sudo dnf install название пакета — устанавливает программу на выбор.

sudo dnf config-manager –add-repo адрес репозитория — подключает к системе дополнительный репозиторий.

sudo dnf upgrade — обновляет версии установленных пакетов до самых свежих, доступных в подключенных репозиториях.

sudo dnf remove название пакета — стирает с жесткого диска имеющийся в системе пакет.

sudo dnf autoremove — разыскивает мусор среди имеющихся пакетов и в автоматическом режиме вычищает его.

Pacman (в Arch Linux и Manjaro)

sudo pacman -S название пакета — устанавливает пакет на выбор.

sudo yaourt -S название пакета — устанавливает пакет на выбор из репозитория AUR.

sudo pacman -Sy — обновляет информацию о пакетах, имеющихся в системе и тех, что хранятся в подключенных репозиториях.

sudo pacman -Syu — обновляет версии установленных пакетов до самых свежих, доступных в подключенных репозиториях.

sudo pacman -R название пакета — стирает с жесткого диска имеющийся в системе пакет.

sudo pacman -Rs название пакета — стирает не только установленное приложение, но и все зависимые от него элементы.

Алиасы

Алиасы — сокращенные формы команд. Заметно экономят время и улучшают восприятие. Особенно когда в алиасах прячутся громоздкие скрипты. backupmsql выглядит проще и легче запоминается, чем mysqldump -u имя учетной записи -p пароль от учетной записи -D название базы данных < путь до базы данных.

Процедура создания алиаса сводится к следующему синтаксису: alias сокращение=‘команда, которую надо сократить’

Например: alias supd=‘sudo apt-get update’. Теперь обновлять информацию о пакетах можно сокращенной версией команды.

Полезные алиасы

Далее последуют алиасы, которые часто используются начинающими линуксоводами и администраторами:

alias h=‘history’ — для вызова истории вводом одной буквы. Алиас можно немного усложнить, добавив какое-либо числовое значение. Допустим, сделать alias h25=‘history 25’, чтобы вывести в консоль сразу 25 предыдущих команд.

alias diff=‘colordiff’ — добавляет цвет, чтобы элементы сравнения легче было распознавать.

alias edit=’sudo nano’ — упрощает доступ к редактированию текста от имени администратора.

alias ping=‘ping -c 5’ — уменьшает количество пакетов, передаваемых через Ping, до 5 штук.

alias update=’sudo apt-get update && sudo apt-get upgrade’ — сокращение, помогающее сначала обновить информацию о пакетах, а потом установить свежие версии с помощью одной короткой команды вместо двух больших. Только в случае с другими дистрибутивами надо скорректировать обе, заменив наименования пакетных менеджеров. Для Fedora это будет dnf, к примеру.

Прочее

Это бонус для развлечения. Шутка от разработчиков Linux, не несущая пользы.


Выполнение команд по ssh

cowsay -l — демонстрирует всех животных, которые могут с вами пообщаться в том случае, если вам почему-то не приглянулась корова.

sudo название менеджера пакетов install fortunes fortune-mod fortunes-min fortunes-ru — учит животных говорить на русском.

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

В данной статье рассматриваются основные команды, используемые при работе с файлами и директориями при подключении к серверу по SSH-протоколу.

Для подключения можно использовать терминал в вашей ОС, утилиту или же веб-консоль в панели управления. Подробнее см. в статье статье «Подключение по SSH

Обратите внимание, что команды необходимо вводить в нижнем регистре. Например, pwd — корректное имя команды, Pwd

Для вывода информации о текущей рабочей директории используется команда pwd.

Вывод содержимого директории

Чтобы посмотреть содержимое директории, воспользуйтесь командой ls.

Вывод содержимого текущей директории в несколько колонок (только имена файлов и директорий):

Вывод содержимого текущей директории в одну колонку (только имена файлов и директорий):

Вывод подробной информации о содержимом текущей директории, включая скрытые файлы (имя которых начинается с точки):

Вывод содержимого конкретной директории:

где «.» — текущий каталог, а «.» — родительский каталог.

Перемещение между директориями

Команда cd позволяет выполнить переход в другую директорию.

Основные способы применения:

Перейти в директорию, которая находится в текущей директории:

Перейти в родительский каталог (на уровень выше):

Перейти в домашний каталог:

Перейти в домашний каталог по абсолютному пути (начиная с корня):

Перейти в предыдущий каталог:

# Текущая директория отображается после двоеточия и до символа «$».

Действия с файлами и каталогами

Команда для создания директорий — mkdir.

Создать сразу несколько директорий:

mkdir имя_директории1 имя_директории2

Создать дерево директорий:

mkdir -p /имя_директории1/имя_директории2

Создание файлов

Для создания файлов можно использовать различные команды, например:

Создать новый файл при его отсутствии (если файл существует, содержимое файла не изменяется):

Создать новый файл при его отсутствии (если файл существует, то команда удаляет его содержимое):

Создать новый файл при его отсутствии и записать в него строку «test» (если файл существует, то команда заменяет его содержимое на строку «test»):

Вы можете выбрать удобный для вас способ или использовать любой другой.

Также можно создать файл с помощью текстового редактора. На наших серверах доступен nano:

При этом файл сразу будет открыт для редактирования.

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

Копирование каталогов и файлов осуществляется с помощью команды cp.

Скопировать файл test.txt в файл test1.txt (файл test.txt должен присутствовать в текущей директории):

cp test.txt test1.txt

Скопировать директорию dir1 в директорию dir2, включая всё содержимое (ключ -r означает рекурсивное копирование, директория dir1 должна присутствовать в текущей директории):

cp -r dir1 dir2

Перемещение и переименование файлов

Перемещение и переименование файлов выполняется при помощи команды mv.

Переименовать файл test.txt в test2.txt (файл test.txt должен присутствовать в текущей директории):

mv test.txt test2.txt

Переместить файл test2.txt в директорию dir (файл и директория должны присутствовать в текущей директории):

mv test2.txt dir

Удаление файлов и каталогов

Для удаления объектов используйте команду rm.

Удалить файл test.txt в текущем каталоге:

Удалить все файлы в определенной директории:

Удалить все файлы с расширением .txt в определенной директории:

Удалить директорию и все ее содержимое:

rm -r имя_директории

Для того, чтобы при удалении каждого файла запрашивалось подтверждение, можно использовать ключ -i:

rm -i /путь/к/файлам/*.txt

Если же файлов много и вы точно уверены в необходимости их удаления, можно использовать противоположную опцию -f, тогда удаление будет выполнено без подтверждения:

rm -f /путь/к/файлам/*.txt

Создание ссылок

Ссылки при работе по SSH-протоколу создаются командой ln.

Создать жёсткую ссылку:

ln file1 file2

Создать символьную ссылку:

ln -s file1 file2

Изменение прав доступа к файлам и директориям

Команда chmod позволяет настроить права доступа к файлам и директориям.

Изменение прав на xxxx для файла file (file должен существовать в текущей директории):

chmod xxxx file

Изменение прав на xxxx для директории dir (dir должна существовать в текущей директории):

chmod xxxx dir

Работа с содержимым файлов

Команда cat позволяет выполнить конкатенацию (объединение) содержимого файлов и печать его в стандартный поток вывода. Данная команда зачастую используется просто для просмотра содержимого файла.

Данную команду можно использовать в сочетании с командами head и tail для вывода определённого количества строк от начала или конца файла соответственно.

Данные команды позволяют вывести 2 первых строки и 1 последнюю строку файла  test.txt.

Поиск по содержимому файла

grep — это популярная команда, позволяющая найти содержимое файлов.

Например, у нас есть файл test1.txt, который имеет следующее содержимое:

1 first string2 second string3 another example of a string4 something in here5 andalsohere

Примеры использования grep:

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

Поиск файлов

Используйте команду find, чтобы найти нужный файл.

Поиск файлов и каталогов с именем «test» в текущей директории:

Читайте также:  Как настроить выделенный сервер

find ./ -name ‘test’

Поиск в текущей директории файлов и каталогов, имена которых начинаются на «test» и далее содержат любое количество любых символов:

find ./ -name ‘test*’

Поиск в домашней директории файлов и каталогов, имена которых начинаются на «test» и далее содержат любое количество любых символов:

find ~/ -name ‘test*’

Поиск файлов с расширением «.php» в домашней директории:

find ~/ -name ‘*.php’

Архивы

Создать архив директории:

tar -cf имя_архива.tar имя_директории

Распаковать архив .tar в текущую директорию:

tar -xvf архив.tar

Процесс создания или распаковки тяжелых архивов может завершаться принудительно в связи с установленными ограничениями на использование процессами процессоров сервера.

В таких случаях для архивирования в .tar вы можете использовать следующую команду, которая позволит ограничить скорость архивации и снизить использование ресурсов процессора.

Для удобства команда может быть расширена, чтобы отобразить в консоли счетчик времени, оставшегося до завершения процесса, и вывести уведомление (END) о его завершении (позволит проконтролировать, что процесс не прервался и был выполнен успешно).

Для распаковки большого архива .tar можно воспользоваться командой:

Аналогично для распаковки архивов .tar.gz:

Распаковка .tar.gz с уведомлением о завершении:

Распаковать архив .rar в текущую директорию:

unrar x архив.rar

Распаковать архив .zip в текущую директорию:

Для распаковки тяжелых .zip-архивов:

Базы данных

Создание дампа базы данных:

Импорт данных из дампа в базу данных:

mysql -u’база_данных’ база_данных -p’пароль_базы_данных’ < имя_дампа.sql

Проверка базы данных на наличие ошибок:

mysqlcheck -c -u’база_данных’ база_данных -p’пароль_базы_данных’

Восстановление базы данных при наличии ошибок:

mysqlcheck -r -u’база_данных’ база_данных -p’пароль_базы_данных’

Подробнее о восстановлении баз данных и решении возможных ошибок см. в статье Восстановление базы данных.

Подключение к серверу баз данных:

mysql -u имя_базы_данных -p

Нажмите Enter, после чего введите пароль базы.

Получение информации о параметрах MySQL:

SHOW VARIABLES LIKE ‘параметр’;SHOW SESSION VARIABLES LIKE ‘параметр’;

# Например:SHOW SESSION VARIABLES LIKE ‘max_join_size’;

Завершение работы процессов

Завершить текущие процессы можно командой killall. Например, для завершения процессов веб-сервера Apache:

killall -9 apache2

Обратите внимание! После выполнения данной команды для перезапуска обработчиков Apache необходимо изменить версию обработчика php в разделе «Сайты».

Аналогично для других сервисов, например:

killall -9 vsftpd

Завершение процесса MySQL:

Для просмотра процессов MySQL используйте:

Для завершения процессов MySQL можно также использовать утилиту pt-kill.

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

Вывод информации о текущей дисковой квоте (в квоту не включается информация по базам данных):

Вывести размер файлов и директорий в текущем каталоге:

du -sch *

Анализ дискового пространства аккаунта (сканирует корневой каталог):

Просканировать файлы конкретную директорию:

Подробнее об использовании утилиты ncdu смотрите в статье Анализ дискового пространства.

Другие вспомогательные команды

Вывод истории команд:

Очистить экран (сочетание клавиш Ctrl-L):

Закрыть подключение по SSH (сочетание клавиш Ctrl-D):

Сочетания клавиш

Подключение между двумя компьютерами в среде Linux осуществляется через SSH. Это сетевой протокол прикладного уровня, производящий удаленное управление ОС и туннелирование TCP-соединений. Его использование обусловлено простотой и надежностью, что позволяет выполнять безопасное подключение к серверу.

Где скачать PuTTY

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


Выполнение команд по ssh

Скачиваем инсталлятор и запускаем его. Перед нами отобразится окно приветствия – кликаем по кнопке «Next» до конечного пункта. По пути мы также можем изменить местоположение программы, а также добавить или исключить некоторые функции PuTTY.


Выполнение команд по ssh

После успешной установки в меню «Пуск» появится новый ярлык под названием PuTTY – с ним мы и будем работать в последующих разделах.

Как настроить PuTTY

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


Выполнение команд по ssh

Программа включает в себя 4 основных раздела:

Нам потребуется всего две вкладки: Session и SSH. Первым делом перейдем ко второй и убедимся, что версия протокола стоит в значении «2». Как правило, сейчас используется понятие SSH-2, так как первая версия практически не применяется из-за существенных недостатков, например, ошибки в схеме обеспечения безопасности.


Выполнение команд по ssh

Вернемся к разделу Session, где находятся основные параметры, которые потребуются нам для подключения к серверу по SSH. Давайте немного остановимся и поговорим о них:

Как видите, в настройках PuTTY нет ничего сложного. Теперь давайте перейдем к подключению по протоколу SSH.

Как подключиться по SSH

Подключаемся по SSH:

Таким образом мы подключились к ПК на операционной системе Linux. Здесь мы можем вводить команды и удаленно взаимодействовать с компьютером.

Основные команды PuTTY

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

ls — предназначена для вывода файлов, содержит в себе набор команд:

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


Выполнение команд по ssh

mkdir — позволяет создать одну или несколько директорий с указанным именем. Например, mkdir mdir1 mdir2 mdir3 добавит сразу 3 директории.

pwd — при первом запуске терминала мы оказываемся в домашнем каталоге пользователя. Если вдруг каталог был изменен, то проверить это можно с помощью данной команды.

man и —help — нужны для того, чтобы узнать информацию о команде и о том, как ее можно использовать (man). Например, «man cat» покажет доступную информацию о команде cat. Ввод имени команды и аргумента помогает показать, каким образом можно использовать команду, например, cd –help.

locate — предназначена для поиска файла в системе Linux.

Это была лишь небольшая часть команд, которые можно использовать при подключении по SSH. Если вы только начинаете изучать основы администрирования серверов, то этого списка будет достаточно.

Как подключиться к серверу без пароля

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

Готово! Теперь при повторном входе на сервер авторизация не потребуется. Главное – сохранить настройки сессии, чтобы не вводить ключ каждый раз.

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

SSH — протокол и средство работы с консолью Unix и ОС на базе Linux, поддерживаемое любой современной Linux или Unix системой. Знать основные команды, которые вы можете использовать при работе через SSH полезно, даже если вы не собираетесь заниматься администрированием, но по какой-то причине работаете с удаленным компьютером на базе Linux. Например, это может пригодится при управлении хостингом своего сайта через SSH — многие хостинг компании предоставляют такую возможность.

Про основные команды Linux (Ubuntu) или Unix (FreeBSD), которые вы можете использовать в SSH — su, sudo, w, df, du, ifconfig, ping, ps, top, kill, man, passwd, ls, pwd, less, chmod, chown, tar — вы можете прочитать в статье http://itman.in/komandy-linux-i-unix-konsoli/.

Для копирования файлов по SSH используется команда SCP. Обратите внимание: если во время копирования файл назначения уже существует, SCP перезапишет его. Если файл назначения еще не существует, тогда создается пустой файл, ему задается имя файла назначения и уже в него записывается содержимое копируемого файла.

Скопировать файл на локальную машину

Копируем файл «file.txt» из удаленного сервера на локальный компьютер:

Передача файлов по ssh

Копируем файл «file.txt» с локального компьютера на удаленный сервер.

Копируем файл «file.txt» с одного удаленного сервера «remote.host1» на другой удаленный сервер «remote.host2».

Копируем файлы «file1.txt» и «file2.txt» с локального компьютера в Ваш домашний каталог на удаленном сервере.

Копируем файл «file.txt» с локального хоста на удаленный хост с нестандартным портом SSH (используя порт 2222).

Копируем файл «file.txt» с локального компьютера в Ваш домашний каталог на удаленном сервере. Сохраняем время изменения и время доступа и права копируемого фала.

Копируем файл «file.txt» с локального компьютера в Ваш домашний каталог на удаленном сервере. Увеличиваем скорость работы SCP изменяя алгоритм шифрования с AES-128 (по умолчанию) на Blowfish.

Копируем файл «file.txt» с локального компьютера в Ваш домашний каталог на удаленном сервере. Ограничиваем ширину канала используемого командой SCP до 100 Kbit/s.

Копирование каталога по SSH

Копируем папку «dir1» с локального хоста в директорию «dir2» на удаленном хосте.

Копируем несколько файлов с удаленного хост в текущую директорию на Вашем локальном хосте.

Выполнение команд на удаленном Linux сервере

Узнать uptime удаленного сервера

Перезагрузить удаленный сервер

Запуск нескольких команд через SSH

Узнать Uptime и Disk Usage

Узнать Memory Usage и Load Average

Показать версию ядра, информацию о CPU и кол-во RAM

Выполнение скрипта на удаленном Linux сервере

Запустить локальный скрипт ‘local_script.sh’ на удаленной машине

Оцените статью
Хостинги