文件传输协议 (FTP) 是一组用于在互联网上的系统之间传输文件的程序。 互联网上的大多数 Unix、VMS 和 MS-DOS 系统都有一个名为ftp的程序,你可以使用它来传输这些文件,如果你可以访问互联网,下载 Linux 软件的最佳方式是使用ftpftp。本附录涵盖基本ftp用法——当然,还有更多的功能和用途ftp比这里给出的要多。
在本附录的末尾,有一个 FTP 站点列表,可以在这些站点找到 Linux 软件。此外,如果您没有直接的互联网访问权限,但能够与互联网交换电子邮件,那么以下包含了关于使用ftpmail服务的相关信息。
如果你使用 MS-DOS、Unix 或 VMS 系统从互联网下载文件,那么ftpftp 是一个命令行驱动的程序。然而,还有其他 ftp 的实现,例如 Macintosh 版本(称为ftp的实现,例如 Macintosh 版本(称为Fetch),它有一个友好的菜单驱动界面,非常容易理解。即使你没有使用命令行驱动的版本 ftpftp,这里给出的信息也应该有所帮助。
ftpftp 可以用于从其他互联网站点上传(发送)或下载(接收)文件。在大多数情况下,你将要下载软件。在互联网上,有大量的公共可用的 FTP 存档站点,这些机器允许任何人ftpftp 连接到它们并下载免费软件。其中一个存档站点是sunsite.unc.edu,它有很多 Sun Microsystems 软件,并且是主要的 Linux 站点之一。此外,FTP 存档站点彼此 镜像 软件——也就是说,上传到一个站点的软件将自动复制到许多其他站点。因此,如果您在许多不同的存档站点上看到完全相同的文件,请不要感到惊讶。
请注意,在下面打印的示例“屏幕”中,我只显示最重要的信息,您看到的内容可能会有所不同。此外,斜体 命令表示您键入的命令;其他所有内容都是屏幕输出。
要启动 ftpftp并连接到一个站点,只需使用命令
ftp hostname其中 hostname 是您要连接的站点的名称。例如,要连接到虚构的站点shoop.vpizza.com
登录ftp当 ftp
启动时,我们应该看到类似ftpName:其中 hostname 是您要连接的站点的名称。例如,要连接到虚构的站点这里, ftp正在要求我们提供我们要登录的用户名,在shoop.vpizza.com 上。这里的默认值是其中 hostname 是您要连接的站点的名称。例如,要连接到虚构的站点mdw,这是我在我正在使用 FTP 的系统上的用户名。由于我在 shoop.vpizza.com上没有帐户,所以我无法以自己的身份登录。相反,要访问 FTP 站点上的公共可用软件,您需要以
anonymousftp身份登录,并将您的互联网电子邮件地址(如果您有)作为密码。所以,我们会输入
Password: mdw@sunsite.unc.edu当然,您应该提供您的电子邮件地址,而不是我的,并且在您键入时它不会回显到屏幕上(因为它在技术上是“密码”)。ftp 应该允许我们登录,我们将准备好下载软件。ftp浏览
好的,我们进来了。
ftp>是我们的提示符,并且 ftp程序正在等待命令。有一些您需要了解的基本命令。首先,命令ls file和
dir file
都给出文件列表(其中 file 是一个可选参数,用于指定要列出的特定文件名)。区别在于ls通常给出简短列表,而
dir
dir file
给出更长的列表(也就是说,包含有关文件大小、修改日期等的更多信息)。ftp命令是我们的提示符,并且 ftpcd directoryls将移动到给定的目录(就像ftpcd
Unix 或 MS-DOS 系统上的命令)。您可以使用命令ls filecd ..
来更改到父目录。命令help command将提供关于给定command 命令的帮助(例如
help ls或help cd或)。如果没有指定命令,将提供关于给定help
如果我们输入
每个条目都类似如下:drwxr-xr-x 5 root other 512 Jan 7 15:54 bin.
这些条目中的每一个都是一个目录,而不是我们可以下载的单个文件(由
d在列表的第一列中指定)。在大多数 FTP 存档站点上,公共可用的软件位于目录好的,我们进来了。/pub下,所以让我们去那里。ftp> cd pub).
250 CWD command successful.或ftp> ls
文件)。下载文件在下载文件之前,有一些事情需要注意。
打开哈希标记打印。 哈希标记 在文件传输时打印到屏幕上;它们让您知道传输的进度,以及您的连接没有挂起(这样您就不会坐 20 分钟,以为您仍在下载文件)。通常,哈希标记显示为井号 (
#或),并且根据您的系统,每传输 1024 或 8192 字节打印一个。或要打开哈希标记打印,请给出命令
ftp> hash或Hash mark printing on (8192 bytes/hash mark).
文件等等)是文本文件。
dir file
为什么文件类型很重要?仅仅因为在某些系统(例如 MS-DOS 系统)上,文本文件中的某些字符(例如回车符)需要转换,以便文件可读。在二进制模式下传输时,不进行任何转换——文件只是逐字节传输。命令binary
ftpmail分别将传输模式设置为二进制和文本。如有疑问,请始终使用二进制模式传输文件。如果您尝试在文本模式下传输二进制文件,您将损坏该文件,使其无法使用。(这是使用 FTP 时最常犯的错误之一。)但是,您可以对纯文本文件使用文本模式(其文件名通常以ftpmail.txtftpmail结尾)。ftpmail对于我们的示例,我们正在下载文件 README
sunsite.unc.edu,它很可能是一个文本文件,所以我们使用命令ftpmailftp> ascii
200 Type set to A.
设置您的本地目录。 您的 本地目录 是您系统上希望下载的文件最终存放的目录。而 cdftpmail命令更改远程目录(在您要 FTP 连接的远程机器上),
lcdsunsite.unc.edu命令更改本地目录。
例如,要将本地目录设置为ftpmail/home/db/mdw/tmpsunsite.unc.edu,使用命令
Local directory now /home/db/mdw/tmp
现在您已准备好实际下载文件。命令
get remote-name [local-name]
用于此目的,其中 remote-name 是远程机器上的文件名,local-name 是您希望在本地机器上给文件的名称。local-name 参数是可选的;默认情况下,本地文件名与远程文件名相同。但是,例如,如果您正在下载文件 README, sunsite.unc.edu,并且您已经有一个 README在您的本地目录中,您需要给出一个不同的本地文件名,以便第一个文件不会被覆盖。对于我们的示例,要下载文件 README