`
shatler
  • 浏览: 29461 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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系统简介)

分享到:
评论

相关推荐

    ftp命令--简单的ftp命令共菜鸟学习参考

    简单的ftp命令仅供菜鸟学校参考使用,高手就别下载了,下了也没用

    类似linux的ftp命令,短小精悍的ftp工具,可直接移植到嵌入式系统下面

    简单的ftp工具,实现Linux下ftp命令的一些基本功能,纯C代码,可以直接移植到嵌入式系统下面;不一定很完备,但是短小精悍,对于想研究ftp协议的初学者有一定帮助.

    支持ftp命令的远程cmd

    一个支持ftp命令的简单远程cmd,可做扩展,解决了cmd管道嵌套的问题

    ftp.rar_ftp_ftp pwd_ftp客户端_linux help命令

    简单的ftp服务器端和客户端,两个程序同时运行,在客户端可以使用pwd、cd、quit、help、get、put、dir等命令进行操作,实现下载、上传文件等操作。

    FTP的简单实现 用DELPHI编写

    用DELPHI编写的一个很简单的FTP实现

    windows上cmd用ftp简单上传文件

    indows的cmd里用ftp命令可以上传文件到ftp服务器,呀,有点惊讶啊此时用put命令,就会把本地ceshi.jpg图片文件推上 使用put命令时所在路径,你可以在使用put命令前用下pwd查看下路径。

    Baby FTP Server-Baby FTP Server

    Baby FTP Server支持大部分的RFC959 FTP命令,支持PASV和non-PASV两种连接模式,除此之外,Baby FTP Server还支持多线程和实时服务器日志。不过,正是由于简易,所以Baby FTP Server只支持匿名用户连接,同时也只...

    FTP.rar_FTP 命令通道_FreeChat-ssl_Linux下 文件传输_Linux命令_ftp implement

    在 Linux 下实现一个文件传输协议(FTP)的简单实现。实现FTP 客户端和服务器的程序,使客户端可以连接至服务器,并且可以迚行一些FTP的基本操作,如列出目录、下载文件等。从FTP 协议的实现角度来看,客户端不...

    常用FTP命令及简单上传下载实例大搜谱

    常用FTP命令及简单上传下载实例大搜谱 自己从网上找的有用资源

    最简单的FTP服务器

    最简单的FTP服务器,供大家参考.版本 2 命令文本 = 到大写 (到文本 (服务器1.取回数据 ())) 命令文本 = 子文本替换 (命令文本, #换行符, , , , 真) .判断开始 (取文本左边 (命令文本, 4) = “USER”) ' 用户名 ...

    FTP服务器源码(C#版web端和后台)纯代码

    目前网络上有很多专业的FTP服务器软件,但是基于C#开发的...(2)使用ftp命令 (3)使用专门的FTP客户端工具软件,如CuteFTP 3.可以安装成操作系统的服务程序。 4.特殊文件过滤等特殊功能。 5.开发过程文档和更新记录。

    FTPServer 测试工具

    FTP 服务器测试工具,可修改FTP端口,FTP默认目录等,简单,直接双击运行即可。

    用Socket编程实现FTP

    它的原理也相当的简单,客户端程序实现一个命令行或图形界面,将用户命令翻译成 FTP 命令,并发送给服务器端程序。服务器端程序响应 FTP 命令,并将操作成功与否的信息以 FTP 响应形式返回给客户端程序。双方遵守 ...

    FTP客户端详解

    文件传输协议(FTP)作为网络共享文件的传输协议,在网络应用软件中具有广泛的应用。...本文主要基于 LINUX 平台,对 FTP 客户端的实现原理进行详尽的解释并阐述如何使用 C 语言编写一个简单的 FTP 客户端。

    Linux FTP服务配置

     async_abor_enable=YES 是否允许运行特殊的ftp命令async ABOR.这里我翻译的不爽,原文如下:  When enabled, a special FTP command known as "async ABOR" will be enabled. Only ill advised FTP clients will ...

    FTP命令使用

    简单上传下载实例(/*....*/为注释): 先假设有一FTP服务器,FTP服务器:qint.ithot.net,用户名:username 密码:user1234。在本地电脑D:盘创建一个文件夹...通过FTP命令将文件从本地上传,从服务器下载的步骤如下:

    CentOS7 FTP安装与配置

    自己利用一天时间在Linux系统上安装ftp服务,期间出现各种问题,最终解决,实现了ftp上传下载文件,包含具体步骤,每一行直接执行命令即可,简单明了

    经典FTP软件SU-FTP-Server-Windows

    创建并维护应用到域的限制,维护域设置,反攻击,及自定义标示,为域配置高级FTP命令设置和行为。 创 建并指定SSL和SSH证书以及配置加密设置,保留自定义HTML设置,查看当前已连接的用户,查看域会话和传输统计,...

    简单实用的命令行FTP工具软件

    我在《用psftp在电脑和树莓派之间互传文件》一文中介绍了psftp的使用。为了方便读者,我放了一个我正在...你也可以百度一个其他版本的FTP工具。 文章网址https://blog.csdn.net/chentuo2000/article/details/106780169

    windows 下ftpserver的简单实现

    支持客户端的文件下载,上传,删除等常用FTP命令的响应。使用多线程技术,允许多个客户端同时连接。不支持界面操作,不带Server Control。程序只是简单的对ftp协议的封装以及实现,供大家参考。

Global site tag (gtag.js) - Google Analytics