我想通过命令行的 ftp 客户端将本地文件夹中的某些文件上传到远程文件夹远程传输协议。
我想要的是 :
在我的本地计算机中,我确实有:
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
。
问题:
有没有办法在上传文件时删除目录前缀,以便上传目录的内容而不是目录本身?
答案1
如果您在目标 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