UNIX 系统下FTP的使用
一、FTP基本用法
FTP是File Transfer Protocal的缩写,意为文件传输协议,它可以将远程系统上的一个或多个文件拷贝到本地计算机,也可以将本地计算机上的一个或多个文件拷贝到远程系统 上。FTP是TCP/IP协议族中的应用层协议,它的工作方式采用客户机/服务器方式。
FTP传输文件时,支持不同的传输模式,有ascii和binary模式。在传输可执行文件和数据文件时最好使用binary模式。
使用FTP的时候,必须拥有远端计算机的帐号和密码,才可进行文件传输。
要与远端工作站 host1 ,进行文件传输
ftp host1
Name (host1:user-name) : 输入帐号
Password (host1:user-name): 输入密码
ftp> binary 设定以二进制方式传送文件
ftp> ascii设定以ASCII方式传送文件(缺省值)
ftp> help 列出 ftp 文件传输,可使用之任何命令
ftp> !ls 列出本地工作站,目前目录下之所有文件名
ftp> !pwd 列出本地工作站,目前所在之工作目录位置
ftp> ls 列出远端工作站目前目录下之所有文件名
ftp> dir 列出远端工作站目前目录下之所有文件名(略同于 UNIX 的 ls -l 指令)
ftp> dir . |more 同上,但每页会暂停(可能不适用 Unix 以外的 ftp)
ftp> pwd 列出远端工作站目前所在之目录位置
ftp> cd dir1 更改远端工作站之工作目录位置至 dir1 之下
ftp> get file1 将远端工作站之文件 file1 ,拷贝到本地工作站中
ftp> put file2 将本地工作站之文件 file2 ,拷贝到远端工作站中
ftp> mget *.c 将远端工作站中,扩展名为 c 之所有文件,拷贝到本地工作站中
ftp> mput *.txt 将本地工作站中,扩展名为 txt 之所有文件,拷贝到远端工作站中
ftp> prompt 切换交互式指令(使用 mput/mget 时不用每个文件皆询问yes/no)
ftp> status 显示当前FTP状态
ftp> close关闭远程连接
ftp> quit 结束 ftp 工作
ftp> bye 结束 ftp 工作
UNIX系统中FTP的命令很丰富,以上介绍的仅仅是比较常用的几种,具体可以在系统上输入help查看。
二、使用FTP自动传输文件
编辑一个文本文件,假设文件名为myftp,文件内容为:
open 远程计算机IP 地址或计算机名称 (如 open 128.2.9.100)
user hostname password (如 user test pass)
binary (设置为二进制传输)
get file1 (取file1文件)
put file2 (送出file2文件)
bye (退出)
然后使用命令 cat myftp | ftp –n即可以实现FTP的自动完成。
或者这样编辑:
echo “
open 远程计算机IP 地址或计算机名称 (如 open 128.2.9.100)
user hostname password (如 user test pass)
binary (设置为二进制传输)
get file1 (取file1文件)
put file2 (送出file2文件)
bye (退出)
“ | ftp –n
然后使用chmod +x myftp 给文件增加执行权限,直接输入myftp就可以完成数据自动传输了。
三、利用.netrc文件自动传输文件
编辑一个命名为.netrc的文件,存放在启动FTP命令的机器上的用户注册目录中,该文件的权限应禁止组内或其它用户进行读访问(即执行chmod 660 .netrc)。文件内容如下:
default login 远程计算机用户 password 远程计算机用户密码
macdef init
binary
runique
hash on
prompt off
put 文件名
get 文件名
bye
然后执行ftp –i 远程计算机地址或名称,就可以自动实现FTP传输了。这种情况主要用于自动定时传输。
四、常用的ftp批量上传下载的shell脚本
FTP批量上传,ftput.sh:
01 #!/bin/bash
02 for filename in $@
03 do
04 ftp -nv 192.168.130.2 <<!
05 user username password
06 prompt off
07 bin
08 mput $filename
09 close
10 !
11 done
FTP批量下载,ftpget.sh
01 #!/bin/bash
02 for filename in $@
03 do
04 ftp -nv 192.168.130.2 <<!
05 user username password
06 prompt off
07 bin
08 mget $filename
09 close
10 !
11 done
适用方法:将代码修改下(FTP地址和用户名密码修改一下)保存成ftput.sh,把要上传的文件作为脚本参数执行之即可。如
1 sh ./ftput.sh *.jpg 123.txt config.xml
就是把所有jpg文件和23.txt config.xml两个文件上传到ftp。
分享到:
相关推荐
之所以封装这个类是因为以前在unix下写文件上传下载的操作都是调shell脚本,C、C++很难控制与shell的交互, 并且无法获知出错的错误代码,用C++封装成一个工具类后,任何项目都可以重用了。 操作很方便,就...
FTP是File Transfer Protocal的缩写,意为文件传输协议,它可以将远程系统上的一个或多个文件拷贝到本地计算机, 也可以将本地计算机上的一个或多个文件拷贝到远程系统 上。 FTP是TCP/IP协议族中的应用层协议,它...
在UNIX服务环境下,有些FTP工具连接后,无法正常列出当前目录下的文件和子目录,这是因为这些FTP工具对中文环境支持的不够好的缘故。解决办法就是去掉UNIX服务下的启动FTP服务的中文环境。
ftp使用的内部命令
Unix下面的FTP协议实现,非常好的东东,分享啦
Unix和Windows XP之间使用FTP互传文件,windows的主机和unix主机在同一网段中,即可按照以下步骤互传文件
VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 从此名称可以看出来,编制者的初衷是代码的安全。
1、基于标准FTP协议开发的UNIX客户端; 2、将ftp服务器上的文件自动下载到客户端的指定目录下;
在unix或liux环境上创建ftp用户,
UNIX常用FTP命令,Unix对tomcat的操作,Unix对tomcat的操作.这个文件概述了所有编程中用到的常用命令
unix 下实现ftp部分功能ls,get,put,cd,pwd等等功能 C语言代码
UNIX 下 SCO TCPIP ftp 命令表.doc
ftp命令的详细讲解,对于经常在linux/unix下进程文件传输的人员是份不错的参考资料。
linux unix下 c语言实现ftp下载 支持更改用户名、密码等操作 get set等
按照rfc协议将常用的几个ftp命令封装成一个类,方便与ftp服务器交互。 使用方法: setPort connect changeDir dir downloadFile uploadFile
FTP客户端源程序。此程序经测试,可以在winndows,linux,unix跨平台使用
FTP是File Transfer Protocal的缩写,意为文件传输协议,它可以将远程系统上的一个或多个文件拷贝到本地计算机,也可以将本地计算机上的一个或多个文件拷贝到远程系统 上。
FTP unix下put & windows下bat批处理get总结 有验证通过的实例
unix ftp 命令 . htm
FTP 命令是Internet用户使用最频繁的命令之一,不论是在DOS还是UNIX操作系统下使用FTP,都会遇到大量的FTP内部命令,熟悉并灵活应用 FTP的内部命令,可以大大方便使用者,ftp命令大全及应用实例会帮助你