linux下ftp的上传数据到服务器深入剖析

时间:2021-11-27 13:51:59

LinuxftpFTP是ARPANet的标准文件传输协议,该网络就是现今Internet的前身。通常我们使用ftp命令,主要是上传和下载文件,ftp登陆的用户一般都是一些虚拟用户,因为这是出于安全考虑。 
语法:ftp[-dignv][主机名称或IP地址] 
参数: 
-v显示指令执行过程。 
-n不使用自动登陆。 
-g关闭本地主机文件名称支持特殊字符的扩充特性。 
-i关闭互动模式,不询问任何问题。 
-d详细显示指令执行过程,便于排错或分析程序执行的情形。 
例子:登录124.16.144.120,命令 
[root@localhostlane6]$ftp124.16.144.120 
Connectedto124.16.144.120. 
220(vsFTPd2.0.5) 
530PleaseloginwithUSERandPASS. 
530PleaseloginwithUSERandPASS. 
KERBEROS_V4rejectedasanauthenticationtype 
Name(124.16.144.120:root):anonymous#用户名 
331Pleasespecifythepassword.#用户密码 
Password: 
230Loginsuccessful. 
RemotesystemtypeisUNIX. 
Usingbinarymodetotransferfiles. 

下载文件通常用get和mget这两条命令 
a)get 
格式:get[remote-file][local-file] 
将文件从远端主机中传送至本地主机中. 
如要获取服务器上c:\a\1.jpg,则 
ftp>get/a/1.jpg1.jpg(回车) 
b)mget 
格式:mget[remote-files] 
从远端主机接收一批文件至本地主机. 
如要获取服务器上E:\a\下的所有文件,则 
ftp>cd/a 
ftp>mget*.*(回车) 
ftp下输入prompt命令,批量获取则不在一一提示。 
注意:文件都下载到了linux主机的当前目录下。比如,在 /root/web下运行的ftp命令,则文件都下载到了/root/web下。 

3.上传文件 
a)put 
格式:putlocal-file[remote-file] 
将本地一个文件传送至远端主机中. 
如要把本地的1.jpg传送到远端主机c:\a,并改名为2.gif 
ftp>put1.jpg/a/2.gif(回车) 
b)mput 
格式:mputlocal-files 
将本地主机中一批文件传送至远端主机. 
如要把本地当前目录下所有bmp文件上传到服务器c:\a下 
ftp>cd/a(回车) 
ftp>mput*.jpg (回车) 
注意:上传文件都来自于主机的当前目录下。比如,在 /root/web下运行的ftp命令,则只有在/root/web下的文件linux才会上传到服务器c:\a下。 
linux教程:Linuxshell中使用ftp自动下载上传文件 
FTP自动登录批量下载文件 
从ftp服务器192.168.1.171上的/home/data到本地的/home/databackup 
!/bin/bash 
ftp-v-n192.168.1.171 
userguest123456 
binary 
cd/home/data 
lcd/home/databackup 
prompt 
mget* 
close 
bye 

FTP自动登录批量上传文件 
从ftp服务器192.168.1.171上的/home/data到本地的/home/databackup 
#!/bin/bash 
ftp-v-n192.168.1.171<<END 
userguest123456 
binary 
hash 
cd/home/data 
lcd/home/databackup 
prompt 
mput* 
bye 
END