Как изменить редактор в winscp

Обновлено: 04.07.2024

WinSCP портит разрывы строк в файлах - как этого избежать?

Меня очень тошнит от того, как WinSCP портит разрывы строк.

Я мог бы просто использовать FileZilla для FTP и Putty для SCP (я думаю, что putty с этим справится), но это довольно раздражает. Как я могу решить эту проблему?

  • 1 Вы можете войти в настройки и использовать двоичный код вместо автоматического. Также, если вы используете внешний редактор (например, я), убедитесь, что он тоже не мешает. У меня никогда не возникало проблем (я использую блокнот для программистов, он же pnotepad)
  • Так где Ларс? Ударил и раскололся.

Я бы сказал, что комментарий оставил acidzombie24 лучший совет. Лично я не встречал лучшей программы FTP, чем WinSCP. Я рекомендую вам изменить свои настройки для передачи с использованием двоичного кода и использовать редактор, например NP ++, а не собственный редактор.

Вот несколько скриншотов:



Отредактированная версия WinSCP FAQ Почему текстовый файл разрывает строки после переноса или редактирования?

См., В частности, раздел "Известные проблемы".

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

  • Разрывы строк теряются. Похоже, что все содержимое файла находится в одной строке.
  • Разрывы строк дублируются. Кажется, что между каждой строкой есть дополнительная пустая строка.
  • В конце каждой строки есть странный символ / символ.

Форматы текстовых файлов

На разных платформах (операционных системах) используются разные форматы текстовых файлов. Наиболее распространены форматы Unix и Windows. Основное отличие состоит в том, что для обозначения конца строки используется другой символ или последовательность символов. В Unix это символ LF ( \\\\n , 0A или 10 в десятичной системе счисления). В Windows это последовательность из двух символов: CR и LF ( \\\\r + \\\\n , 0D + 0A или 13 + 10 в десятичной системе счисления).

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

Текстовый / ASCII режим передачи

По этой причине клиенты и серверы передачи файлов поддерживают режим передачи текста / ASCII. При передаче файла в этом режиме файл (в идеале) преобразуется из собственного формата исходной системы в собственный формат целевой системы. Например, при загрузке текстового файла в текстовом режиме из Windows в систему Unix концы строк файла преобразуются из CR + LF в LF.

WinSCP по умолчанию использует двоичный режим передачи для всех файлов. Узнайте, как настроить его для использования режима передачи текста / ASCII. Вам также может потребоваться настроить правильный формат текстового файла на стороне сервера.

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

Известные проблемы с режимом передачи

  • FTP-сервер Pure-FTPd: при загрузке файла с окончанием строки Windows (CR + LF) в текстовом / ASCII режиме, сервер заменяет LF на CR + LF, что приводит к неправильному CR + CR + LF. При открытии такого файла во внутреннем редакторе WinSCP редактор интерпретирует последовательность как два окончания строки (CR и CR + LF), в результате чего после каждой строки содержимого появляется пустая строка. Когда файл сохраняется, внутренний редактор сохраняет две строки Windows с окончанием CR + LF и CR + LF. При загрузке они преобразуются в два LF. Обходной путь - использовать внешний редактор и убедиться, что WinSCP не устанавливает текстовый режим для редактируемых файлов.

Отладка преобразования текстового файла

Если включение (или отключение) режима передачи текста / ASCII не помогает решить проблему и ваш переданный / отредактированный файл все еще неправильно воспринимается целевой системой, вам необходимо выяснить, на каком этапе файл был преобразован неправильно (или не был преобразован).

Чтобы определить окончания строк, используемые файлом в Windows, используйте следующую команду в консоли PowerShell, чтобы отобразить шестнадцатеричный дамп первых 100 символов данного файла ( example.txt ):

Для файла со следующим содержимым в формате Windows

Обратите внимание на две последовательности 0d 0a (CR + LF) обозначает формат Windows.

