2009-08-13 172 views

回答

1

就像您從任何其他命令行上傳整個文件夾:

  1. 做一個zip或tar歸檔出來, 然後把存檔。
  2. 如果你想要 上傳單個文件,但他們做的所有 ,使用「mput」。
0

你試過mput嗎?你可以通過它通配符(*)上傳所有的文件...

+0

我把「放*文件夾名」,我得到「文件夾名:不是一個普通的文件。」 – HollerTrain 2009-08-13 18:08:49

0

似乎有一些問題是否通過mac的ftp是能夠處理遞歸複製。
如果您有兩臺機器的ssh訪問權限,可以從源計算機上執行此操作: tar -cf - directory | ssh user @ hostB「cd target_dir; tar -xf - 」

mput *應該對目錄中的對象正常工作,但是如果你有子目錄,它可能在拾取文件時遇到問題。

16
terminal>ftp [email protected] 
    password:xXxXx 
    ftp>mkdir <remote dir> 
    ftp>cd <remote dir> 
    ftp>lcd <local dir> 
    ftp>mput * 
    ftp>close 

這將

  • 連接
  • 創建遠程目錄(或文件夾)
  • cd進入這個目錄
  • cd到本地目錄(如果你沒有從那裏開始
  • 複製多個文件(全部)
  • 再次註銷

see the man page online

+1

非常適合我!謝謝!我會改變的一件事是我會使用'sftp'來代替。相同的命令,就是它說'ftp'使用'sftp'的地方。它更安全。 – daviesgeek 2012-09-23 05:07:21

24

你有使用ftp?當遠程主機支持ssh時,我喜歡使用scp(安全拷貝)(正如其中的很多)。

scp -r mydirectory [email protected]:destdir

-r的意思是「遞歸」,所以將遞歸複製整個目錄。將username替換爲您的用戶名等。destdir是遠程服務器上的相對路徑(只要您不使用前導斜槓/ - 那麼它將成爲遠程服務器上的相對路徑絕對路徑。

+17

爲什麼提供這個答案..他要求FTP!理由使用FTP DO存在......不管我是否喜歡SCP更好......這是我真正做 – kasthor 2012-11-07 23:59:01

+3

@ksthor好一點,但是這是我一直在尋找,當我用Google搜索答案「上傳整個文件夾的ssh」 :) – Automatico 2014-04-26 10:18:17

+0

因爲它是尋找**類似**問題解決方案的其他人的好資源。是的,即使在2017年,@ kasthor。 – LinusGeffarth 2017-10-03 20:12:47

8

mput是該任務的正確命令,但我認爲OS X的ftp命令行客戶端的實現不支持通過mput *遞歸複製目錄。

因此,一個可能的解決方案可能是使用另一種ftp命令行客戶端,如NcFTP,它隨許多Linux發行版一起提供,也可用於OS X.有關詳細信息,請參閱NcFTP download page

ncftpput -R -u user -p passwd <remote-host> <remote-dir> <local-dir> 

-R用於遞歸模式。

+0

謝謝@Joker對NcFTP的建議。這完全符合我的需求。我能夠傳輸一個完整的目錄,並且在腳本文件中有一行代碼是很優雅的。 – theUtherSide 2014-02-04 20:31:32

+1

要在Mac上安裝的ncftp這些天,你可以'釀造安裝ncftp'(假設你有自制軟件,這你應該) – 2014-08-15 21:26:56

1

前往 - 連接到服務器。輸入ftp://ip-address-of-other-box和適當的憑據。點擊+添加該服務器,然後雙擊打開它。您現在可以拖放文件夾,並將遞歸複製。

+0

這對我的偉大工程......但只有只讀,出於某種原因。不會讓我上傳任何東西。 – 2014-08-15 21:23:13

+2

他問如何與終端做到這一點。 – 2016-10-04 12:55:34