我尝试递归下载远程文件夹(cd光盘已安装到此文件夹),但失败,可能是由于非ascii文件名造成的:
> sftp mati@mati
mati@192.168.1.3's password:
Connected to mati@mati.
sftp> cd "/run/media/mati/Marcin Zielinski/"
sftp> ls -l
dr-x------ 1 mati mati 2048 Aug 23 2017 K1 - BÓG NIE DAJE TANDETY, ALE TO, CO NAJLEPSZE
(...)
sftp> get -r "K1 - BÓG NIE DAJE TANDETY, ALE TO, CO NAJLEPSZE"
Fetching /run/media/mati/Marcin Zielinski/K1 - BÓG NIE DAJE TANDETY, ALE TO, CO NAJLEPSZE/ to K1 - BÓG NIE DAJE TANDETY, ALE TO, CO NAJLEPSZE
Retrieving /run/media/mati/Marcin Zielinski/K1 - BÓG NIE DAJE TANDETY, ALE TO, CO NAJLEPSZE
Couldn't open local file "K1 - B\303\223G NIE DAJE TANDETY, ALE TO, CO NAJLEPSZE/1 - K1-B\303\263g nie daje tandety, ale to co najlepsze.mp3" for writing: Permission denied
Download of file /run/media/mati/Marcin Zielinski/K1 - B\303\223G NIE DAJE TANDETY, ALE TO, CO NAJLEPSZE/1 - K1-B\303\263g nie daje tandety, ale to co najlepsze.mp3 to K1 - B\303\223G NIE DAJE TANDETY, ALE TO, CO NAJLEPSZE/1 - K1-B\303\263g nie daje tandety, ale to co najlepsze.mp3 failed
(...)
我看到非ascii字母被翻译了,例如错误消息中的Ó
是\303\223
,这也许就是它失败的原因(UPDATE:这不是原因)。 如何使用sftp递归下载整个文件夹?
当我使用folder/*
表示法下载文件时,一切正常(文件名未翻译):
sftp> get -r "K1 - BÓG NIE DAJE TANDETY, ALE TO, CO NAJLEPSZE"/*
Fetching /run/media/mati/Marcin Zielinski/K1 - BÓG NIE DAJE TANDETY, ALE TO, CO NAJLEPSZE/1 - K1-Bóg nie daje tandety, ale to co najlepsze.mp3 to 1 - K1-Bóg nie daje tandety, ale to co najlepsze.mp3
/run/media/mati/Marcin Zielinski/K1 - BÓG NIE DAJE TANDETY, ALE TO, CO NAJLEPSZE/1 - K1-Bóg nie daje tandety, ale to co najlepsze.mp3 100% 2395KB 97.7MB/s 00:00
Fetching /run/media/mati/Marcin Zielinski/K1 - BÓG NIE DAJE TANDETY, ALE TO, CO NAJLEPSZE/2 - K1-Bóg nie daje tandety, ale to co najlepsze.mp3 to 2 - K1-Bóg nie daje tandety, ale to co najlepsze.mp3
/run/media/mati/Marcin Zielinski/K1 - BÓG NIE DAJE TANDETY, ALE TO, CO NAJLEPSZE/2 - K1-Bóg nie daje tandety, ale to co najlepsze.mp3 100% 4585KB 107.6MB/s 00:00
(...)
本地和远程主机都在运行Manjaro x64。
答案 0 :(得分:0)
sftp客户端和sftp服务器都需要配置为UTF8编码。
完成后,它应该可以正常工作。
答案 1 :(得分:0)
问题在于远程服务器上的目录权限。它们缺少“写入”权限,因此下载时我无法在其中保存任何文件。我将整个目录复制到/tmp/cd_disc
,并用chmod -R u+w /tmp/cd_disc
更改了所有权限,然后可以通过sftp下载/tmp/cd_disc
,没有任何问题。