macOS 預設並沒有提供 FTP command line 工具

大多數 FTP 連線需求,也多是透過 GUI 或 IDE 來完成

這裡則要介紹如何透過命令列來進行 FTP 連線

安裝擴充

首先,安裝 inetutils

brew install inetutils

inetutils 非常方便,提供了 ftp, rcp, rexec, rlogin, rsh, telnet … 等等 連線等需求,也能同時包含 server 以及 client

接著,透過 export 建立 installer 到環境變量中

export PATH="/usr/local/opt/inetutils/libexec/gnubin:$PATH"

命令列進行 ftp 連線

接下來,環境準備好之後,就可以直接用下方指令與遠端FTP連線

ftp <FTP.domain or IP位置>

送出後,會詢問使用者名稱跟密碼,輸入完畢即可完成連線

若要離開 ftp 連線,可在 command line 輸入:

> quit

查詢可用指令,直接輸入 help 查詢可用指令

!		dir		macdef		proxy		site
$		disconnect	mdelete		sendport	size
account		epsv4		mdir		put		status
append		form		mget		pwd		struct
ascii		get		mkdir		quit		system
bell		glob		mls		quote		sunique
binary		hash		mode		recv		tenex
bye		help		modtime		reget		trace
case		idle		mput		rstatus		type
cd		image		newer		rhelp		user
cdup		ipany		nmap		rename		umask
chmod		ipv4		nlist		reset		verbose
close		ipv6		ntrans		restart		?
cr		lcd		open		rmdir
delete		lpwd		passive		runique
debug		ls		prompt		send

FTP 常用指令說明:

    ls     查看 Server 端的目錄或檔案

    pwd    查看 Server 端目前所在的目錄

    cd     變更 Server 端目前的目錄

    cdup   變更 Server 端目前的目錄到上一目錄

    lls    查看 Local 端的目錄或檔案

    lcd    變更 Local 端目前的目錄

    asc    設定傳輸模式為文字檔方式

    bin    設定傳輸模式為二進位檔方式
    get     Server 端的檔案拷貝至 Local 端現在目錄下

    mget   拷貝多個 Server 端的檔案至 Local 端現在目錄下

    put     Local 端的檔案拷貝至 Server 端現在目錄下

    mput   拷貝多個 Local 端的檔案至 Server 端現在目錄下

    delete 刪除 Server 端的檔案

    mkdir   Server 端建立目錄

    rmdir  刪除 Server 端的目錄

    !      shell 指令

    !ls    查看 Local 端的目錄或檔案

    prompt 變換交談模式 (on/off)

    ?,help 指令使用說明

    bye    結束 FTP