linux 通过sftp 获取远程文件


linux通过sftp获取远程文件步骤:
1)sftp username@hostname // 启用默认端口
// 若要指定端口号则语法为:sftp -P port username@hostname
// 或者 sftp username@hostname#port
2)输入连接到远程服务起用户名为username的密码
3)binary // 选择文件传输模式为binary
// 可选值为 binary 和 ascii。
// sftp binary ascii 区别:binary模式不对数据进行任何处理,
// ascii模式将回车换行转换为本级的回车字符。
4)get filename // 下载远程文件到本地
5)exit // 退出sftp
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用以下代码来获取远程Linux服务器目录下的文件列表: ```java import com.jcraft.jsch.ChannelSftp; import com.jcraft.jsch.JSch; import com.jcraft.jsch.Session; import com.jcraft.jsch.SftpException; import java.util.Vector; public class SFTPExample { public static void main(String[] args) { String user = "username"; String password = "password"; String host = "hostname"; int port = 22; try { JSch jsch = new JSch(); Session session = jsch.getSession(user, host, port); session.setPassword(password); session.setConfig("StrictHostKeyChecking", "no"); session.connect(); ChannelSftp channelSftp = (ChannelSftp) session.openChannel("sftp"); channelSftp.connect(); Vector<ChannelSftp.LsEntry> files = channelSftp.ls("/remote/directory/path"); for (ChannelSftp.LsEntry file : files) { System.out.println(file.getFilename()); } channelSftp.disconnect(); session.disconnect(); } catch (Exception e) { e.printStackTrace(); } } } ``` 其中,user、password、host、port 分别为远程Linux服务器的用户名、密码、主机名和端口号。在代码中,我们使用 JSch 库来连接远程服务器,并通过 ChannelSftp 获取远程目录下的文件列表。具体来说,我们通过调用 `channelSftp.ls("/remote/directory/path")` 方法来获取指定目录下的文件列表,返回的是一个 `Vector<ChannelSftp.LsEntry>` 对象,其中每个元素代表一个文件或目录。我们可以遍历这个列表,并通过 `file.getFilename()` 方法获取每个文件或目录的名称。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值