FTP 是两台电脑间传送档案的工具, 而 Linux 已经内建了 ftp 指令, 可以用作传送档案。但要留意的是, ftp 是没有经过加密的通讯协定, 如果传送敏感的资料, 建议使用 SFTP.
在 Linux 要连接到远端 FTP 服务器, 只要在 ftp 指令后面加入远端主名称或 ip 即可, 例如:
以上指令会尝试连线到 192.168.1.100, 成功连接后, 会弹出要求输入 username 及 password。如果是公众开放的 FTP 服务器, 可以使用匿名帐号 “anonymous” 作为 username, 密码空白即可。
当登入成功后, 终端机的提示符会变成这样:
|
1 |
ftp> |
现在可以直接输入 ftp 替令, 输入 help 可以查看所有可用的 ftp 指令:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
ftp> ! debug mdir sendport site $ dir mget put size account disconnect mkdir pwd status append exit mls quit struct ascii form mode quote system bell get modtime recv sunique binary glob mput reget tenex bye hash newer rstatus tick case help nmap rhelp trace cd idle nlist rename type cdup image ntrans reset user chmod lcd open restart umask close ls prompt rmdir verbose cr macdef passive runique ? delete mdelete proxy send |
以下是常用指令用法:
ls: 跟 Linux 的 ls 指令一样, 列出当前目录下所有档案及目录。
cd: 跟 Linux 的 cd 指令一样, 切换到其他目录。
cdup: 切换到上一层目录。
lcd: 在本机目录切换目录, 例如在本机切换到 dir 目录, 输入 lcd dir
ascii: 改变成 ASCII 模式传送, 这也是默认值。
binary: 改变成 binary 模式传送。
get: 下载档案, 例如 get filename.txt 会下载 filename.txt, 如果本地端有相同档案名称, 原来档案会被覆蓋。
put: 上载档案, 例如 put filename.txt 会上载 filename.txt, 如果远端有相同档案名称, 原来档案会被覆蓋。
!: 在指令前加入 ! 符号, 会在本机执行指令, 例如 !ls
mget: 下载多个档案, 例如 mget *.jpg 会下载所有档案名称是 jpg 结尾的档案。
rename: 把档案重新命名, 例如 rename old_name new_name
mput: 上载多个档案, 例如 mput *.jpg 会上载所有档案名称是 jpg 结尾的档案。
delete: 删除档案, 例如 delete remote-file
mdelete: 删除多个档案, 例如 mdelete *.jpg 会删除所有档案名称是 jpg 结尾的档案。
size: 印出档案大小, 例如 size filename
mkdir: 建立目录, 例如 mkdir new-dir
prompt: 开启/关闭互动模式.
quit: 登出 ftp 服务器.
我用mget *.pdf 时得到”NLST doesn’t support wilecard”的结果。我使用的是Ubuntu 20.04。
请问如果我是要用SSL加密连线方式(FTPS)连线的话,
这样要如何输入相关指令”$ ftp 192.168.1.100″