Linux / UNIX FTP 命令教程
教程详细信息 | |
---|---|
难度等级 | 简单的 |
Root 权限 | 不 |
要求 | ftp 命令 终端 |
预计阅读时间 | 6 分钟 |
ftp:互联网文件传输程序
使用以下语法连接到远程网络 FTP 站点并从其传输文件:
ftp ftp.example.com ftp 1.2.3.4 ftp user@ftp.example.com
您必须知道 ftp 用户名和密码,才能进行基于用户的密码验证,或者在匿名用户访问时使用 ftp 作为用户名和密码。在此示例中,您将使用匿名用户访问权限连接到 ftp.freebsd.org(打开终端并输入以下命令):
$ ftp ftp.freebsd.org
示例会话:
Trying 87.51.34.132...
Connected to ftp.freebsd.org.
220 ftp.beastie.tdk.net FTP server (Version 6.00LS) ready.
Name (ftp.freebsd.org:vivek): ftp
331 Guest login ok, send your email address as password.
Password:
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
当您输入 ftp.example.com 服务器的登录名和密码时,它会返回提示
ftp>
您需要在 ftp> 提示符前输入所有命令。
任务:列出当前文件
在 ftp> 提示符下输入 ls 命令:
示例输出:
ftp> ls
229 Entering Extended Passive Mode (|||60692|) 150 Opening ASCII mode data connection for '/bin/ls'. total 10 drwxrwxr-x 2 0 5 512 Jul 19 2007 .snap drwx------ 2 0 0 2048 Jul 19 2007 lost+found drwxr-xr-x 3 1006 1006 512 Sep 21 2009 pub drwxr-xr-x 3 1006 1006 512 Jun 5 2007 sup drwxr-xr-x 4 1006 0 512 Sep 18 2009 www 226 Transfer complete. ftp>
以上将列出当前远程目录中文件的名称(最后一个名称是文件或目录名称)。
任务:更改目录
要更改远程计算机上的目录,请使用 cd 命令:
ftp> cd dirName
要更改为 pub 目录,请输入:
示例输出:
ftp> cd pub
250 CWD command successful.
任务:下载/复制文件
要从远程 ftp 服务器一次复制一个文件到本地系统,请使用 get 命令:
get fileName get fileName newFileName
在此示例中,将当前远程目录中的文件 resume.pdf 下载到当前本地目录中同名文件 resume.pdf(或其上方):
示例输出:
ftp> get resume.pdf
local: resume.pdf remote: resume.pdf 229 Entering Extended Passive Mode (|||55093|) 150 Opening BINARY mode data connection for 'resume.pdf' (53077 bytes). 100% |*********************************************************************| 53077 12.58 KiB/s 00:00 ETA 226 Transfer complete. 53077 bytes received in 00:04 (12.57 KiB/s)
在此示例中,将当前远程目录中的文件 data.tar.gz 复制到当前本地目录中名为 backup.tar.gz 的文件(或其顶部):
ftp> get data.tar.gz backup.tar.gz
更改本地目录
要更改本地系统上的目录,请输入:
示例输出:
ftp> lcd /path/to/new/dir
ftp> lcd /tmp
Local directory now: /tmp
打印本地目录:
示例输出:
ftp> lpwd
/tmp
lpwd 命令打印本地系统的当前下载目录。但是,要找出远程 ftp 服务器上当前目录的路径名,请输入:
示例输出:
ftp> pwd
Remote directory: /pub/FreeBSD
任务:下载多个文件
您需要使用 mget 命令将远程 ftp 服务器中的多个文件复制到本地系统,如下所示。在传输每个文件之前,系统可能会提示您回答是/否 (Y/N)(您可以通过将 -i 选项传递给 ftp 客户端来禁用提示)。要下载所有文件,请输入:
要下载所有 perl 文件(以 .pl 扩展名结尾),请输入:
ftp> mget *
ftp> mget *.pl
任务:打开/关闭交互式提示
ftp 命令提示符设置了交互式提示;“on”启用提示,以便您可以验证多个命令的每个步骤,“off”允许命令畅通无阻地运行:
ftp> prompt on
ftp> mput *.php
ftp> prompt off
ftp> mget *.py
任务:删除文件
要删除当前远程目录中的文件,请使用 delete 命令:
ftp> delete fileName
ftp> delete output.jpg
任务:上传一个文件
要一次将一个文件从本地系统复制到远程 ftp 服务器,请输入:
在此示例中,上传 logo.jpg,请输入:
ftp> put fileName
ftp> put logo.jpg
任务:上传多个文件
要将多个文件从本地系统复制到远程 ftp 服务器,请使用 mput 命令。同样,在传输每个文件之前,系统可能会提示您回答是/否 (y/n)。在此示例中,从当前系统上传所有文件:
ftp> mput *
ftp> mput *.pl
任务:创建目录
要创建新目录,请输入:
ftp> mkdir dirName
ftp> mkdir scripts
ftp> cd scripts
ftp> pwd
任务:删除目录
要除去或删除目录,请输入:
ftp> rmdir dirName
ftp> rmdir images
ftp> ls
任务:设置文件传输模式
要将文件传输模式设置为 ASCII,请输入:
请注意,ascii 是默认模式,适用于文本文件。要将文件传输模式设置为二进制,请输入:
建议几乎所有类型的文件(包括图像、zip 文件等)都使用二进制模式。二进制模式可减少传输错误的可能性。
ftp> ascii
ftp> binary
任务:连接到另一个 FTP 服务器
要打开与另一个 FTP 服务器的连接,请输入:
上述命令打开与 ftp.example.net.in 的新 FTP 连接。您必须为 ftp.example.net.in 帐户提供用户名和密码。但是,对于匿名 FTP 连接,可以跳过用户名和密码。
ftp> open ftp.example.net.in
任务:退出 FTP 会话
输入 quit 或 bye,输入:
或
示例输出:
ftp> quit
ftp> bye
221 Goodbye.
如何查找有关 FTP 命令的更多信息?
键入?或帮助以获取有关 FTP 命令的更多信息:
示例输出:
ftp> ?
ftp> help
Commands may be abbreviated. Commands are: ! delete idle mode pmlsd reset system $ dir image modtime preserve restart tenex account disconnect lcd more progress rhelp throttle append edit less mput prompt rmdir trace ascii epsv4 lpage mreget proxy rstatus type bell exit lpwd msend put runique umask binary features ls newer pwd send unset bye fget macdef nlist quit sendport usage case form mdelete nmap quote set user cd ftp mdir ntrans rate site verbose cdup gate mget open rcvbuf size xferbuf chmod get mkdir page recv sndbuf ? close glob mls passive reget status cr hash mlsd pdir remopts struct debug help mlst pls rename sunique
要获得每个命令的简短描述,请输入:
示例输出:
ftp> help commandName
ftp> help chmod
chmod change file permissions of remote file
ftp> help ls
示例输出:
ls list contents of remote path
通过浏览器访问 FTP
如果您不想输入命令,请使用 Safari、Firefox 等浏览器并输入以下内容:
示例输出:
ftp://ftpUserName@ftp.example.net.in
ftp://ftp.freebsd.org/
ftp://ftp@ftp.freebsd.org/
ftp://userName:Password@ftp.example.net.in/
ftp://ftp:ftp@ftp.freebsd.org/