我如何执行目录列表,但只显示目录?
我试过ls | grep'/'但它被拒绝了,错误: 用法:ls remote-directory local-file
这是因为FTP中的命令行与你通常的linux命令行不同,但我想知道在FTP命令中是否有相同的东西
提前致谢
FTP协议不直接支持这样的功能。 但是,它确实允许一些服务器用来接受诸如使用ls
风格参数(例如,bdk所提到的LIST -d
)的广义解释。
如果服务器没有这样宽泛的解释,您只需从列表中检索这些信息即可。 不幸的是,这个标准并没有提供固定的格式(虽然大多数服务器似乎都使用ls -l
格式)。
使用ftp本身可能是一个问题,但是如果将输出管道输出到shell,那么问题就更少了。
ftp -i myhost.com/yolo/ <<< "ls -1R all_files_list.txt"
我们可以看到该文件中的每个列表都包含像“-rwxrwxrw”这样的文件权限签名。 一点点看,你会认为所有的目录开始与'D'
所以
grep '^d' all_files_list.txt > only_directories_list.txt