Команда sftp для отримання / завантаження .tar.gz файлу


16

Я думав, що я знайомий з sftpкомандами в unix і підтвердив свої знання командою, яка використовується для завантаження compressedфайлу з сервера

sftp отримати filename.tar.gz

Але коли я спробував цю команду, файл видаляється, я маю на увазі розмір файлу 0 і не знаю, чому це відбувається. Чи є якась інша команда спеціально для .tar.gzтипу файлів. Яка процедура отримання цих стислих файлів. Я використовую mac-термінал.


2
Вам не потрібно включати адресу сервера? Яку саме команду ви ввели?
Faheem Mitha

@FaheemMitha Я ввійшов на сервер за допомогою команди sftp. sftp user [at] сервер і в терміналі sftp, який я використовував> get filename.tar.gz
GIRI

Відповіді:


24

get є юридичною командою sftp, але не може бути використана таким чином.

Правильний синтаксис для завантаження filename.tar.gzна ваш Mac:

sftp user@host:/path/to/filename.tar.gz /some/local/folder

(Замініть userкористувача, якого ви використовуєте для підключення до віддаленого сервера, і замініть hostім'я віддаленого сервера.)

Для tar.gzфайлів у вищевказаній команді немає нічого особливого , вона є загальною для будь-якого розширення.

Для використання getпотрібно спочатку увійти в інтерактивний режим:

  1. Встановіть з'єднання з віддаленим сервером:

    sftp user@host
    

    Зачекайте, поки >в новому рядку з'явиться запит sftp - тепер ви можете вводити свої команди.

  2. Змініть віддалений шлях на /path/to:

    cd /path/to/
    
  3. Змініть локальний шлях на /some/local/folder:

    lcd /some/local/folder
    
  4. Використовуйте getдля завантаження файлу:

    get filename.tar.gz
    

Ні, це не працює, я спробував ваші пропозиції. спробував змінити місцеві шляхи, але ефекту не було.
GIRI

Чи можете ви опублікувати вихід команди sftp?
Жауме

Немає такого виводу, оскільки sftp > get filename.tar.gzфайл не завантажується, а пам'ять стає 0.
GIRI

Ні, sftp > get filename.tar.gzні, як розміщено у вашому запитанні, не sftp get filename.tar.gzбуде працювати. Правильний синтаксис - це sftp user@host:/path/to/filename.tar.gz /some/local/folder, як пояснено у моїй відповіді. Що відбувається , коли ви набираєте команду (замініть user, host, /path/toі /some/local/folderзі значеннями, які правильні у вашому середовищі) в терміналі , а потім натисніть клавішу Enter? Чи є вихід? Якщо це так, будь ласка, додайте його до нашого питання.
jaume

Виходу немає. це просто переходить до наступного рядка.
GIRI

0

Ось інший спосіб, якщо ви вже увійшли до сеансу sftp.

Якщо ви отримаєте:

sftp> get my-file.txt
get: failed to download /home/user/my-file.txt. Access is denied. 

Ви можете взяти до уваги, чи не маєте місцевих дозволів на написання. Щоб перевірити, куди буде завантажений файл, зробіть:

sftp> lpwd
C:\Users\user1\Documents

Взагалі "Документи" не є дозволеними. Отже, змініть редактор завантажень на C:\tmp:

sftp> lcd C:\tmp
sftp> get my-file.txt
    Downloading my-file.txt from /home/user/my-file.txt
    1% 437123KB    620KB/s 00:00:41 ETA

Зроблено

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.