# ftp **Repository Path**: hhf002/ftp ## Basic Information - **Project Name**: ftp - **Description**: 一个Java写的简单的ssh/sftp/ftps/ftp客户端命令行工具 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 1 - **Created**: 2022-01-28 - **Last Updated**: 2024-11-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 一个简单的ssh/sftp/ftps/ftp客户端命令行工具 #### 实现方式 - spring-shell: 命令行基础框架 - commons-net: 实现ftp/ftps基础命令 - sshj:实现sftp/ssh基础命令 #### 特点 支持以下基础命令操作,更多命令开发中... + put 上传文件 + get 下载文件 + scpPut SSH连接模式下使用SCP上传文件 + scpGet SSH连接模式下使用SCP下载文件 + rm 递归删除文件或目录,该命令相当于linux中的"rm -rf"命令,请谨慎使用 + cd 跳转工作目录 + pwd 当前工作目录 + cdup 跳转到父目录 + mkdir 递归创建目录 + ls 查看目录文件列表 + mv 移动文件/文件重命名 + close 关闭ssh/sftp/ftps/ftp连接 + bash 执行bash命令,支持执行ftp、sftp、ssh原生命令 `注意:命令多个参数是用空格隔开的,如果参数内部有空格需要把这个参数用引号括起来` FTP连接命令, 命令连接成功后会有提示信息,并且“shell>”输入命令提示符会变成“ftp>”,FTP/FTPS的所有命令都有一个缺省参数在最后,可以人为指定FTP控制编码的格式 ``` shell> ftp username password hostname port ``` FTPS连接命令, 命令连接成功后会有提示信息,并且“shell>”输入命令提示符会变成“ftps>” ``` shell> ftps username password hostname port ``` SFTP连接命令, 命令连接成功后会有提示信息,并且“shell>”输入命令提示符会变成“sftp>” ``` shell> sftp username password hostname port ``` SSH连接命令, 命令连接成功后会有提示信息,并且“shell>”输入命令提示符会变成“ssh>” ``` shell> ssh username password hostname port ``` 基础命令示例 ``` shell> ls /data/app/ ``` BASH命令示例 ``` shell> bash 'cd /data/app && ls -al' ``` FTP上传示例,第一个参数是本地文件路径,第二个参数是ftp目录 ``` ftp> put C:\\Users\\admin\\Desktop\\测试文件.xlsx /liz ### 如果文件夹或文件中有空格字符,参数需要用引号引起来,单双引号均可以 ftp> put "C:\\Users\\admin\\Desktop\\测试 文件.xlsx" /liz ### 带控制编码格式的命令,FTP/FTPS其它命令均可以手动指定控制编码,都是在命令最后加一个编码参数 ftp> put "C:\\Users\\admin\\Desktop\\测试 文件.xlsx" /liz GBK ``` FTP下载示例 ``` ftp> get /liz/测试文件.xlsx C:\\Users\\admin\\Desktop ``` FTP删除文件示例 ``` ftp> rm /liz/测试文件.xlsx ``` FTP移动文件或文件重命名示例 ``` ftp> mv /liz/汉字目录1/测试文件.xlsx /liz/汉字目录2/测试文件.xlsx ``` FTP创建目录示例 ``` ftp> mkdir /liz/创建一个汉字目录 ``` FTP查看当前工作目录 ``` ftp> pwd ``` FTP切换工作目录 ``` ftp> cd /liz/创建一个汉字目录 ``` FTP查看当前工作目录文件列表 ``` ftp> ls ``` 退出FTP连接 ``` ftp> close ``` 其它操作命令可以查看help ``` shell> help ``` #### 开发运行环境 JDK8、Maven #### 启动 `java -jar ftp.jar`