Перейти к содержанию
  • Лента
  • Категории
  • Последние
  • Метки
  • Популярные
  • Пользователи
  • Группы
Свернуть
exlends
Категории
  1. Главная
  2. Категории
  3. Системное Администрирование
  4. Bash | Shell
  5. Обзор основных команд SFTP и редактирование удаленных файлов

Обзор основных команд SFTP и редактирование удаленных файлов

Запланировано Прикреплена Закрыта Перенесена Bash | Shell
4 Сообщения 3 Постеры 109 Просмотры
  • Сначала старые
  • Сначала новые
  • По количеству голосов
Ответить
  • Ответить, создав новую тему
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • AladdinA Не в сети
    AladdinA Не в сети
    Aladdin
    js
    написал в отредактировано Aladdin
    #1

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

    Команды подключения и навигации

    # Подключение к серверу
    sftp пользователь@сервер
    sftp -P 2222 пользователь@сервер        # нестандартный порт
    sftp -i ~/.ssh/key пользователь@сервер   # с SSH-ключом
    
    # Навигация (удаленная/локальная)
    pwd / lpwd                              # текущий каталог
    ls / lls                                # список файлов
    cd путь / lcd путь                      # смена каталога
    

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

    # Скачивание с сервера
    get файл                                # скачать файл
    get -r каталог                         # рекурсивно скачать каталог
    mget *.txt                             # множественное скачивание
    
    # Отправка на сервер
    put файл                               # отправить файл
    put -r каталог                         # рекурсивно отправить каталог
    mput *.pdf                             # множественная отправка
    

    Управление файлами на сервере

    mkdir каталог                          # создать каталог
    rmdir каталог                          # удалить каталог
    rm файл                                # удалить файл
    rename старое новое                    # переименовать
    chmod 644 файл                         # изменить права
    

    Help

    Получение помощи
    Оказавшись в командной строке sftp проверьте доступные команды, набрав ‘? ‘ Или ‘help’ в командной строке.

    sftp> ?
    Доступные команды:
    cd path                       Сменить удалённую директорию на 'path'
    lcd path                      Сменить локальную директорию на 'path'
    chgrp grp path                Изменить группу файла 'path' на 'grp'
    chmod mode path               Изменить права доступа к файлу 'path' на 'mode'
    chown own path                Изменить владельца файла 'path' на 'own'
    help                          Показать эту справку
    get remote-path [local-path]  Скачать файл
    lls [ls-options [path]]       Показать содержимое локальной директории
    ln oldpath newpath            Создать символическую ссылку на удалённый файл
    lmkdir path                   Создать локальную директорию
    lpwd                          Показать текущую локальную рабочую директорию
    ls [path]                     Показать содержимое удалённой директории
    lumask umask                  Установить локальную umask в 'umask'
    mkdir path                    Создать удалённую директорию
    put local-path [remote-path]  Загрузить файл
    pwd                           Показать текущую удалённую рабочую директорию
    exit                          Выйти из sftp
    quit                          Выйти из sftp
    rename oldpath newpath        Переименовать удалённый файл
    rmdir path                    Удалить удалённую директорию
    rm path                       Удалить удалённый файл
    symlink oldpath newpath       Создать символическую ссылку на удалённый файл
    version                       Показать версию SFTP
    !command                      Выполнить 'command' в локальной оболочке
    !                             Перейти во временную локальную оболочку
    ?                             Синоним команды help
    

    Возможность редактирования удаленных файлов

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

    1. Встроенные возможности редакторов

    Vim/Neovim - поддерживает прямое редактирование через SCP/SFTP:^1

    vim scp://пользователь@сервер//путь/к/файлу
    # Или в vim:
    :e scp://пользователь@сервер//путь/к/файлу
    

    2. Монтирование файловой системы с SSHFS

    Самый удобный способ - монтировать удаленную папку как локальную:^3^1

    # Установка SSHFS
    sudo apt install sshfs    # Ubuntu/Debian
    sudo dnf install sshfs    # Fedora/CentOS
    
    # Монтирование
    mkdir ~/remote
    sshfs пользователь@сервер:/путь ~/remote
    
    # Теперь можно редактировать файлы любым редактором
    nano ~/remote/файл.txt
    code ~/remote/проект/
    
    # Размонтирование
    fusermount -u ~/remote
    

    Преимущества SSHFS:

    • Работает с любым текстовым редактором^5
    • Поддерживает все возможности IDE (LSP, автодополнение)^1
    • Прозрачная работа с файлами как с локальными^4

    3. Visual Studio Code с SFTP плагинами

    VS Code имеет отличную поддержку удаленного редактирования:^7^9

    Плагин SFTP:

    • Автоматическая синхронизация при сохранении^7
    • Двусторонняя синхронизация файлов^8
    • Поддержка SSH-ключей^7

    Remote SSH (рекомендуемый):

    • Полная интеграция с удаленной системой^10
    • Встроенный терминал на сервере^12
    • Работа с Git на удаленной машине^11

    4. Специализированные редакторы

    WinSCP (Windows) - встроенный текстовый редактор:^13^15

    • Прямое редактирование файлов на сервере^14
    • Интеграция с внешними редакторами (Notepad++)^13
    • Автоматическая синхронизация^15

    5. Консольные редакторы на сервере

    Если у вас есть SSH доступ, можно использовать редакторы прямо на сервере:^16

    ssh пользователь@сервер
    nano /путь/к/файлу        # простой редактор
    vim /путь/к/файлу         # продвинутый редактор
    

    Рекомендации

    Для разработки проектов: используйте VS Code с Remote SSH плагином - это даст полную интеграцию с удаленной системой.^10

    Для быстрого редактирования: монтируйте папки через SSHFS - позволит использовать любимый локальный редактор.^5

    For occasional editing: используйте vim с SCP протоколом или консольные редакторы на сервере.^2

    Все эти методы гораздо удобнее, чем постоянное скачивание/загрузка файлов через SFTP команды get/put.
    ^18^20^22^24^26^28^30^32^34^36^38

    ⁂
    1 ответ Последний ответ
    2
    • SkitRaS Не в сети
      SkitRaS Не в сети
      SkitRa
      написал в отредактировано
      #2

      Руководства прямо хотелось бы отдельно выделить. Чтобы новички могли быстро ориентироваться на эту тему! Очень полезно, написано доступным языком, не приходится грубо говоря ситеть с хвататься за голову. Всё четко и понятно,как всегда! Рекспект!

      1 ответ Последний ответ
      1
      • AladdinA Не в сети
        AladdinA Не в сети
        Aladdin
        js
        написал отредактировано
        #3

        Возможно кому-то покажется удобнее lftp , потому что поддерживает автодополнение и на локальной и на удаленной машине
        Гайд по lftp

        Gleb_OsinG 1 ответ Последний ответ
        0
        • AladdinA Aladdin

          Возможно кому-то покажется удобнее lftp , потому что поддерживает автодополнение и на локальной и на удаленной машине
          Гайд по lftp

          Gleb_OsinG Не в сети
          Gleb_OsinG Не в сети
          Gleb_Osin
          написал отредактировано
          #4

          @Aladdin как по мне, удобно и тем и другим способом. Тут выбор наверно больше по понимания темы зависит.

          1 ответ Последний ответ
          0

          Категории

          • Главная
          • Новости
          • Фронтенд
          • Бекенд
          • Языки программирования

          Контакты

          • Сотрудничество
          • info@exlends.com
          • Наш чат
          • Наш ТГ канал

          © 2024 - 2025 ExLends, Inc. Все права защищены.

          Политика конфиденциальности
          • Войти

          • Нет учётной записи? Зарегистрироваться

          • Войдите или зарегистрируйтесь для поиска.
          • Первое сообщение
            Последнее сообщение
          0
          • Лента
          • Категории
          • Последние
          • Метки
          • Популярные
          • Пользователи
          • Группы