Linux每日一篇 - 58 - ftp
Linux文件传输神器!掌握ftp命令,使用FTP协议传输文件,提供交互式操作!
ftp命令是什么?
ftp是”File Transfer Protocol”的缩写,是一个标准的网络协议,用于在客户端和服务器之间传输文件。虽然不如sftp安全,但在某些场景下仍有使用价值。
基本用法
# 连接到FTP服务器
ftp hostname
# 连接到FTP服务器(指定端口)
ftp -p hostname 2121
# 匿名登录
ftp ftp.example.com
# 用户名登录
ftp username@hostname
实用技巧
# 在ftp会话中常用命令:
# 登录认证
open hostname
user username
password
# 文件操作
ls # 列出远程目录
cd dir # 切换远程目录
pwd # 显示远程当前目录
get file.txt # 下载文件
mget *.txt # 批量下载文件
put localfile.txt # 上传文件
mput *.txt # 批量上传文件
# 目录操作
mkdir dirname # 创建远程目录
rmdir dirname # 删除远程目录
delete filename # 删除远程文件
# 本地操作
!ls # 执行本地命令
lcd dir # 切换本地目录
lpwd # 显示本地当前目录
# 传输模式
ascii # 设置ASCII传输模式
binary # 设置二进制传输模式(推荐)
常用场景
# 脚本化FTP操作
ftp -n hostname << EOF
user username password
binary
cd /remote/directory
lcd /local/directory
mget *.log
quit
EOF
# 上传文件
ftp -n hostname << EOF
user username password
binary
cd /upload
put local_file.txt
quit
EOF
# 批量下载
ftp -n hostname << EOF
user username password
binary
cd /downloads
mget file1.txt file2.txt
quit
EOF
# 上传整个目录(需要先创建)
ftp -n hostname << EOF
user username password
binary
mkdir /remote/directory
cd /remote/directory
mput /local/directory/*
quit
EOF
# 仅检查连接
ftp -n hostname << EOF
user username password
ls
quit
EOF