Чтобы определить окончания строки, используемые файлом в системе Unix / Linux, используйте команду:

(Альтернативы hexdump example.txt | head или же od example.txt | head .)

Для того же файла, что и выше, только в формате Unix, он отображает:

Обратите внимание на характер 0a (LF) обозначает формат Unix.

Если у вас нет доступа к удаленной системе через оболочку, загрузите файл с использованием двоичной кодировки и используйте команду PowerShell для локальной копии, идентичной двоичной.

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

Запрос поддержки

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

Метод1:

Метод 2:

-в "Настройки> Трансер> По умолчанию" выберите "Автоматический (режим передачи)';
-Затем в "Текст"окно, задайте такие условия (но я плохо их тестировал):


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

Подключение FTP WinSCP и Текстового редактора Notepad++

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

Добавляем текстовый редактор

1. Качаем и устанавливаем программы Notepad++ и WinSCP с оф.сайтов.


2. Запускаем программу WinSCP.

  • Откроется окно для ввода ftp-подключения, но мы сначала настроим редактор


3. Переходим в настройки (Инструменты>Настройки…)


4. Находим строку Редакторы и в нем уже жмем Добавить


5. В новом окне Ставим чекбокс

6. Теперь находим в папке Program Files или Program Files (x86) наш Notepad++, выбираем его и жмем Открыть и ОК в предыдущем окне.


7. В списке редакторов наш Notepad++ должен стоять на первом месте. Просто зажимаем его ЛКМ и переносим в начало списка.


8. Жмем ОК. Добавление редактора завершено.

Подключаемся к FTP сервера

1. Открываем Панель Управления, вкладку Доп.функции > FTP Доступ


2. Запускаем WinSCP, выбираем Новое Подключение и переключаем на протокол FTP.


3. Копируем данные с нашей ПУ FTP Доступ в программу.

  • Адрес сервера - в Имя Хоста
  • Логин - в Имя пользователя
  • Пароль - в строку Пароль соответственно.


4. Жмем сохранить, указываем любое Название подключения и ставим галочку Запомнить пароль


5. В списке подключений у нас появится наш сервер. Клацаем 2 раза и у нас пойдет подключение к FTP


6. Открываем любой .cfg файл и видим что открывается он через Notepad++

Если вы уже скачали архив с ОС для Pi, то его можно не распаковывать, balenaEtcher сделает это сам, достаточно добавить архив через кнопку Flash from file .

balena File

Файл вообще можно не скачивать и сразу добавить ссылку на него через кнопку Flash from URL .

balena URL

Далее выбираем носитель для записи. Конечно же он будет полностью отформатирован и все данные будут утеряны.

При установке PuTTY указывайте папку C:\Program Files\PuTTY\ для того, чтобы WinSCP могла её запускать. При парольном доступе из WinSCP в PuTTY передаются логин и пароль соединения.

Запуск PuTTY из WinSCP

При перезагрузке Raspberry Pi текущий сеанс PuTTY становится неактивным. Для перезапуска потребуется закрыть окно PuTTY и открыть заново.

С WinSCP вы получаете интерфейс по типу Проводника для доступа к содержимому карты памяти Raspberry Pi.

¶ Настройка соединения WinSCP

Открываем WinSCP и настраиваем Новое подключение . Протокол передачи - SFTP . Вводим IP-адрес или сетевое имя Raspberry Pi в поле Имя хоста . Заполняем Имя пользователя и Пароль . По умолчанию логин pi и пароль raspberry .

WinSCP Setup

¶ Редактирование файлов на Pi

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

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

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

ВНИМАНИЕ! Для обычных задач полностью хватает парольного доступа. Этот раздел несёт сугубо справочную цель. Ни в коем случае не выполняйте дальнейшие инструкции, если у вас есть сомнения по поводу доступа посторонних к вашему Raspberry Pi или компьютеру. Никто, кроме вас, не несёт ответственности за последствия.

¶ Включаем беспарольный доступ на Raspberry Pi

