我经常搜索并搜索了很多,但我找不到任何东西......
我在linux上使用bash ......
我必须从ftp服务器下载某个文件夹(我知道ftp已被弃用,现在不能使用ftps或sftp,而不是本地网络)。
我想对下载的文件夹进行一种完整性检查,该文件夹包含很多子文件夹和文件,所以我选择比较文件夹大小作为测试。
我通过wget下载但我的问题是...如何在下载之前检查文件夹大小,以便我可以将大小存储在文件中,然后与下载的文件进行比较?在ftp中,所以......
我尝试使用简单的卷曲到父目录,但那里没有大小信息......
感谢您的帮助!!
答案 0 :(得分:0)
您无法通过协议FTP检查文件夹大小。尝试通过curlftpfs(如果可能)连接主服务器上的远程文件夹。
答案 1 :(得分:0)
wget
将以递归方式逐个下载所有目录内容。使用ftp无法确定整个目录的大小。尽管使用ssh是可能的。
我建议在您的计算机上安装ssh服务器,获得访问权限后,您可以使用以下命令获取所需目录的大小:
du -h desired_directory | tail -n 1
我不建议使用此方法,获取远程内容的哈希校验和并将其与下载的内容进行比较更为可靠。它更可靠,许多下载客户端已经使用它来检查文件的完整性。
答案 2 :(得分:0)
这主要取决于您的ftp
客户端和ftp
服务器可以执行的操作。据我所知,默认ls
完成了工作,他们甚至有size
命令:
ftp> help size
size show size of remote file
ftp> size foo
213 305
ftp> ls foo
200 PORT command successful.
150 Opening ASCII mode data connection for file list
-rw-r--r-- 1 foo bar 305 Aug 1 2013 foo
226 Transfer complete.