無需安裝任何圖形化工具,僅憑 Windows 內建的 ftp.exe 即可完成 FTP 伺服器的遠端登入、目錄瀏覽、檔案上傳下載、重新命名、刪除甚至密碼變更等核心管理任務。本文系統整理實戰指令集,適用於伺服器核心版、救援模式或禁裝第三方軟體的受限環境。
C:\> ftp 202.102.5.211
連線至 202.102.5.211。
220 FTP Server ready.
使用者 (202.102.5.211:(none)): syzx123
331 Password required for syzx123.
密碼: ********
230 User syzx123 logged in.
ftp>
參數技巧: ftp -s:script.txt 可執行腳本自動化;ftp -A 匿名登入;ftp -n 關閉自動登入(配合腳本 user 指令)。
| 指令 | 功能 | 範例 | 備註 |
|---|---|---|---|
dir / ls | 列出遠端目錄 | dir, ls -la | 權限範圍內可見 |
cd <目錄> | 切換遠端工作目錄 | cd public_html | |
lcd <路徑> | 切換本地工作目錄 | lcd D:\Backup | 本地操作不影響遠端 |
pwd | 顯示遠端當前路徑 | pwd | |
mkdir <目錄> | 建立遠端目錄 | mkdir logs | 需寫入權限 |
rmdir <目錄> | 刪除空遠端目錄 | rmdir old_backup | |
rename <舊名> <新名> | 重新命名檔案/目錄 | rename index.html index.bak | |
delete <檔案> | 刪除單一檔案 | delete temp.zip | |
mdelete <檔案> | 批次刪除(支援萬用字元) | mdelete *.tmp | 逐一確認,prompt 關閉確認 |
ascii:文字檔(HTML, CSS, JS, PHP, .txt, .csv),進行換行符轉換(CRLF ↔ LF)。binary / image:二進位檔(圖片、壓縮檔、執行檔、資料庫備份),預設且最安全,位元級完整傳輸。鐵律: 不確定時永遠用 binary。ASCII 模式傳輸二進位檔案將導致檔案損毀。
ftp> binary
200 Type set to I.
ftp> put web.config # 上傳單一檔案
ftp> get database.bak # 下載單一檔案
ftp> mput *.js # 批次上傳所有 .js
ftp> mget *.log # 批次下載所有 .log
搭配 prompt off 關閉逐一確認,hash 顯示進度條(每 1KB 顯示 #)。
| 指令 | 用途 | 範例 |
|---|---|---|
quote SITE CHMOD 644 file.php | 修改遠端檔案權限(需伺服器支援 SITE CHMOD) | quote SITE CHMOD 755 script.sh |
quote "SITE PSWD 舊密碼 新密碼" | 遠端變更 FTP 密碼(需伺服器支援 SITE PSWD) | 成功回應 230 Password Changed Okay |
status | 顯示目前連線狀態(模式、結構、類型、位元組大小等) | |
! | 暫時逃離至本地 Shell 執行單一指令(如 ! dir) | |
? / help | 列出所有可用指令;help <指令> 顯示簡要說明 |
建立 ftp_backup.scr:
open 202.102.5.211
user syzx123
password_here
binary
prompt off
hash
lcd D:\FTP_Backup\%date:~-4,4%%date:~-7,2%%date:~-10,2%
cd /home/syzx123/backups
mget *.sql.gz
bye
排程執行:ftp -s:ftp_backup.scr。結合 Windows 工作排程器實現無人值守異地備份。
literal PASV 強制被動,或檢查伺服器 PassivePortRange 設定與防火牆對應放行。550 Permission denied:權限不足,確認 FTP 使用者對目標目錄的 NTFS/ACL 權限。ftp.exe 為舊版 ANSI 應用,建議改用支援 UTF-8 的 WinSCP (CLI 模式) 或 lftp。精通 ftp.exe 指令集,讓您在任何純命令列環境下,都能像操作本地檔案系統般掌控遠端 FTP 資源,是系統管理員與 DevOps 工程師的必備硬核技能。