Wget

在使用者主目錄之外的目錄上使用 wget

  • October 10, 2018

我正在嘗試使用 wget 通過 FTP 鏡像目錄。我正在使用的命令是

wget -m ftp://user:pass@192.168.1.1/foo/bar/

但是,當我執行它時,我得到以下資訊:

--2018-10-10 15:01:32--  ftp://user:*password*@192.168.1.1/foo/bar/
      => ‘192.168.3.150/foo/bar/.listing’
Connecting to 192.168.1.1:21... connected.
Logging in as user ... Logged in!
==> SYST ... done.    ==> PWD ... done.
==> TYPE I ... done.  ==> CWD (1) /usr/user/foo/bar ... 
No such directory ‘foo/bar’.

我搜尋了手冊頁,並用Google搜尋,但我無法弄清楚。如何讓 wget 實際下載目錄“/foo/bar/”,而不是“/usr/user/foo/bar/”?

關於 stackoverflow 的一個類似問題(涉及 java 而不是 wget,但真正的根本問題在於 URL 語法,它希望與語言無關)通過添加另一個斜杠和 URL 編碼來解決,如下所示:

wget -m ftp://user:pass@192.168.1.1/%2Ffoo/bar/

即使沒有編碼,它也適用於我,只需一個額外的斜杠:

wget -m ftp://user:pass@192.168.1.1//foo/bar/

第一個斜杠被丟棄(僅用作主機和路徑之間的分隔符),第二個斜杠實際上算作路徑的一部分。

引用自:https://unix.stackexchange.com/questions/474642