FTP常用命令
open
用于连接 FTP 站点,指定端口、用户名、密码、IP等参数
- open [-e cmd] [-u user[,pass]] [-p port] host|url
复制代码
pwd 、 lpwd、cd、lcd
- 登录FPT 后
- pwd 命令用于显示服务器端的当前工作目录
- lpwd 用于显示本地机器上的当前工作目录
- cd 命令用于在服务器端切换路径
- lcd 用于在本地机器上切换路径
复制代码
get、 mget 用于从 FTP 上下载数据。 get 用于下载一个文件, mget 用于下载多个文件
- get [-E] [-a] [-c] [-O base] rfile [-o lfile] ...
- mget [-c] [-d] [-a] [-E] [-O base] files
-
- -c
- 支持断点续传。
- -E
- 成功下载后,删除服务器端的数据
- -a
- 使用 ascii 模式下载,默认为二进制模式下载
- -d
- 创建和下载文件名一致的文件夹,并将文件保存到文件夹中
- -O string
- 指定下载文件存放的路径
- -o string
- 将 get 命令下载数据的数据保存到此文件中
复制代码
pget用于从 FTP 上下载数据。该命令能使用多个连接下载数据,从而加大下载速度,但是会增大服务端和网络的负载
- pget [OPTS] rfile [-o lfile]
- -c
- 支持续传
- -n int
- 设置最大的连接数
复制代码
put、mput
用于将数据上传到服务器端。put用于上传一个文件,mput用于上传多个文件
- put [-E] [-a] [-c] [-O base] lfile [-o rfile]
- mput [-c] [-d] [-a] [-E] [-O base] files
-
- 参数和 get/mget 参数一致。
复制代码
mirror
用于将目标文件夹全部下载到指定目录中
- mirror [OPTS] [source [target]]
-
- mirror 的常用参数:
- -c
- 支持断点续传
- -R
- 反向 mirror,即将本地文件上传到服务器端
- --parallel=N
- 同时并行下载 N 个文件
- --use-pget=N
- 对每个文件使用 pget 下载,并设置 pget 的连接数。
复制代码
lftp参数
- -f file
- 执行该文件中的 FTP 命令,执行完毕后退出。
- -c cmd
- 将 FTP 命令直接写入到该参数后,执行其中的命令后退出。
- -u user[,passwd]
- 通过该参数输入用户名,同时可以选择输入密码。
- -p port
- 设置端口。默认为 21。
- -e cmd
- 在 lftp 命令后给出 FTP 位点, -u 和 -p 参数登录 FTP 后,再执行该参数后的 FTP 命令。
复制代码
脚本样例:
以下为一个使用lftp的案例,定义好ip,用户密码等变量,使用lftp登录sftp,进行上传文件操作
- #!/bin/bash
- HOST=1.1.1.1
- USER=root
- PASS=123
- echo "Starting to sftp..."
- lftp -u ${USER},${PASS} sftp://${HOST} <<EOF
- cd //picturefile/satellite
- mput *.*
- bye
- EOF
- echo "done"
复制代码