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