如何使用curl连接SFTP并列出test_folder目录下的文件
curl SFTP 列目录操作方法
你现有的命令仅会建立基础SFTP连接,只要做简单调整即可返回目标目录下的文件列表:
基础目录列表获取
在目标目录的URL末尾添加斜杠/,明确告知curl你访问的是目录而非单个文件,命令如下:
curl -k "sftp://url.test.com/test_folder/" --user "username:password"
更稳定的列表输出
添加--list-only参数,curl会专门返回目录的文件列表,不会尝试读取目录的内容数据,避免出现异常输出:
curl -k --list-only "sftp://url.test.com/test_folder/" --user "username:password"
递归列出所有子目录文件
如果需要同时列出test_folder下所有子目录内的文件,额外添加-r参数即可:
curl -k -r --list-only "sftp://url.test.com/test_folder/" --user "username:password"
额外注意事项
- 不要在生产脚本中直接写明文密码,你可以通过
~/.netrc文件存储SFTP认证信息,或者通过环境变量传递密码,避免凭证泄露 - 如果需要把文件列表保存到本地,直接在命令末尾添加重定向即可,比如追加
> sftp_file_list.txt就能把列表写入本地的sftp_file_list.txt文件
内容的提问来源于stack exchange,提问作者Padfoot123
相关产品推荐
相关产品推荐

