我正在制作一个用于从本地服务器自动下载文件备份的脚本。有很多文件,所以为了避免下载未更改的文件,我想在下载任何东西之前将远程文件哈希与本地文件哈希进行比较。但是,我无法在我的 vsFTPd 服务器上使用 HASH 命令。
我认为这意味着 HASH 命令以某种方式被禁用或禁止,但数小时的谷歌搜索尚未告诉我如何启用它,或者 vsFTPd 是否支持 HASH 命令。
有人知道这是否可能吗?或者,如果 vsFTPd 不支持 HASH 命令,我可以使用另一个 Ubuntu 的 FTP 服务器吗?
这是一个例子:
erlend@server:~$ ftp localhost
Connected to localhost.localdomain.
220 (vsFTPd 3.0.3)
Name (localhost:erlend): erlend
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200 EPRT command successful. Consider using EPSV.
150 Here comes the directory listing.
-rw-r--r-- 1 1002 1002 102653 Oct 05 08:19 myfile.zip
226 Directory send OK.
但是当我尝试获取文件哈希时,我得到:
ftp> HASH myfile.zip
?Invalid command
如评论中所建议的,尝试不带参数(和小写!):
ftp> hash
Hash mark printing off.
ftp> hash
Hash mark printing on (1024 bytes/hash mark).
ftp> hash 1
Hash mark printing on (1 bytes/hash mark).
ftp> hash 2
Hash mark printing on (2 bytes/hash mark).
ftp> hash
Hash mark printing off.
ftp> hash myfile.zip
Hash mark printing off.