Lftp
lftp:上傳文件時刪除文件夾前綴
由於命令行的 ftp 客戶端lftp ,我想將本地文件夾中的一些文件上傳到遠端文件夾。
我想要的是 :
在我的本地電腦中,我確實有:
me@local $ tree my-site ├── index.html └── css/
當我訪問我的 FTP 伺服器時,我想要:
me@ftp_server $ tree dev-site/ ├── index.html └── css/
我要做的是將目錄的本地內容上傳到遠端
my-site
目錄dev-site
;但不是my-site
目錄本身。所以我只想上傳文件並刪除這個目錄前綴名稱。我嘗試了什麼:
我試過這個:
# On my local computer : $ ls my-site/ $ lftp -u username,passwd ftp.foobar.cmo -e "mirror -R -p my-site/ dev-site/ ; quit"
可悲的是,它上傳到本地
my-site
目錄到遠端dev-site
,例如:# On my remote ftp server : $ tree dev-site/ └── my-site/ ├── index.html └── css/
解決方法:
如果我這樣做,它會按預期工作:
# On my local computer : $ cd my-site/ $ lftp -u username,passwd ftp.foobar.cmo -e "mirror -R -p ./ dev-site/ ; quit"
但我想避免這種骯髒
cd
的。問題:
有沒有辦法在上傳文件時刪除目錄前綴,以便上傳目錄的內容而不是目錄本身?
那如果你在目標 ftp 目錄中沒有最後一個斜杠就做鏡像?
lftp -u user,password -e 'mirror -R -p /home/user/my-site dev-site ; quit' ftp.foo.cmo
使用 lftp 3.7.3 版在這里工作:
adminnicolas@fw1:~$ lftp --version LFTP | Version 3.7.3 | Copyright (c) 1996-2008 Alexander V. Lukyanov