从已安装的CD光盘递归下载文件的问题

时间:2018-09-05 15:21:11

标签: linux sftp

我尝试递归下载远程文件夹(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。

2 个答案:

答案 0 :(得分:0)

sftp客户端和sftp服务器都需要配置为UTF8编码。

完成后,它应该可以正常工作。

答案 1 :(得分:0)

问题在于远程服务器上的目录权限。它们缺少“写入”权限,因此下载时我无法在其中保存任何文件。我将整个目录复制到/tmp/cd_disc,并用chmod -R u+w /tmp/cd_disc更改了所有权限,然后可以通过sftp下载/tmp/cd_disc,没有任何问题。