2012-03-02 45 views
5

如何执行目录列表,但只显示目录?FTP命令仅列出目录。不可能?

我试过ls | grep的“/”,但它得到了拒绝与错误: 用法:LS远程目录本地文件

这是因为在FTP命令行是不是你平常的Linux命令行不同,但我想知道如果有一些相当于FTP命令

在此先感谢

回答

6

FTP协议不直接支持这样的功能。然而,它确实允许一些服务器用于接受诸如使用ls样式参数(例如LIST -d,如bdk所述)的广义解释。

如果服务器没有这样宽泛的解释,您只需从列表中检索这些信息即可。不幸的是,这个标准并没有为此提供固定的格式(虽然大多数服务器似乎都使用格式ls -l)。

0

只使用ftp本身可能是一个问题,但是如果你将输出管道输出到shell,你将不会有问题。

ftp -i myhost.com/yolo/ <<< "ls -1R all_files_list.txt" 

我们可以看到在该文件中的每个listng都包含像“-rwxrwxrw”这样的文件权限签名。寻找一点点,你会本身,所有的目录,以“d”

所以

grep '^d' all_files_list.txt > only_directories_list.txt