簡介
LFTP
是一個命令行 FTP
客戶端,支持多種文件傳輸協議,包括 FTP、FTPS、HTTP、HTTPS和SFTP
。它以其通過鏡像、后臺操作和腳本支持等特性有效管理復雜傳輸的能力而聞名。
安裝
Ubuntu/Debian
sudo apt update
sudo apt install lftp
CentOS/RHEL/Fedora
sudo yum install lftp
常用選項
-
-u
:指定用戶名和密碼 -
-e
:打開連接后執行命令 -
-f
:使用腳本文件執行命令 -
-c
:啟動 LFTP 并直接運行命令(無需進入交互模式) -
--parallel
:啟用多個并行連接以提高下載/上傳速度 -
-p
:為 FTP 或 SFTP 服務器設置自定義端口
常用子命令
-
open
:打開與服務器的連接 -
ls
:列出遠程服務器上的文件和目錄 -
cd
:更改遠程服務器上的目錄 -
get
:從遠程服務器下載文件 -
put
:將文件上傳到遠程服務器 -
mget
:下載多個文件 -
mput
:上傳多個文件 -
mirror
:鏡像(同步)目錄 -
exit
:退出 LFTP 會話 -
set
:設置各種 LFTP 選項(例如速度限制) -
-u username,password
:指定用戶名和密碼 -
-e "command"
:連接后執行單個命令
示例用法
啟動 LFTP
只需在終端中輸入 lftp
即可啟動 LFTP
交互模式
lftp
連接到服務器
使用 open
命令連接到服務器。適用于任何受支持的協議(FTP、FTPS、SFTP 等)
lftp open ftp://username:password@hostname
示例
lftp open ftp://user:password@ftp.example.com
使用SFTP
lftp sftp://username@hostname
具有顯式 SSL/TLS 加密的 FTP(FTPS)
lftp -u username,password -e "set ftp:ssl-allow yes; open ftp://hostname"
列出遠程服務器上的文件
ls
更改目錄
cd remote_directory
上傳文件
put local_file
上傳多個文件
mput *.txt
下載文件
get remote_file
下載多個文件
mget *.txt
鏡像目錄
- 將遠程鏡像到本地
mirror remote_directory local_directory
- 本地鏡像到遠程
mirror -R local_directory remote_directory
- 使用附加選項進行鏡像
使用 --delete
刪除源上不再存在的文件
mirror --delete remote_directory local_directory
退出 LFTP
exit
后臺傳輸
lftp -e "get remote_file &"
后臺傳輸多個命令
多個命令用分號隔開
lftp -e "open ftp://username:password@hostname; get remote_file; exit"
在腳本中使用 LFTP
#!/bin/bash
lftp -e "open ftp://username:password@hostname; put local_file; get remote_file; exit"
設置傳輸速率
lftp -e "set net:limit-rate 100000; open ftp://username:password@hostname; get remote_file; exit"
遞歸文件下載
lftp -e "mirror --reverse --verbose /remote_path /local_path; exit"
并行連接
lftp -u username,password -e "set mirror:parallel-transfer-count 5; mirror remote_directory local_directory; exit"