ftp简单命令

阅读更多

是转的,以前在是机子上的,不知道从哪引用来的,对不起了。

 

windows cmd 和linux shell中通用 。
1.连接方法
首先,我们将考虑如何在已有帐户的两台机器间传送文件。在你本地系统上运行ftp客户程序时,象telnet一样,ftp需要你指定将要交换文件的机器,这可以用下面的命令来完成.
% ftp remote-machine-name <远端主机名>
这就开始了ftp程序,且连接到了这名字的机器上。当有的系统不能处理某些域名地址时,可以使用IP地址,如上所述202.114.200.254。远端机器可是Internet上的任一主机,不管其操作系统为UNIX, IBM/VM, Machintosh,还是DOS系统。
ftp作好与远端的计算机的连接后,将要求你用注册名和口令来确认:
%ftp dns.cug.edu.cn
连接到dns.cug.edu.cn上

Connected to dns.
220 dns FTP server (UNIX(r) System V Release 4.0) ready.
Name (dns: zhangfeng): zhangfeng
键入用户名

331 Password required for zhangfeng.
Password:
输入口令

230 User zhangfeng logged in.
ftp>
对于一些操作系统,象DOS和Macintosh系统,ftp可能只需一注册名。因系统上没有口令安全保护。在这些机器上,避免不必要的存取,通常由中止ftp的服务软件来处理。
如果你在name的光标处回车,ftp将发送你在本地系统使用的注册名。在上面的例子中,本地系统的名字和缺省的注册名字显示在括号中(dns: zhangfeng)。作为捷径可以键入回车来代替全名。你使用的注册名确定了你可以访问哪些远端文件,就象你本地注册一样。但是,请你必须使用合乎远端系统的注册名和口令。远端系统接受你的注册名和口令后,你随时可以开始传输文件。ftp显示ftp>提示符提示你进一步的命令。

2.常见问题及处理方法
在前面的例子中,我们是正确地输入了口令和注册名。但是,你有时会出错。如果出错,你会得到Login incorrect信息。有两种办法可以处理它:退出ftp再试一次,或者键入user命令,后面紧跟你的注册名,来重新开始注册进程,ftp会再次提示你的口令,从这儿可以继续下去。
dns% ftp ftp.cug.edu.cn
与远端机器 ftp.cug.edu.cn连接

Connected to fossil.cug.edu.cn.
220 fossil FTP server (UNIX(r) System V Release 4.0) ready.
Name (ftp:zhangfen):
输入用户名zhangfeng

331 Password:
输入口令不正确

500 'PASS ': command not understood.
Login failed.
ftp>user zhangfeng
以zhangfeng重新开始

331 Password required for zhangfeng
password:
正确输入口令

User zhangfeng logged in.
ftp>
如果你错误地登录,你得到ftp>提示,但是你不能对它做任何事情。你必须在开始传输文件之前完成登录进程。当然,也会有别的事情出错。你可能把你想访问的计算机名字拼错,这可能得到“unknown host”的信息(或者此类信息)。查对一下主机名字的拼法。如果你想访问的主机因某些原因不能访问,你会看到“host not responding,”“host unreachable,”“connection timed out,”或者类似的东西。在这种情况下,你唯一的解决办法是等待,然后再试一次。如果此办法让你等很长时间,与远程系统负责人联系。
3.ftp主要功能
FTP的功能有许多,这里选一些比较常用的功能进行讲述,以使大家学会其使用格式,而另一些功能使用请参考FTP命令总结。
FTP的命令依功能分,大概可以归为:传送单信文件、浏览、改变目录、多文件传输、模式设定。以下就按次分类,逐个说明其用法。

传送单个文件

ftp可在两个方向传输文件。它可在本地机器上取一文件将它送到远端机器上,或者在远端机器上取一文件将它放在本地机器上。这可由get、put命令来实现。
① get命令
get是把远端主机上的文件获取到本地来,用如下格式:
ftp>get source-file destination-file
source-file是你要拷贝的文件的名字,destination-file是要建立拷贝的名字。destination-file名字是任意的,如果省略,拷贝的名字将同源文件的名字。
我们以zhangfeng用户名登录到dns.cug.edu.cn机器为例,来说明将comments文件从ftp.cug.edu.cn中获取过来的具体过程。
UNIX(r) System V Release 4.0 (dns)
login: zhangfeng
以zhangfeng用户注册到dns

password:
输入口令,此时不显示

dns% ftp ftp.cug.edu.cn
与远端机器ftp.cug.edu.cn连接

