`
shatler
  • 浏览: 29958 次
  • 性别: 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系统简介)

分享到:
评论

相关推荐

    Linux远程拷贝之ftp与scp命令

    ftp 命令的使用方法非常简单,例如,要从远程主机上下载一个文件,可以使用以下命令:ftp&gt; get test1.in 二、scp 命令 scp 命令是 Secure Copy 的缩写,用于在 Linux 主机之间安全地传输文件。scp 命令的基本语法...

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

    通过以上介绍,我们可以看到FTP不仅是一个简单的文件传输工具,它还包含了许多高级功能和配置选项,可以帮助用户更高效地管理文件传输任务。对于新手而言,理解这些基础命令是非常重要的第一步,而进一步深入学习则...

    ftp 远程dos命令上传文件

    FTP(File Transfer ...总之,通过DOS FTP命令,我们可以编写简单的脚本来实现文件的远程上传,并结合Windows的任务计划程序,实现自动化、定时的文件传输任务。这在数据备份、文件共享、系统更新等场景中非常有用。

    FTP上传下载命令

    FTP协议不仅支持简单的文件上传下载功能,还提供了许多高级特性,如文件目录浏览、文件重命名等。 #### 二、基本命令介绍 在Linux环境下,除了传统的FTP命令外,还可以使用SCP(Secure Copy)或SFTP(Secure File ...

    FTP中获取文件大小

    本文将深入探讨如何使用Java来获取FTP服务器上的文件大小以及文件夹属性,并简要介绍FTP的一些常用命令。 **Java FTP获取文件大小** 在Java中,我们可以使用`java.net.Socket`和`java.io`库来实现基本的FTP操作,...

    Unix网络相关命令 ftp 及打包压缩

    ### Unix网络相关命令:FTP及打包压缩 #### FTP 命令详解 FTP(File Transfer Protocol)是一种标准网络协议,用于在计算机网络之间传输文件。它遵循客户端/服务器模型,其中客户端请求服务,而服务器提供服务。...

    ftp上传下载 window 控制台命令

    在Windows系统中,我们可以使用控制台(命令提示符)来执行FTP命令,实现文件的上传和下载。在Visual Studio 2010这样的开发环境中,我们可以通过编写C#或其他支持控制台应用程序的代码来实现FTP操作。 首先,我们...

    ftp.rar_ftp_ftp pwd_ftp客户端_linux help命令

    在这个名为"ftp.rar"的压缩包中,包含的是一个简单的FTP服务器端和客户端的实现,旨在帮助用户理解FTP工作原理以及如何在Linux环境下使用FTP命令。下面我们将深入探讨FTP的基本概念、常用命令以及它们在Linux环境中...

    FTP命令行指令详解

    ### FTP命令行指令详解 #### 一、概述 FTP(File Transfer Protocol)是一种用于在网络上进行文件传输的标准协议和服务。...无论是简单的文件下载还是复杂的脚本编写,FTP命令行都能提供强大的支持。

    windows 下ftp 下载文件的bat文件及FileZilla客户端服务器连接工具,cmd ftp 命令大全

    其中,`ftp_script.txt`是包含上述FTP命令的文本文件。这个文件可能包含如下内容: ``` open ftp.example.com myusername mypassword binary get /remote/path/to/file.zip C:\local\path\file.zip bye ``` 在这个...

    DOS下FTP命令详解

    ### DOS 下 FTP 命令详解 FTP(File Transfer Protocol)是互联网上使用最广泛的协议之一,用于在不同计算机之间传输文件。对于那些在 DOS(Disk Operating System)环境下操作的用户来说,掌握 FTP 的基本命令至关...

    UNIX ftp使用的内部命令

    综上所述,UNIX下的FTP内部命令覆盖了从简单的文件上传下载到复杂的文件管理和远程系统交互的各个方面。熟练掌握这些命令,不仅能够显著提升文件传输的效率和安全性,还能在遇到特定需求时灵活应对,充分发挥FTP的...

    ftp-svr-clt.rar_OBJ_FTP_SVR_clt 和svr_ftp_windows ftp_简单FTP服务器

    本文将深入探讨FTP服务器(FTP Server)和客户端(FTP Client)的概念,以及如何使用C#语言实现一个简单的FTP服务。我们将基于提供的"ftp-svr-clt.rar"压缩包中的内容进行讲解。 首先,FTP服务器是运行在特定计算机...

    ftp自动运行脚本

    Windows内置的FTP客户端可用于简单的脚本操作,但功能有限。对于复杂的需求,可以使用更强大的第三方FTP客户端软件,如WinSCP(支持SFTP和FTP)、FileZilla等,它们提供更丰富的脚本支持和更高级的功能。 7. 调试...

    FTP命令详解(很实用)

    ### FTP命令详解 FTP(File Transfer Protocol)是一种用于在网络上进行文件传输的标准协议和服务。通过FTP,用户可以在不同的...无论是简单的文件上传下载,还是复杂的文件管理操作,FTP都提供了丰富的工具和支持。

    FTP命令集合

    ### FTP命令集合详解 FTP(File Transfer Protocol)是...无论是简单的文件上传下载,还是复杂的网络任务自动化,掌握FTP命令的精髓都能显著提升工作效率。希望本文的详尽解析能够帮助读者在实际操作中更加得心应手。

    使用 ftp-srv 在 nodejs 创建FTP服务器,简单版

    `fs-async.js`文件是为了实现与文件系统交互的异步操作,`ftp-srv`库需要这些操作来响应FTP命令,如`LIST`, `RETR`, `STOR`等。例如,你可以这样定义`fs-async.js`: ```javascript const fs = require('fs')....

    FTP简单文件传输实现 c++

    总的来说,实现FTP简单文件传输涉及到对FTP协议的理解,使用Winsock库进行网络通信,以及编写控制连接和数据连接的逻辑。VC6.0环境下的C++程序可以通过封装和模块化设计,使得FTP功能的实现更加清晰和易于维护。

    ftp简单应用源代码,支持ftp文件上传和下载,对理解ftp协议有帮助

    这个压缩包文件"ftpApp"提供了一个简单的FTP应用源代码,它包括了FTP客户端和服务器的实现,可以帮助用户深入理解FTP协议的工作原理和操作流程。 FTP协议主要由两个组件构成:FTP服务器和FTP客户端。服务器端负责...

    FTP标准协议及命令

    然而,大多数FTP控制帧是简单的ASCII文本,可以分为FTP命令或FTP消息。FTP消息是对FTP命令的响应,由带有解释文本的应答代码构成。 FTP命令可以分为以下几类: 1. 登录命令:USER、PASS、ACCT等,用于登录FTP...

Global site tag (gtag.js) - Google Analytics