UNIX 系统下FTP的使用

本文详细介绍了FTP文件传输的基本用法,包括如何使用FTP进行文件的上传、下载以及不同传输模式的选择。同时,还提供了一个自动化传输文件的脚本示例,通过编辑文本文件并使用特定命令实现FTP自动完成任务。

一、FTP基本用法

FTP是File Transfer Protocal的缩写,意为文件传输协议,它可以将远程系统上的一个或多个文件拷贝到本地计算机,也可以将本地计算机上的一个或多个文件拷贝到远程系统 上。FTP是TCP/IP协议族中的应用层协议,它的工作方式采用客户机/服务器方式。
FTP传输文件时,支持不同的传输模式,有ascii和binary模式。在传输可执行文件和数据文件时最好使用binary模式。
使用FTP的时候,必须拥有远端计算机的帐号和密码,才可进行文件传输。
执行格式: ftp ip_address  or  ftp hostname
例如:
要与远端工作站 host1 ,进行文件传输
ftp host1
Name (host1:user-name) : 输入帐号
Password (host1:user-name): 输入密码
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> binary 设定以二进制方式传送文件
ftp> ascii  设定以ASCII方式传送文件(缺省值)
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的自动完成。

或者myftp的内容这样编辑:
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就可以完成数据自动传输了。

以上是原文,不太完整,补充一个脚本:

#/bin/sh
ftp -n <<EOF
open 134.96.37.87
user sbelsrv sblmatut02
ls
bye
<<EOF

三、利用.netrc文件自动传输文件
编辑一个命名为.netrc的文件,存放在启动FTP命令的机器上的用户注册目录中,该文件的权限应禁止组内或其它用户进行读访问(即执行chmod 660 .netrc)。文件内容如下:
default login 远程计算机用户 password 远程计算机用户密码
macdef init
binary
runique
hash on
prompt off
put 文件名
get 文件名
bye

然后执行ftp –i 远程计算机地址或名称,就可以自动实现FTP传输了。这种情况主要用于自动定时传输。


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值