kali - 如何在Linux上通過FTP遞歸下載文件夾




ubuntu ftp command (9)

wget -r ftp://url

適用於Redhat和Ubuntu

我試圖使用命令行ftp客戶端來ftp文件夾,但到目前為止,我只能使用'get'來獲取單個文件。


你不應該使用ftp 。 與telnet一樣,它不使用安全協議,密碼以明文形式傳輸。 這使得第三方很容易捕獲您的用戶名和密碼。

要遠程複製遠程目錄,這些選項更好:

  • 如果您可以通過sshrsync是最適合的工具,因為它僅複製差異,並且在連接斷開的情況下可以輕鬆地重新啟動。

  • ssh -r是遞歸複製目錄結構的第二好選擇。

看到:


只是為了補充ThibautBarrère給出的答案。

我用了

wget -r -nH --cut-dirs=5 -nc ftp://user:[email protected]//absolute/path/to/directory

請注意服務器名稱後面的雙斜線。 如果我沒有額外的斜杠,路徑是相對於用戶的主目錄。

  • -nH避免創建以服務器名稱命名的目錄
  • -nc避免創建一個新的文件,如果它已經存在於目的地(它只是被跳過)
  • --cut-dirs = 5允許我將/ absolute / path /的內容放到/目錄中,並將其放入我啟動wget的目錄中。 數字5用於過濾路徑的5個組件。 雙斜杠意味著額外的組件。

如果lftp安裝在您的機器上,請使用mirror dir 。 你完成了。 如果您想遞歸下載目錄,請參閱下面Ciro的評論。


如果可以的話,我強烈建議你在遠程機器上使用tarbzip (或gzip ,不管什麼浮標)目錄 - 對於任何大小的目錄,帶寬節省可能值得花時間進行壓縮/解壓縮。


如果您可以使用scp而不是ftp-r選項將為您執行此操作。 我會檢查是否可以使用比FTP更現代的文件傳輸機制。


有'ncftp'可用於在Linux中安裝。 這適用於FTP協議,可用於遞歸下載文件和文件夾。 在linux上工作。 已被使用並且對於遞歸文件夾/文件傳輸正常工作。

檢查此鏈接... http://www.ncftp.com/


試試mget:

   mget remote-files
              Expand the remote-files on the remote machine and do a get for each file  name  thus  produced.
              See  glob  for  details on the filename expansion.  Resulting file names will then be processed
              according to case, ntrans, and nmap settings.  Files are transferred  into  the  local  working
              directory, which can be changed with ‘lcd directory’; new local directories can be created with
              ‘! mkdir directory’.

您可能還需要關閉提示,以便它不要求每個文件(請參閱propmt命令)

但如果可以的話,通過ssh使用scp或rsync可能比ftp更好。

回顧一下:

cd /dir
prompt
interactive mode off
mget *

ncftp -u <user> -p <pass> <server>
ncftp> mget directory




ftp