【笔记】Ftp学习笔记

前言

通过ftp客户端命令,对FTP服务器上文件的上传和下载

下载ftp客户端

MacOS

1
brew install inetutils

报错

1
2
Cannot install inetutils because conflicting formulae are installed.
telnet: because both install `telnet` binaries
原因
  • Apple的telnet与GNU的telnet发生了冲突
解决问题
  • 方法一:卸载Apple的telnet
1
brew uninstall telnet
  • 方法二:解除与Apple的telnet的软链接
1
brew unlink telnet

登录ftp服务器

先进入客户端,后验证身份

直接指定远端地址

<ip>:远端ftp服务器的IP地址

1
ftp <ip>
指定端口号

<port>:指定端口号

1
ftp <ip> <port>
验证身份
  • 根据提示验证用户名和密码

进入客户端后指定远端地址

进入ftp客户端程序
1
ftp
指定远端地址
1
ftp> open <ip>
验证身份
  • 根据提示验证用户名和密码

进入客户端时直接验证身份

终端隐藏密码登录

<username>:用户名

1
ftp <username>@<ip>
指定端口号
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模式(缺省值)

1
ftp> asc

切换为二进制模式

1
ftp> bin

上传单个文件

  • ftp不支持上传文件夹

<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 *

下载文件

  • ftp不支持下载文件夹
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>

中断连接

1
ftp> close

退出ftp客户端

1
2
3
ftp> quit

ftp> bye

查看帮助

1
ftp> help

查看指定命令的帮助

<command>:明令

1
ftp> help <command>

查看远程主机的操作系统

1
ftp> system

查看当前ftp的状态

1
ftp> status

查看协议版本

1
ftp> version

完成

参考文献

博客园——为牧
博客园——loanhicks
51CTO——freefly310