lftp
可以获取符号链接指向的文件,但如果这些文件位于符号链接表示的目录中,它是否可以获取这些文件? 例如,我希望在
ftp://ftp.ncbi.nlm.nih.gov/genomes/genbank/bacteria/Acinetobacter_nosocomialis/all_assembly_versions/GCA_000162375.2_Acin_sp_RUH2624_V1/
其中/GCA_000162375.2_Acin_sp_RUH2624_V1/
是指向目录的符号链接。
我尝试将set ftp:list-options "-La"
添加到~/.lftprc,~.lftp/rc和/etc/lftp.conf。
这是我正在使用的命令:
lftp -c 'open -e "mirror -c -p --no-empty-dirs -I *.gz /genomes/genbank/bacteria/Acinetobacter_nosocomialis/ ~/ncbi_bacteria_mirror" ftp.ncbi.nlm.nih.gov'
此命令适用于 ftp://ftp.ncbi.nlm.nih.gov/genomes/genbank/bacteria/Pseudomonas_sp._URMO17WK12_I11/all_assembly_versions/
其中/all_assembly_versions/
不是符号链接。 但是,它不会递归地遵循其中包含的符号链接目录并从这些目录中获取文件,如果可能的话,我希望它这样做。
文件名解析为磁盘上的文件,从而解析符号链接是在服务器上完成的。因此,ftp 客户端不需要解析这些链接,这意味着它甚至不会通过尝试猜测目录列表的格式来尝试它。
我不确定我是否理解这个问题,答案隐藏在其中:-L
标志是你想要的。
引用 lftp 的手册页:
-L, --dereference download symbolic links as files
真的是这样!