Connected to fossil.cug.edu.cn.
220 fossil FTP server (UNIX(r) System V Release 4.0) ready.
Name (ftp:zhangfen):
输入用户名zhangfeng

331 Password required for zhangfeng.
Password:
输入口令

230 User zhangfeng logged in.
ftp>get comments
获取远端机器ftp中的comments文件到本地机器dns

200 PORT command successful.
150 ASC data connection for comments.
226 ASC Transfer complete.
1634 bytes recieved in 0.052 seconds (30 Kbytes/s)
上例中,除去我们输入的信息外,ftp给出了许多信息,所有的信息都是以数字开始,实现与用户的交互会话。每次传输完后,ftp告诉你它传输的是什么及它多大和平均传输速率。传输速率根据使用的机器和所用的网络路由器而不同。
最后,请注意网上的一些文件有的很大(有时超过一百万个字符),一些系统对用户限制文件大小,或者你的磁盘对大文件可能无空间。在传输之前看看是否有足够空间。
② put命令
put是把本地的文件送到远端机器上,其格式与get命令的格式相同:
ftp>put source-life destination-file
如要把本地(tech)上的newversion文件送到远端(ftp)机器中,同时将名字改为readthis,可如下做:
ftp>put newversion readth
将本地机器dns中的newversion传送到ftp中,且名字改为readthis

200 PORT command successful.
150 ASC data connection for comments.
226 ASC Transfer complete.
62757 bytes sent in 0.22 seconds (2.8e+02 Kbytes)
ftp>quit
结束会话

221 Goodbye.
在这例子中,quit命令用来退出ftp程序,回到原来的UNIX系统,bye命令起同样作用。另外如果你把要传输的文件的名字拼错,或者此文件不存在,你会得到“ no such file or firectory”的信息,或者等同的信息。此时,重新输入命令,正确地输入其名字即可。

在远端机器上浏览


dir命令

当使用ftp时,你经常不确切地知道你想要的是什么文件名和它们所处的位置,因此需要浏览以找出真正要传输的文件,这可用dir命令来完成,其格式如下:
ftp>dir directory-name local-file-name
此命令列出远端机器上的给定目录,并且将输出作为一个本地文件。两个变量都是任意的。第二个变量(local-file-name)指定ftp把所列内容变为本地系统上的给定文件名。如果你想在终端上显示所列内容而不想作为文件保存,忽略此项即可。一般总是让结果显示在终端上,local-file-name这项很少使用。第一个变量directory-name,给出了你想要列的目录名或文件名。如果省略,ftp列出远端当前目录。第一个变量可包含匹配符,当你想列出象“所有以.txt扩展名的文件”的一些东西时,这些字符是很有用的。但是,对这些匹配符没有简单的规则,这些匹配符由远端系统说明。所以它们的含义将会根据你要浏览的机器的类型而有所不同。很幸运地,在大多数计算机系统上,*是可以与任何组字符匹配的匹配符。例如,在很多机器上,命令ftp>dir test*只列出名字
以test开头的文件。系统间最大的差别是匹配符能否与名点匹配。在运行UNIX操作系统的机器上,test*匹配test.c,test.sh文件和test1,testout文件。在运行VAX/VMS或者DOS操作系统的机器上,文件名和扩展名认为是不同的部分,test*只与没有扩展名的文件匹配(test1,testout)。在这些系统中,要匹配test1.txt这样的文件,需要象test*.*的名字。

dir命令列出比较完全的信息:
ftp> dir
200 PORT command successful.
150 ASCII data connection for /bin/ls (202.114.200.254,54860) (0 bytes).
total 44
drwxr-xr-x
2 zhangfen other
7168 Jun 25
1996 bin

drwxr-xr-x
2 zhangfen other
3072 Jun 25
1996 etc

drwxrwxrwx
2 zhangfen users
512 Jun 13
1996 etc.mail.files

drwxrwxrwx
3 zhangfen users
512 Jun 13
1996 etc.named

drwxr-xr-x
2 root
other
512 Dec
6
1996 java_win32_jdk

drwxr-x--x
2 zhangfen other
512 Mar 26
1996 kill

drwxr-xr-x
2 zhangfen other
512 Mar 15
1996 named

-rw-r--r--
1 root
other
3793 Jan 12 20:20 tess.html

drwxr-x--x
2 zhangfen other
1536 Apr
1
1996 tools

drwxrwxrwx
2 root
other
512 Oct 15
1996 winnt351

