Команда curl
Curl – еще одна мощная утилита для скачивания файлов, которая доступна из терминала Linux. С ее помощью можно скачивать файлы по протоколам HTTP, HTTPS, FTP, FTPS, TFTP, Telnet, SCP, SFTP, DICT, LDAP, а также POP3, IMAP и SMTP. Также curl поддерживает работу через прокси, веб-аутентификацию, отправку данных через http, работу с cookie-файлами и многое другое.
Синтаксис команды curl выглядит следующим образом:
curl
Команда curl может отсутствовать в вашем дистрибутиве Linux. Но, вы можете установить ее самостоятельно. В Ubuntu для этого нужно выполнить следующую команду:
sudo apt-get install curl
По умолчанию, команда curl выводит скачанное прямо в терминал. Это может быть полезно в некоторых случаях, но чаще всего требуется сохранение скачанного в виде файла. Для этого следует использовать опцию «-O». Например, команда на скачивание файла с помощью curl может выглядеть примерно так:
Если нужно скачать сразу несколько файлов, то их можно указать через пробел один за другим. При этом для каждого из файлов нужно указать опцию «-O». Выглядит это примерно так:
curl -O https://releases.ubuntu.com/18.04.4/ubuntu-18.04.4-live-server-amd64.iso -O https://releases.ubuntu.com/18.04.4/ubuntu-18.04.4-live-server-amd64.iso
При желании можно изменить имя для скачиваемого файла. Для этого нужно использовать опцию «-o» и после нее указать новое имя для файла. Например:
curl -o ubuntu.iso https://releases.ubuntu.com/18.04.4/ubuntu-18.04.4-live-server-amd64.iso
Если загрузка была прервана, то ее можно продолжить с того места, где она остановилась. Для этого нужно еще раз выполнить команду «curl», но с добавлением опции «-C —». Например:
curl -o ubuntu.iso -C - https://releases.ubuntu.com/18.04.4/ubuntu-18.04.4-live-server-amd64.iso
Это основные опции команды «curl», которые применяются чаще всего. Для того чтобы посмотреть все доступные опции выполните команду «man curl».
Какие есть команды для управления FTP в командной строке CMD
Для начала запустите командную строку. Сделать это можно при помощи поиска в “Пуске” – найдите файл cmd.exe и откройте его, после чего строка будет запущена.
Чтобы подключиться к серверу, вам нужно воспользоваться командой OPEN. После этой команды необходимо ввести IP-адрес или имя хоста, с которым вы хотите настроить соединение. Уже после введения этого запроса вы сможете залогиниться на сервере. Сделать это можно при помощи команды USER, которая делает запрос на аутентификацию через введенный логин. После вам нужно ввести команду PASS, которая означает пароль. Когда введете пароль, и нажмете “Ввод”, вы будете авторизированы на сервере.
В целом, командная строка подходит только для того, чтобы “серфить” по серверу, перемещать файлы и т. п. Для начала вам нужно будет увидеть файлы, которые есть на сервере. Для этого воспользуйтесь командой LS. Поскольку курсора в командной строке нет, вам нужно выделять каталог или файл при помощи специальных команд. Используйте для этого строку CD или LCD – первая нужна для смены текущего объекта на удаленном компьютере, а вторая – для локального, то есть для вашего ПК.
Хоть вы и не сможете загружать на сервер FTP свои файлы через CMD, скачивать данные к себе на компьютер возможно. Для этого используйте команду GET. Сначала пропишите команду GET с названием файла, а потом укажите какой каталог на вашем компьютере является текущим, чтобы сервер передал данные именно в ту папку.
Указанные команды используют чаще всего. То есть большинство пользователей управляют сервером через CMD, чтобы быстро скачивать файлы, не устанавливая предварительно клиент. Но вы можете пойти гораздо дальше, и использовать другие команды на сервере при помощи строки CMD. Например, вы можете добавить сигнальное оповещение о завершении команды на сервере при помощи строки BELL.
Если вы хотите завершить сеанс и выйти из командной строки и сервера, то пропишите BYE. А для прерывания управляющего соединения только на сервере, чтобы вы остались внутри командной строки, напишите CLOSE. При этом файлы, которые вы загружаете на ПК с сервера будут продолжать скачиваться и уже после окончания загрузки сеанс будет полностью прикрыт.
При помощи CMD вы с легкостью сможете манипулировать каталогами на сервере. Например, чтобы удалить указанный каталог, используйте команду DELETE. А чтобы на экране появился перечень файлов определенной папки, пропишите DIR и путь к каталогу. Если вы хотите удалить не одну папку или файл, а сразу несколько, то воспользуйтесь командой MDELETE, то есть мульти-удаление. Точно так же приставку “m” можно использовать и для других команд, чтобы можно объединить несколько действий в одно. Так, для отображения списка файлов сразу нескольких каталогов пропишите MDIR, а для загрузки с сервера пачки данных используйте MGET. Но не путайте мультикоманду с одиночной MKDIR – она нужна для того, чтобы сгенерировать каталог на сервере.
Есть вероятность, что ваш FTP-сервер работает без NAT-технологии, потому пассивный режим клиента и не понадобится. В таком случае у вас получится загружать определенные файлы на хост. Используйте для этого команду MPUT для выгрузки нескольких файлов, и PUT, если вы хотите отправить только один.
Еще одна популярная команда, которая, скорее всего, пригодится и вам – это RENAME. Нужна команда для переименования файлов. Она будет полезна для тех, кто использует сервер в качестве хранилища для данных сайта. Также вам понадобится команда PWD, которая определяет текущую папку на удаленном сервере FTP, а не у вас на компьютере, как это делает строка LCD.
Приведенные команды – это неполный список функций, которые вы можете использовать в FTP. Есть и другие команды. И вы можете узнать о них прямо в командной строке, если введете запрос HELP. После этого появится справочник со всеми доступными командами CMD, которые можно использовать в FTP. Только учтите, что в этот момент вы должны быть подключены к серверу, иначе Windows выдаст вам другой справочник. А если хотите запросить помощь у самого сервера, то пропишите REMOTEHELP.
Разумеется, управление сервером командами – это каменный век. Потому лучше не теряйте время, загружайте на компьютер нормальный FTP-клиент и используйте сервер на максимум, а не частично. Но практика в командной строке CMD еще никому не мешала!
Простые манипуляции с файлами с помощью SFTP
SFTP позволяет выполнять набор базовых действий по обслуживанию файлов, которые могут быть полезны при работе с иерархиями файлов.
Например, вы можете изменить владельца файла в удаленной системе с помощью следующей команды:
Обратите внимание, что, в отличие от системной команды , используемая SFTP команда не принимает имена пользователей, подставляя вместо этого UID. К сожалению, не существует удобного способа, позволяющего узнать соответствующий UID пользователя в интерфейсе SFTP
Обойти это ограничение можно следующим образом:
Обратите внимание, что вместо использования команды отдельно, мы использовали ее в качестве префикса для локальной команды оболочки. Данный способ позволяет запустить любую команду, доступную на локальном компьютере, и может использоваться для запуска локальной команды , описанной ранее
UID находится в третьей колонке файла и отделяется двоеточием.
Аналогичным образом, мы можем изменить владельца группы для файла с помощью следующей команды:
Опять же не существует удобного способа получения списка групп удаленной системы. Мы можем обойти это ограничение с помощью следующей команды:
В третьем столбце содержится идентификатор группы, связанной с именем в первом столбце. Именно этот идентификатор мы и ищем.
К счастью, команда работает в удаленной файловой системе стандартным образом:
Команда для управления локальными разрешениями для файлов отсутствует, но вы можете настроить локальную пользовательскую маску, чтобы любые файлы, скопированные в локальную систему, имели соответствующие разрешения.
Это можно сделать с помощью команды :
Теперь все загружаемые стандартные файлы (при условии отсутствия флага ) будут иметь разрешения 644.
SFTP позволяет создавать каталоги как для локальных, так и для удаленных систем с помощью команд и соответственно. Эти команды работают ожидаемым образом.
Эти команды воспроизводят базовое поведение команд, используемых в оболочке. Если вам потребуется выполнить эти действия в локальной файловой системе, помните о том, что вы можете перейти в оболочку, воспользовавшись этой командой:
Или выполните отдельную команду в локальной системе, указав перед командой , например, следующим образом:
После завершения работы с сеансом SFTP используйте или для закрытия подключения.
Команда wget
Wget – это мощная утилита для скачивания файлов, с ее помощью можно загружать файлы по протоколам HTTP, HTTPS и FTP. При этом поддерживается скачивание с использованием прокси, а также работа в фоновом режиме.
Кроме этого, с помощью wget можно скачивать веб страницы или даже целые веб-сайты. Для этого используется рекурсивный обход всех найденных на странице ссылок и создание локальной копии сайта с воссозданием его структуры.
Wget хорошо работает с медленным или нестабильным подключением к интернету. В случае разрыва соединения wget будет повторять попытки скачивания до тех пор, пока весь файл не будет загружен. При этом продолжение загрузки будет начинаться с того места, где она остановилась.
Синтаксис команды wget выглядит следующим образом:
wget
Утилита wget доступна на большинстве дистрибутивов Linux. Но, если в вашей системе ее нет, то вы можете установить ее самостоятельно. В Ubuntu для этого нужно выполнить команду:
apt-get install wget
В общем случае для скачивания файла через терминал Linux достаточно ввести команду «wget» и через пробел указать URL адрес, после чего начнется загрузка указанного документа. Например, команда на скачивание файла может выглядеть вот так:
wget https://releases.ubuntu.com/18.04.4/ubuntu-18.04.4-live-server-amd64.iso
Если нужно скачать несколько файлов подряд, то их адреса можно передать утилите wget за один раз. Для этого просто указываем их через пробел. Например:
wget https://releases.ubuntu.com/18.04.4/ubuntu-18.04.4-live-server-amd64.iso https://releases.ubuntu.com/18.04.4/ubuntu-18.04.4-live-server-amd64.iso
При необходимости, для скачиваемого файла можно указать новое название. Для этого нужно использовать опцию «-O». В этом случае команда для скачивания файла будет выглядеть так:
wget -O ubuntu.iso https://releases.ubuntu.com/18.04.4/ubuntu-18.04.4-live-server-amd64.iso
В случае прерывания загрузки ее можно продолжить. Для этого нужно запустить команду wget еще раз, но в этот раз с добавлением опции «-c». Команда перезапуска загрузки выглядит примерно так:
wget -c https://releases.ubuntu.com/18.04.4/ubuntu-18.04.4-live-server-amd64.iso
Если во время скачивания файла вы хотите продолжить работу с терминалом Linux, то загрузку можно выполнить в фоновом режиме. Для этого нужно использовать опцию «-b». Команда для скачивания файла в фоновом режиме выглядит примерно так:
wget -b https://releases.ubuntu.com/18.04.4/ubuntu-18.04.4-live-server-amd64.iso
Это основные опции команды «wget», которые используются чаще всего. Для того чтобы ознакомиться со всеми доступными опциями введите команду «man wget».
Скачивание файлов с ftp
get — скачать файл на локальную машину. get fileName или get fileName newFileName
Скачиваем file.zip на локальную машину как file2.zip:
С помощью команды get с удаленного ftp сервера файлы копируются в текущую локальную директорию. Чтобы изменить текущую локальную директорию нужно использовать команду lcd:
lcd <путь> – изменить текущую директорию на локальной машине:
Чтобы скачать несколько файлов с удаленного ftp сервера на локальную машину можно использовать команду mget:
Скачивание каждого файла необходимо подтверждать (да / нет) y/n.
Еще один вариант скачивания mget:
Загрузка файлов на ftp сервер
put <имяфайла> — команда для загрузки одного файла на ftp сервер:
Для загрузки нескольких файлов сразу можно использовать команду mput:
Загрузку каждого файла необходимо подтверждать y / n (да / нет).
Еще один вариант команды mput:
Если на фтп загружаются файлы большого размера, то неплохо было бы наблюдать за ходом загрузки. Для этого можно использоваться команды hash и tick.
hash — команда после которой ftp будет печатать символ «#» каждые 1024 байт данных:
tick — команда будет отображать счетчик байтов:
Вот и весь базовый набор команд для работы с ftp в консоле. Для просмотра списка доступных команл на данном FTP сервере можно использовать команду help:
Также, можно получить короткую справку по каждой команде help <команда>:
И в завершение, две команды, которые выше quit или bye для закрытия ftp-сессии и выхода:
Подробную информацию с описанием команд можно получить с помощью man ftp в командной строке:
Тонкая настройка ежедневного резервного копирования базы данных 1С средствами SQL ver. 2014 (SP3) — 12.0.6024.0 (X64)
Хочу вам предложить небольшой пример, как можно реализовать резервное копирование 1С-ых баз данных средствами SQL. Данный материал не претендует на пулитцеровскую премию. Но возможно кому-то будет интересно узнать, что-то новенькое.
Данный материал для резервного копирования только одной базы данных. А именно, если у вас 20-ть баз, то вам придется создавать 20-ть планов обслуживания для каждой базы индивидуально.
(Слава разработчикам SQL, они разрешили копировать блоки из одного плана в другой, вам остается только произвести небольшую настройку для каждого скопированного блока — некоторые настройки блоков сбрасываются и выставляются значением по умолчанию и остаются неактивными)
Работа с FTP из «BAT» файла.
Как загружать или удалять файлы с FTP, используя Batфайл? Для работы с FTPиз Batфайла, нам понадобится не только сам батник, но и обычный, простой блокнот (txt). Но, создавать в ручную мы его не будем, так как, его создаст сам «BAT» файл и сам же запишет в него всю необходимую для работы информацию.
Что будет записано в txtдокумент?
В него будет записан «логин, пароль, команда – имя файла» такова вида.
Login
Password
Команда – Путь к файлу.
Создаём «Bat» файл и пишем в него следующие строк.
echo ЛОГИН >> C:\config.txt
echo ПАРОЛЬ >> C:\config.txt
echo КОМАНДА C:\FILE.exe >> C:\config.txt
ftp.exe -s:C:\config.txt АДРЕС FTP СЕРВЕРА
1 |
echoЛОГИН>>C\config.txt echoПАРОЛЬ>>C\config.txt echoКОМАНДАC\FILE.exe>>C\config.txt ftp.exe-sC\config.txtАДРЕСFTPСЕРВЕРА |
Таким образом, будет создан файл «config.txt» и в него запишутся все нужные данные, логин, пароль, команда – путь к файлу. В последней строке, запуск утилиты «ftp.exe» которая возьмёт все нужные данные из «config.txt» соединится с сервером и выполнит все нужные действия.
Приведу несколько примеров использования разных команд из batфайла.
Скачатьфайл
echo testlogin > C:\config.txt
echo pass >> C:\config.txt
echo get FILE.exe C:\SaveFile.exe >> C:\config.txt
ftp.exe -s:C:\config.txt 127.0.0.1
1 |
echo testlogin>C\config.txt echo pass>>C\config.txt echo get FILE.exeC\SaveFile.exe>>C\config.txt ftp.exe-sC\config.txt127.0.0.1 |
Загрузитьфайл
echo testlogin > C:\config.txt
echo pass >> C:\config.txt
echo send C:\FILE.exe >> C:\config.txt
ftp.exe -s:C:\config.txt 127.0.0.1
1 |
echo testlogin>C\config.txt echo pass>>C\config.txt echo sendC\FILE.exe>>C\config.txt ftp.exe-sC\config.txt127.0.0.1 |
Удалитьфайл
echo testlogin > C:\config.txt
echo pass >> C:\config.txt
echo delete FILE.exe >> C:\config.txt
ftp.exe -s:C:\config.txt 127.0.0.1
1 |
echo testlogin>C\config.txt echo pass>>C\config.txt echo delete FILE.exe>>C\config.txt ftp.exe-sC\config.txt127.0.0.1 |
Графический интерфейс SFTP
Если на сервере или просто удалённом компьютере запущен SSH, то для передачи файлов на этот компьютер или скачивания файлов с него не нужно устанавливать FTP или любое другое дополнительное программное обеспечение.
SSH из коробки поддерживает протоколы SCP и SFTP. Причём в пакете ssh поставляются одноимённые утилиты scp и sftp для обмена файлами. Подробности о них вы найдёте в статье «SSH (ч.5): Копирование файлов с помощью scp и sftp». Но это утилиты с интерфейсом командной строки, что не всем может быть удобно.
Протокол SFTP поддерживается несколькими кроссплатформенными программами с графическим интерфейсом. То есть, вы можете закачивать и управлять файлами на сервере через программу с графическим интерфейсом. Причём на сервере кроме запущенного SSH больше ничего не требуется.
Передача файлов по FTP через терминал
Мы могли бы использовать telnet для передачи файлов по FTP через терминал, но это слишком сложно и не нужно. Существует консольный клиент FTP с более простым синтаксисом и достаточными возможностями. Сначала рассмотрим общий синтаксис и команды утилиты:
$ ftp опции адрес_сервера
Опций у утилиты всего несколько, но нам нужно их рассмотреть, потому что они могут быть вам очень полезны:
- -A — использовать активный режим во время передачи файлов;
- -p — использовать пассивный режим, используется по умолчанию;
- -i — отключать интерактивный режим во время передачи файлов;
- -n — попытаться использовать автоматический вход;
- -e — отключить историю команд;
- -v — максимально подробный вывод;
- -d — включить режим отладки.
Дальше рассмотрим команды интерактивного режима, которые вы будете использовать для подключения к серверу и управления файлами:
- account — отправить серверу свой пароль для авторизации;
- append — добавить локальный файл в конец удаленного файла на сервере;
- ascii — передавать файлы в кодировке ASCII;
- binary — передавать файлы в бинарном формате;
- bye — завершить сессию;
- cd — перейти в папку;
- cdup — перейти в папку уровнем выше;
- chmod — изменить права на файл;
- delete — удалить файл с сервера;
- dir — посмотреть список файлов в папке;
- get — скачать файл из сервера на локальную машину;
- hash — отображать статус передачи файла;
- lcd — сменить рабочую директорию на локальной машине;
- ls — список файлов в папке;
- mdelete — удалить несколько файлов;
- mget — скачать несколько файлов;
- mkdir — создать папку;
- mput — передать несколько файлов на сервер;
- open — подключится к удаленному FTP серверу;
- put — передать файл на сервер;
- pwd — вывести текущую папку;
- recv — то же самое что и get;
- rename — переименовать файл на сервере;
- rmdir — удалить папку;
- size — узнать размер файла;
- user — авторизоваться на сервере.
Это далеко не все команды, которые вы можете использовать для передачи файлов, но здесь перечислено все самое основное, и вам их точно хватит для решения простых задач.
Сначала подключаемся к нашему серверу, команде нужно передать адрес сервера:
Затем авторизуемся на сервере, нужно передать логин и пароль:
Только после этого перед нами открывается командная оболочка FTP клиента. Именно здесь будет выполняться передача файлов ftp. Изменим текущую папку на FTP, затем посмотрим ее содержимое и выведем полный адрес текущей папки:
Перейдем в папку documents на удаленном сервере и посмотрим ее содержимое:
Чтобы скачать файл по FTP с удаленного сервера нам нужно использовать команду get. Просто передайте команде имя файла:
Теперь файл находится на нашей локальной машине. Мы можем выполнять команды на локальной машине если перед ними добавить символ «!». Например, посмотрим содержимое домашней папки чтобы убедиться, что файл был загружен:
Загрузка файлов по FTP на сервер выполняется с помощью команды put, причем, здесь, как и в предыдущей команде можно задать имя создаваемого файла:
Также можно управлять файлами на удаленном сервере. Переименуем файл doument1.pdf, так чтобы он назывался правильно:
Затем удалим document3:
Для завершения сеанса FTP наберите Bye:
Сейчас многие FTP серверы используют шифрование на основе ssl сертификатов. Это необходимая мера, которая позволяет обезопасить данные пользователей. Для подключения к таким серверам необходимо использовать утилиту sftp, в остальном же процесс и команды не отличаются.
Копирование числовых ячеек из 1С в Excel Промо
Решение проблемы, когда значения скопированных ячеек из табличных документов 1С в Excel воспринимаются последним как текст, т.е. без дополнительного форматирования значений невозможно применить арифметические операции. Поводом для публикации послужило понимание того, что целое предприятие с более сотней активных пользователей уже на протяжении года мучилось с такой, казалось бы на первый взгляд, тривиальной проблемой. Варианты решения, предложенные специалистами helpdesk, обслуживающими данное предприятие, а так же многочисленные обсуждения на форумах, только подтвердили убеждение в необходимости описания способа, который позволил мне качественно и быстро справиться с ситуацией.
Автоматизация обмена данными с применением WinSCP
winscp.com/console«C:\Program Files (x86)\WinSCP\WinSCP.exe» /consolePATHПараметрыНастройкиИнтеграцияДобавить папку WinSCP в путь поискаwinscp.comwinscp.exe /consolewinscp > UTF-8
Получение справки по командам WinSCP
help
callcdchecksumchmodclosecpechoexitgethelpkeepuptodatelcdllslnlpwdlsmkdirmvopenoptionputpwdrmrmdirsessionstatsynchronize
Получение справки по конкретной команде WinSCP
help командаhelp synchronizesynchronize local|remote|both ]-preview-delete-mirror-criteria=-permissions=-nopermissions-speed=-transfer=-filemask=-resumesupport=
Использование собственных сценариев WinSCP .
ПолучитьНастройки передачи
Сформировать код…Сформировать код передачиСценарийФорматФайл сценария
C:\Scripts\s1.txtwinscp.com /script=c:\Scripts\s1.txt«C:\Program Files (x86)\WinSCP\inscp.com» /script=c:\Scripts\s1.txt /ini=nul/ini=nulwinscp.com
Соединяюсь с site.com…
Соединение установлено
Открываю соединение…
Соединение открыто.
Активные соединения: anonymous@site.com
/utility/Backplane_Utility
C:\Backplane_Utility
backplane.zip | 1728 KB | 248,6 KB/s | binary | 100%winscp.com /script=c:\Scripts\s1.txt /log=C:\Scripts\s1.log /ini=nul ФорматПакетный файл
C:\Scripts\s1.bat
@echo off
«C:\Program Files (x86)\WinSCP\WinSCP.com» ^
/log=»C:\Scripts\s1.log» /ini=nul ^
/command ^
«open ftp://anonymous@site.com/» ^
«cd /utility/Backplane Utility» ^
«lcd C:\Backplane_Utility» ^
«get backplane.zip» ^
«exit»
REM Ниже пример анализа кода возврата для оценки результата выполнения сценария
set WINSCP_RESULT = %ERRORLEVEL%
if %WINSCP_RESULT% equ 0 (
echo Success
) else (
echo Error
)
exit /b %WINSCP_RESULT%exit /b %WINSCP_RESULT%ФорматКомандная строкаwinscp.comwinscp.com /command «open ftp://anonymous@site.com/» «cd /Backplane_Utility» «lcd C:\Backplane_Utility» «get backplane.zip» «exit»Код сборки .NET
.ps1powershell -file C:\Scripts\s1.ps1powershell -Command Set-ExecutionPolicy RemoteSignedWinSCPnet.dll
# Загрузить сборку .NET WinSCP
Add-Type -Path «C:\Program Files (x86)\WinSCP\WinSCPnet.dll»
. . .
Использование планировщика заданий для автоматизации выполнения сценариев
taskschd.mscБиблиотека планировщика заданийСоздать папкуСоздать простую задачуСоздать задачуДействие — Создать простую задачу
ОбщиеDownloadFilesТриггер
ДействияЗапуск программыScript1.batОбзор…
ЗавершениеГотово
В начало страницы       |       На главную страницу сайта
Как подключится к FTP серверу через cmd.
Прежде чем загружать или скачивать файлы с FTPсервера, к нему нужно подключится. Именно это мы и рассмотрим в этой части поста.
Для подключения к FTP используется «команда open» её синтаксис такой:
Open адрес сервера.
Запускаем cmd.exe или сразу встроенную в windowsутилиту ftp.exe используя команду «выполнить» горячими клавишами «Win + R» я открою сразу ftp.exe. Если вы решили открыть cmd.exe то просто запустите ftp.exe командойftp.
После запуска, используя команду open, подключаемся к ftpсерверу. В моём случаи адрес ftp такой «127.0.0.1» если Вы используете локальный ftp, то адрес будет такой же, если нет, то, естественно адрес будет другой.
Вводим команду и жмём enter:
open 127.0.0.1
1 | open127.0.0.1 |
После успешного подключения к FTP серверу, на нем требуется авторизация. Вводим логин, жмём enter, затем вводим пароль, и опять enter.
Если все введено, верно, авторизация пойдёт успешно.
В данном случаи мой логин «testlogin». На данном этапе мы выполнили успешное подключение к FTPсерверу и можно начинать с ним работать.
Общие команды FTP
Большинство команд FTP аналогичны или идентичны командам, которые вы вводите в командной строке Linux.
Ниже приведены некоторые из наиболее распространенных команд FTP
- или — перечислить все доступные команды FTP.
- — изменить каталог на удаленной машине.
- изменить каталог на локальной машине.
- — перечислить имена файлов и каталогов в текущем удаленном каталоге.
- — создать новый каталог в текущем удаленном каталоге.
- — распечатать текущий рабочий каталог на удаленном компьютере.
- — удалить файл в текущем удаленном каталоге.
- — удалить каталог в текущем удаленном каталоге.
- — скопировать один файл с удаленного на локальный компьютер.
- — скопировать несколько файлов с удаленного на локальный компьютер.
- — скопировать один файл с локального на удаленный компьютер.
- — скопировать один файл с локального на удаленный компьютер.
Настройка SFTP-сервера в Linux
Мы использовали Ubuntu в этой статье. Команды установки специфичны для Ubuntu и Debian, но остальные шаги можно выполнить в любом другом дистрибутиве Linux.
Для выполнения шагов вам необходимы права sudoer. Поэтому, если вы не обладаете правами sudo, обратитесь к системному администратору. Если вы один из них, пожалуйста, прочитайте о создании пользователя sudo в Ubuntu.
Настройка SFTP очень проста. Прежде чем перейти к этому, вам необходимо установить OpenSSH на стороне сервера и пакет SSH на стороне клиента.
Чтобы установить OpenSSH на сервере, вы можете использовать следующую команду:
sudo apt install openssh-server
Вам также нужен SSH в системе, откуда вы собираетесь получить доступ к SFTP-серверу.
sudo apt install ssh
После того, как это будет сделано, у вас будет все готово для настройки SFTP. Это сделано в три этапа, и мы собираемся показать вам их один за другим.
Для безопасного использования SFTP (или любой другой службы в целом) лучше всего создавать группы и пользователей, которые будут использовать эту службу и только эту службу. «Лучше всего дать одно конкретное право одной конкретной организации».
В случае, если вы хотите предоставить доступ SFTP, а также нормальный доступ к системе, создайте пользователей таким образом, чтобы их было легко идентифицировать в соответствии с услугой. Например, если andreyex используется для нормального доступа к системе, тогда andreyexsftp может использоваться для доступа SFTP. Используя этот метод будет легче на стороне администрации.
Давайте создадим группу с именем «sftpg» следующим образом:
sudo groupadd sftpg
Давайте создадим пользователя с именем andreyexftp, добавим его в указанную выше группу и дадим ему пароль.
sudo useradd -g sftpg andreyexsftp sudo passwd andreyexsftp
В приведенной выше команде опция -g указывает группу, в которую следует добавить пользователя. Вы можете перечислить всех пользователей в Linux и убедиться, что новый пользователь добавлен.
Предположим, вы хотите использовать каталог /data/в качестве корня для sftp и /data/USERNAME для каждого пользователя. Поэтому, когда пользователи входят в систему через sftp, они должны находиться в /data/USERNAME в качестве каталога по умолчанию (точно так же, как вы находитесь в каталоге /home/USERNAME,когда вы входите в систему Linux через SSH). Кроме того, примите ограничение, что они могут читать файлы из этого каталога, но могут загружать только в каталог загрузки.
Давайте создадим каталоги и изменим их доступ и владельца следующим образом (читайте о правах доступа к файлам в Linux, чтобы узнать больше об этом).
sudo mkdir -p /data/andreyexsftp/upload sudo chown -R root.sftpg /data/andreyexsftp sudo chown -R andreyexsftp.sftpg /data/andreyexsftp/upload
Единственное, что может сбить с толку, – это передать права на каталог пользователя самому root. Это является обязательным для корреляции в SFTP. Поэтому убедитесь, что владелец /data/USERNAME является пользователем root.
На данный момент у нас есть пользователь с именем andreyexsftp с группой sftpg и с правами доступа, установленными для /data/andreyexsftp.
Шаг 2. Настройте sshd_config
Далее это вам нужно настроить SSH сервер таким образом, что всякий раз, когда пользователь, принадлежащий к группе sftpg входит в систему, он/она попадает в SFTP вместо обычной оболочки вы получите через SSH . Добавьте следующий фрагмент в /etc/ssh/sshd_config, если его еще нет.
В приведенном выше фрагменте ChrootDirectory позволяет сделать указанный каталог корневым узлом («/» каталог) в дереве каталогов. Зарегистрированный пользователь не может видеть ничего выше этого каталога. Так что это остановит текущего пользователя от доступа к файлам других пользователей через sftp . % u – код перехода для заполнения его текущим именем пользователя на момент входа в систему. Когда andreyexsftp регистрируется через sftp, он будет в /data/andreyexsftp в качестве своего корневого каталога.
Шаг 3: Перезапустите сервис
Чтобы внести изменения, внесенные в sshd_config, перезапустите службу следующим образом.
sudo systemctl restart sshd
Скачивать и закачивать файлы по FTP используя консоль
FTP (File Transfer Protocol) является наиболее популярным протоколом для передачи файлов (скачиваать и загружать) из одной системы в другую систему. Это обеспечивает быстрыйспособ передачи файлов . Есть много доступных приложений на Linux и Windows такие как VSFTPD, ProFTPD для Linux, FileZilla Server для windows и macOS.
Есть различные способы для подключения к FTP-серверу использую графическую среду, но системный администратор должен знать силу командной строки. И в данной теме «Скачивать и закачивать файлы по FTP используя консоль» я расскажу как можно работать с командной строкой для передачи/получения данных.
1. Подключение к FTP-серверу с помощью командной строки
Для подключения к любому серверу с помошью командной строки служит терминал.
$ ftp ftp.linux-notes.org
2. Загрузить файл на FTP-сервер
Чтобы загрузить файл на сервер используют FTP put. Во-первых нужно перейти в нужную папку на FTP сервере для загрузки файла и использовать следующую команду.
ftp> cd uploads ftp> put /home/captain/my_file.txt
3. Скачать один файл из FTP-сервер
Чтобы скачать файл из FTP-сервера, мы используем команду get. Используя эту команду мы можем загрузить один файл. Чтобы скачать какой-либо файл с сервера FTP, сперва войдите на FTP-сервер, потом перейдите в каталог и использования следующую команду, чтобы скачать любой файл:
ftp> get my_file.txt
4. Загрузить несколько файлов на FTP-сервер
Чтобы загрузить несколько файлов на FTP-сервере мы используем MPUT команду. Мы можем указать символ шаблона для загрузки нескольких файлов на сервер одновременно. Во-первых перейдите к нужной папке на FTP сервере для загрузки файла и используйте следующую команду. Он будет загрузить все файлы с расширением .txt в каталог /home/captain для закачанных файлов на FTP-сервере.
ftp> cd uploads ftp> lcd /home/captain/ ftp> put *.txt
5. Скачать несколько файлов с FTP-сервера
Чтобы скачать несколько файлов с FTP-сервера, мы используем MGET команду. Используя эту команду можно загружать файлы.
ftp> mget *.txt
Команды.
!
Выйти с оболочки shell
?
Расспечатать помошь о локальной информации
append
Добавьте в файл
ascii
Установить тип передачи ASCII. Используйте это, чтобы передать текстовые файлы (HTM-файлы).
bell
Звуковой сигнал при завершении команды.
binary
Установите двоичный тип передачи. Используйте это для передачи двоичных файлов (XE-файлов и графики).
bye
Завершить сеанс подключения и работу.
cd
Изменить удаленный рабочий каталог (использование «..», чтобы перейти к родителю).
close
Завершить сеанс FTP.
delete
Удалить удаленный файл.
debug
Переключить режим отладки.
dir
Перечислите (показать) содержимое удаленного каталога.
disconnect
Завершить сеанс FTP.
glob
Переключить расширение метасимвол из локального имени файлов.
hash
Переключить печать ‘#’ для каждого переданного буфера.
help
Показать список команд.
lcd
Изменить локальный рабочий каталог.
literal
Отправить произвольную команду FTP.
ls
Показать содержимое удаленного каталога.
mdelete
Удаление нескольких файлов.
mdir
Список содержимого нескольких удаленных каталогов.
mkdir
Создайте каталог на удаленной машине.
mls
Список содержимого нескольких удаленных каталогов.
open
Подключение к удаленному FTP.
prompt
Грубое интерактивное приглашение на нескольких команд (это переключение)
pwd
Распечатать рабочую папку (где ты находишся сейчас) на удаленной машине.
quit
Завершить сеанс подключения и работу.
quote
Отправить произвольную команду FTP. Вы можете просмотреть список raw команд FTP на www.nsftools.com/tips/RawFTP.htm
recv
Receive file
remotehelp
Get help from remote server
rename
Получить файл.
rmdir
Удалить каталог на удаленной машине.
send
Отправить один файл.
status
Показать текущее состояние.
trace
Переключить трассировку пакетов.
type
Установить тип файла передачи
user
Отправить новую информацию пользователя.
verbose
Переключить подробный режим.
Тема «Скачивать и закачивать файлы по FTP используя консоль» завершена.