前言
通过ftp客户端命令,对FTP服务器上文件的上传和下载
下载ftp客户端
MacOS
报错
1 2
| Cannot install inetutils because conflicting formulae are installed. telnet: because both install `telnet` binaries
|
原因
- Apple的telnet与GNU的telnet发生了冲突
解决问题
登录ftp服务器
先进入客户端,后验证身份
直接指定远端地址
<ip>
:远端ftp服务器的IP地址
指定端口号
<port>
:指定端口号
验证身份
进入客户端后指定远端地址
进入ftp客户端程序
指定远端地址
验证身份
进入客户端时直接验证身份
终端隐藏密码登录
<username>
:用户名
指定端口号
1
| ftp <username>@<ip> <port>
|
验证密码
终端明文密码登录
<password>
:密码
1
| ftp <username>:<password>@<ip>
|
指定端口号
1
| ftp <username>:<password>@<ip> <port>
|
上传文件
设置模式
- 模式切换主要是针对于防止Windows上的换行符
\r\n
出错
- 如果想要自动处理
\r\n
,也就是处理文本文件时,推荐使用ASCII模式
- 如果想要不处理
\r\n
,也就是处理非文本文件时,推荐使用二进制模式
切换为ASCII模式(缺省值)
切换为二进制模式
上传单个文件
<file_local>
:本地文件路径(上传前)
<file_remote>
:远程文件路径(上传后)
1
| ftp> put <file_local> <file_remote>
|
上传多个文件
- 使用mput可以上传多个文件,但是mput不支持绝对路径,所以无论是本地还是远程,都要切换到文件的(上传前/上传后)路径
1 2 3 4 5 6 7 8
| # 先切换本地文件所在的路径 ftp> lcd /
# 再切换远程想要存放文件的路径 ftp> cd /
# 开始上传所有文件 ftp> mput *
|
下载文件
1
| ftp> get <file_remote> <file_local>
|
下载多个文件
1 2 3 4 5 6 7 8
| # 先切换本地文件所在的路径 ftp> lcd /
# 再切换远程想要存放文件的路径 ftp> cd /
# 开始下载所有文件 ftp> mget *
|
基本命令
操作远端的命令 |
操作本机的命令 |
|
lcd / |
cd / |
切换目录 |
lpwd |
pwd |
查看当前目录 |
lls |
ls |
查看当前目录下的所有文件 |
lmv <file_old> <file_new> |
mv <file_old> <file_new> |
移动文件或目录 |
lrename <name_old> <name_new> |
rename <name_old> <name_new> |
重命名文件或目录 |
lrm <file> |
rm <file> |
删除文件或目录 |
lmkdir <dir> |
mkdir <dir> |
新建目录 |
lrmdir <dir> |
rmdir <dir> |
删除目录 |
修改文件访问权限
777
:读、写、执行权限
<owner>
:所有者
1 2 3
| ftp> chmod 777 <file_remote>
ftp> chown <owner> <file_remote>
|
建立软连接
1
| ftp> ln -s <file_from> <file_to>
|
中断连接
退出ftp客户端
查看帮助
查看指定命令的帮助
<command>
:明令
查看远程主机的操作系统
查看当前ftp的状态
查看协议版本
完成
参考文献
博客园——为牧
博客园——loanhicks
51CTO——freefly310