跳过导航链接 | |
退出打印视图 | |
系统管理指南:网络服务 Oracle Solaris 10 8/11 Information Library (简体中文) |
ftp 命令打开 Internet 文件传输协议的用户接口。此用户接口又称为命令解释程序,它允许您登录到远程系统并对其文件系统执行各种操作。下表概述了主要操作。
与 rlogin 和 rcp 相比,ftp 的主要优点在于 ftp 不要求远程系统运行 UNIX。不过,远程系统却需要进行 TCP/IP 通信配置。但是,与 ftp 相比,rlogin 提供使用的文件处理命令更丰富。
表 29-3 基本 ftp 命令
|
有关更多信息,请参见 ftp(1)。
您必须具有 ftp 验证,如远程登录验证 (ftp)中所述。
$ ftp remote-system
如果连接成功,则会显示确认消息和提示。
Name (remote-system:user-name): user-name
331 Password required for user-name: Password: password
如果要访问的系统已建立了匿名 ftp 帐户,将会提示您输入电子邮件地址作为口令。如果 ftp 接口接受您的口令,则它会显示确认消息和 (ftp>) 提示符。
您现在可使用 ftp 接口提供的任何命令,包括 help。表 29-3 概述了主要命令。
示例 29-5 打开与远程系统的 ftp 连接
此 ftp 会话由远程系统 pluto 中的用户 smith 建立:
$ ftp pluto Connected to pluto. 220 pluto FTP server ready. Name (pluto:smith): smith 331 Password required for smith: Password: password 230 User smith logged in. ftp>
ftp> bye 221-You have transferred 0 bytes in 0 files. 221-Total traffic for this sessions was 172 bytes in 0 transfers. 221-Thanks you for using the FTP service on spdev. 221 Goodbye.
$ cd target-directory
ftp> cd source-directory
如果系统正在使用自动挂载程序,则远程系统用户的起始目录可能与 /home 中您的起始目录并行。
ftp> ls -l
ftp> binary
ftp> get filename
ftp> mget filename [filename ...]
您可提供一系列单个文件名,也可使用通配字符。mget 命令会分别复制每个文件,并且每次都要求您进行确认。
ftp> bye
示例 29-6 从远程系统复制文件 (ftp)
在此示例中,用户 kryten 将打开与系统 pluto 的 ftp 连接,并使用 get 命令来复制 /tmp 目录中的单个文件。
$ cd $HOME ftp pluto Connected to pluto. 220 pluto FTP server (SunOS 5.8) ready. Name (pluto:kryten): kryten 331 Password required for kryten. Password: xxx 230 User kryten logged in. ftp> cd /tmp 250 CWD command successful. ftp> ls 200 PORT command successful. 150 ASCII data connection for /bin/ls (129.152.221.238,34344) (0 bytes). filea files ps_data 226 ASCII Transfer complete. 53 bytes received in 0.022 seconds (2.39 Kbytes/s) ftp> get filea 200 PORT command successful. 150 ASCII data connection for filea (129.152.221.238,34331) (0 bytes). 221 Goodbye.
在此示例中,同一用户 kryten 使用 mget 命令将 /tmp 目录中的一组文件复制到其起始目录。请注意,kryten 可以接受或拒绝该文件组中的个别文件。
$ ftp> cd /tmp 250 CWD command successful. ftp> ls files 200 PORT command successful. 150 ASCII data connection for /bin/ls (129.152.221.238,34345) (0 bytes). fileb filec filed remote: files 21 bytes received in 0.015 seconds (1.36 Kbytes/s) ftp> cd files 250 CWD command successful. ftp> mget file* mget fileb? y 200 PORT command successful. 150 ASCII data connection for fileb (129.152.221.238,34347) (0 bytes). 226 ASCII Transfer complete. mget filec? y 200 PORT command successful. 150 ASCII data connection for filec (129.152.221.238,34348) (0 bytes). 226 ASCII Transfer complete. mget filed? y 200 PORT command successful. 150 ASCII data connection for filed (129.152.221.238,34351) (0 bytes). 226 ASCII Transfer complete.200 PORT command successful. ftp> bye 221 Goodbye.
您键入 ftp 命令的目录是本地工作目录,也即此操作的源目录。
ftp> cd target-directory
请记住,如果系统正在使用自动挂载程序,则远程系统用户的起始目录可能与 /home 中您的起始目录并行。
ftp> ls -l target-directory
ftp> binary
ftp> put filename
ftp> mput filename [filename ...]
您可提供一系列单个文件名,也可使用通配字符。mput 命令会分别复制每个文件,并且每次都要求您进行确认。
ftp> bye
示例 29-7 将文件复制到远程系统 (ftp)
在此示例中,用户 kryten 将打开与系统 pluto 的 ftp 连接,并使用 put 命令将其系统中的文件复制到系统 pluto 上的 /tmp 目录。
$ cd /tmp ftp pluto Connected to pluto. 220 pluto FTP server (SunOS 5.8) ready. Name (pluto:kryten): kryten 331 Password required for kryten. Password: xxx 230 User kryten logged in. ftp> cd /tmp 250 CWD command successful. ftp> put filef 200 PORT command successful. 150 ASCII data connection for filef (129.152.221.238,34356). 226 Transfer complete. ftp> ls 200 PORT command successful. 150 ASCII data connection for /bin/ls (129.152.221.238,34357) (0 bytes). filea filef files ps_data 226 ASCII Transfer complete. 60 bytes received in 0.058 seconds (1.01 Kbytes/s) ftp> bye 221 Goodbye.
在此示例中,同一用户 kryten 使用 mput 命令将其起始目录中的一组文件复制到 pluto 的 /tmp 目录。请注意,kryten 可以接受或拒绝该文件组中的个别文件。
$ cd $HOME/testdir $ ls test1 test2 test3 $ ftp pluto Connected to pluto. 220 pluto FTP server (SunOS 5.8) ready. Name (pluto:kryten): kryten 331 Password required for kryten. Password: xxx 230 User kryten logged in. ftp> cd /tmp 250 CWD command successful. ftp> mput test* mput test1? y 200 PORT command successful. 150 ASCII data connection for test1 (129.152.221.238,34365). 226 Transfer complete. mput test2? y 200 PORT command successful. 150 ASCII data connection for test2 (129.152.221.238,34366). 226 Transfer complete. mput test3? y 200 PORT command successful. 150 ASCII data connection for filef (129.152.221.238,34356). 226 Transfer complete. ftp> bye 221 Goodbye.