Запускаем PuTTY, выполняем

Ищем параметр PermitRootLogin и меняем его значение на prohibit-password , ранее известный как without-password

Сохраняем: Ctrl+X → Y → Enter.

Перезагружаем Raspberry Pi

¶ Генерируем пару ssh-ключей

В окне подключений WinSCP жмём Редактировать , затем Ещё и переходим в пункт SSH → Аутентификация .

Жмём Инструменты → Сгенерировать новую Ключевую пару с помощью PuTTYgen

WinSCP-PuTTYgen

Запустится программа PuTTYgen, которая входит в пакет PuTTY.

PuTTYgen

Жмём Generate и беспорядочно двигаем курсором в пределах окна, что используется программой для генерации случайного ключа.

PuTTYgen

Жмём Save private key - сохраняем Закрытый ключ. Подтверждаем сохранение без Passphrase - для WinSCP и вообще для наших целей можно не вводить . Сохраняем под любым удобным именем в безопасном месте.

Жмём Save public key - сохраняем Публичный ключ.

¶ Подключаем сгенерированные ключи в WinSCP

В том же окне Аутентификация WinSCP

жмём Инструменты → Установить публичный ключ на сервер и выбираем файл публичного ключа. WinSCP сейчас же сделает это самостоятельно.

жмём Троеточие и выбираем файл закрытого ключа, если правильный не выбран.

WinSCP-PuTTYgen

ВНИМАНИЕ! Для обычных задач полностью хватает редактора Nano . Этот раздел несёт сугубо справочную цель. Ни в коем случае не выполняйте дальнейшие инструкции, если у вас есть сомнения по поводу доступа посторонних к вашему Raspberry Pi или компьютеру. Никто, кроме вас, не несёт ответственности за последствия.

Nano - простой текстовый редактор, по умолчанию присутствующий в большинстве дистрибутивов Linux. Его не надо устанавливать. Запускается из командной строки. У него непривычные горячие клавиши, но их просто запомнить: для того, чтобы сохранить файл надо нажать сочетание клавиш Ctrl+X , затем Y для сохранения или N для отмены и затем Enter для подтверждения.

¶ Настройка root-доступа в WinSCP

Снова запускаем PuTTY. Переходим под пользователя root

Копируем ключ пользователя pi для пользователя root

Перезагружаем Raspberry Pi

Чтобы не напортачить, имея права root, советую теперь завести отдельное подключение в WinSCP с логином root, пароль теперь не нужен. Под этим подключением вы сможете свободно редактировать системные файлы и в итоге к чертям испортить работу всей системы.

WinSCP – многофункциональный графический FTP-клиент, который поддерживает передачу данных через распространённые протоколы:

  • SFTP (SSH File Transfer Protocol);
  • SCP (Secure Copy Protocol);
  • FTP (File Transfer Protocol);
  • WebDAV;
  • Amazon S3.

Бесплатно скачать WinSCP можно с официального сайта.

как пользоваться программой WinSCP - описание

Технические характеристики

Операционная система: Windows 10/8/7/Vista/XP.
Поддержка русского языка: Есть.
Технические требования: SSH-сервер с поддержкой SFTP/SCP / FTP-сервер / WebDAV-сервер.
Лицензия: Бесплатная.

Особенности программы WinSCP

  • Отправка проверочных пакетов серверу для поддержания целостности соединения.
  • Встроенный текстовый редактор и командная строка.
  • Редактирование файлов на сервере в режиме реального времени, без загрузки на устройство.
  • Встроенная командная строка.
  • Интеграция с программой Putty.
  • Сохранение данных авторизации, использованных для подключения к серверу (хост, логин и пароль).
  • Возможность создания нескольких соединений.
  • Работа на переносном носителе, без установки программы в систему.
  • Сохранение и перенос настроек программы в формате INI (.ini).

Основной функционал WinSCP