226 ASCII Transfer complete.
644 bytes received in 0.058 seconds (11 Kbytes/s)
ftp>
此命令的结果有点象在远端机器上一个完整的目录列表。所以,如果你连接到运行VMS操作系统的机器上,它就象一个VMS的直接命令。如果你连接到一台UNIX机器上,它就象Berkeley
UNIX 1s-lga命令,这是因为客户告诉服务器发送目录信息,服务器执行一适当的命令,然后将所列结果传回客户。

② ls命令
ls命令的格式与dir命令的格式相同:
ftp>1s directory-name local-file-name
其中的两个变量也与dir的两个变量一样。1s命令列出的结果与dir命令的结果有很大的不同,用缺省的1s命令,只将文件名列出,不附带任何信息:
ftp> ls
200 PORT command successful.
150 ASCII data connection for /bin/ls (202.114.200.254,54859) (0 bytes).
bin
etc
etc.mail.files
etc.named
java_win32_jdk
kill
named
tess.html
tools
winnt351
226 ASCII Transfer complete.
94 bytes received in 0.045 seconds (2 Kbytes/s)
ftp>

1s-1R命令

只有在远端系统运行UNIX时才有效的目录命令是1s-1R。这是一个递归的列出,它列出当前目录的所有文件,如果还有子目录,也将列出这些子目录中的所有文件,一直继续下去直到列尽子目录中的子目录
,这就列出了你可用ftp得到的每一个文件。此命令的结果如下:

ftp>1s-1R
200 PORT command successful.
150 ASCII data connection for /bin/ls (202.114.200.254,54869) (0 bytes).
.:
total 44
drwxr-xr-x
2 zhangfen other
7168 Jun 25
1996 bin

drwxr-xr-x
2 zhangfen other
3072 Jun 25
1996 etc

drwxrwxrwx
2 zhangfen users
512 Jun 13
1996 etc.mail.files

drwxrwxrwx
3 zhangfen users
512 Jun 13
1996 etc.named

-rw-rw-rw-
1 root
other
176 Apr
1
1996 wfmode.cfg

-rw-rw-rw-
1 root
other
78192 Apr
1
1996 wfmode.exe

-rw-rw-rw-
1 root
other
45936 Apr
1
1996 wfmode.ini

-rw-rw-rw-
1 root
other
308106 Apr
1
1996 zrm!.exe

厖厖厖厖..
./winnt351:
total 21712
-rw-rw-rw-
1 root
other
11103040 Oct 15
1996 clients.ZIP

226 ASCII Transfer complete.
remote: -lR
8358 bytes received in 0.19 seconds (43 Kbytes/s)
ftp>
注意:它可能产生大量的输出,用如下命令可将1s-1R的结果存在一个文件中:
ftp>1s-1R filenace
④在远端机器上查看文件内容
上面的dir和1s命令只能列出文件名,无法知道文件的内容。要知道文件的内容,你可以先获取此文件到本地机器,然后退出ftp程序,在本地查看此文件内容。如果你发现此文件不是你想要的,重新启动ftp,等等。这将是很麻烦的。实际上你可以用下面的命令直接在远端机器上来查看文件内容:
ftp>get source-file-
此命令的功能是把整个文件传输到你的终端上。当你不想看这么多内容时,可用ctrl-s将结果暂停,当读完后用ctrl-q重新开始,如要取消当前的传输,可用ctrl-c命令。

改变与查看目录

dir、1s命令只列出当前目录下的文件,要看其它目录下的文件就要先改变目录。在ftp中涉及到两套目录:注册的本地目录和ftp连接到的远端机器的目录(远端目录),在远端主机上改变目录可用如下命令:
ftp>cd directory
该命令工作起来同通常shell的cd命令一样,不同的是它只在远端机器上有效。这些可总结如下:
*如没有指定目录
,1cd让你返回到你注册的缺省目录。

*如果此目录是以/开始,不管你的当前位置(绝对位置)而移到指定的目录。
*如果目录是..,它将在当前目录向上移一级。
*如果目录以字母数字式字符开始,它将此目录视为当前的子目录。
当你不能确定当前所处的目录时,可以用pwd命令来查看自己的位置,其格式如下:
ftp>pwd
/home/zhangfeng
在发送与获取文件时,也需要改变本地的目录,以找出要发送的文件所在的目录和把获取的文件存放的目录,可用1cd命令完成:
ftp>1cd directory
lcd命令的规则同UNIX的cd命令一样。(参看第三章UNIX系统简介)

你可能感兴趣的:(Unix,DOS,浏览器,Linux,JDK)