О работе с основным функционалом далее будет кратко рассказано на примере ОС Windows 10. Для остальных операционных систем семейства Windows действия аналогичны.

Более развернутые инструкции о том, как пользоваться WinSCP можно найти в официальной документации программного продукта.

Добавление нового подключения

Подключиться к серверу через WinSCP можно по следующему алгоритму:

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

Подключение к командной строке

Особенность WinSCP – встроенная командная строка, которая позволяет управлять удалённым сервером. Открыть консоль можно следующим способом:

Включение отображения скрытых файлов

Теперь программа будет отображать скрытые файлы полупрозрачным цветом.

Управление параметрами WinSCP

Все настройки программа WinSCP хранит в реестре.

Путь к настройкам в реестре для Windows 10: HKEY_LOCAL_MACHINE/Software/Martin Prikryl/WinSCP 2.

WinSCP поддерживает экспорт/импорт параметров в файл INI (.ini). Это позволяет перенести настройки в программу WinSCP, установленную на другом устройстве или создать бэкап настроек для восстановления, в случае потери данных.

Экспорт параметров WinSCP

Включение отображения скрытых файлов

  1. На главной странице WinSCP нажать «Новое подключение».
  2. Открыть вкладку инструменты и нажать «Экспорт/сохранение настроек».
  3. Откроется окно проводника. Нужно выбрать папку, в которую будет сохранён INI (.ini) файл с настройками и нажать «ОК».

Импорт параметров WinSCP

  1. На главной странице WinSCP нажать «Новое подключение».
  2. Открыть вкладку инструменты и выбрать «Импорт/восстановление настроек».
  3. Появится окно с предупреждением. Для продолжения нужно нажать «ОК».
  4. Далее откроется окно проводника. Для восстановления параметров нужно перейти в директорию с резервной копией настроек WinSCP, выбрать INI (.ini) файл и нажать «Открыть».

По умолчанию программа хранит настройки по пути: C:\Users\Имя_Пользователя\Documents\ .

Аналоги для Linux

Если требуется подключиться к серверу с операционной системы Linux, то вместо WinSCP можно рассмотреть альтернативные FTP-клиенты.

CrossFTP

 crossftp

Операционная система: Linux, Windows, MacOS и др.
Поддерживаемые протоколы: FTP, FTPS, SFTP, FXP, WebDav, Amazon S3, Amazon Glacier, Microsoft Azure, Google Storage и OpenStack Swift.
Поддержка русского языка: Нет.
Лицензия: Бесплатная. Есть платная версия с расширенными возможностями.

CrossFTP отсутствует в официальных репозиториях Linux. Установка производится путём скачивания и запуска инсталлятора.

FileZilla

FileZilla - общий вид

Операционная система: Linux, Windows, MacOS и др.
Поддерживаемые протоколы: FTP, SFTP, FTPS.
Поддержка русского языка: Есть.
Лицензия: Бесплатная.

Установка на Ubuntu/Debian из официальных репозиториев выполняется командой:

Установка на CentOS из Epel-репозиториев выполняется командами:

Инсталлятор FileZilla можно скачать с официальной страницы загрузок.

gftp

Установка на Ubuntu/Debian из официальных репозиториев выполняется командой:

Установка в CentOS из Epel-репозиториев выполняется командами:

Сборки и исходный код программы GFTP можно найти на официальной странице GitHub.

Krusader

Krusader

Операционная система: Linux, Windows (Beta-стадия), MacOS и др.
Поддерживаемые протоколы: FTP, SAMBA, SFTP, SCP.
Поддержка русского языка: Есть.
Лицензия: Бесплатная.

Установка на Ubuntu/Debian из официальных репозиториев выполняется командой:

Установка в CentOS из Epel-репозиториев выполняется командами:

Сборки Krusader можно скачать с официальной страницы загрузок.

Заключение

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

Более развернутые инструкции о том, как пользоваться WinSCP можно найти в официальной документации программного продукта.

Читайте также: