Linux VPS远程ftp服务器上传下载文件命令

本文以介绍的形式来和大家一起了解一下关于Linux VPS上用SSH命令来登录远程FTP,进行简单的上传下载管理。可用于网站备份等用途,如有更多的用途期待您的发掘。1、从远程ftp服务器下载文件的命令格式:get 远程ftp服务器上当前目录下要下载的文件名 [下载到本地机器上当前目录时的文件名],如:get nmap_file [nmap]意思是把远程ftp服务器下的文件nmap_file下载到本地机器的当前目录下,名称更改为nmap。带括号表示可写可不写,不写的话是以该文件名下载。如果要往ftp服务器上上传文件的话需要去修改一下vsftpd的配置文件,名称是vsftpd.conf,在/etc目录下。要把其中的 “#write_enable=YES”前面的“#”去掉并保存,然后重启vsftpd服务:sudo service vsftpd restart。2、向远程ftp服务器上传文件的命令格式:put 本地机器上当前目录下要上传的文件名 [上传到远程ftp服务器上当前目录时的文件名],如:put sample.c [ftp_sample.c]意思是把本地机器当前目录下的文件smaple.c上传到远程ftp服务器的当前目录下,名称更改为ftp_sample.c。带括号表示可写可不写,不写的话是以该文件名上传。3、最后附上ftp常用命令,如下所示:FTP>open [ftpservername] #和指定的远程Linux FTP服务器连接?FTP>user [username] [password] #使用指定远程Linux FTP服务器的用户登录?FTP>pwd #显示远程Linux FTP服务器上的当前路径?FTP>ls #列出远程Linux FTP服务器上当前路径下的目录和文件?FTP>dir #列出远程Linux FTP服务器上当前路径下的目录和文件(同上)?FTP>mkdir [foldname] #在远程Linux FTP服务器上当前路径下建立指定目录?FTP>rmdir [foldname] #删除远程Linux FTP服务器上当前路径下的指定目录?FTP>cd [foldname] #更改远程Linux FTP服务器上的工作目录?FTP>delete [filename] #删除远程Linux FTP服务器上指定的文件?FTP>rename [filename] [newfilename] #重命名远程Linux FTP服务器上指定的文件?FTP>close #从远程Linux FTP服务器断开但保留FTP命令参数提示?FTP>disconnect #从远程Linux FTP服务器断开但保留FTP命令参数提示(同上)?FTP>bye #结束和远程Linux FTP服务器的连接。FTP>quit #结束和远程Linux FTP服务器的连接(同上)。FTP>! #直接从远程Linux FTP服务器进入到本地shell中?FTP>exit #(接上步)从本地shell环境中返回到远程Linux FTP服务器环境下?FTP>!ls #列出本地机器上当前路径下的目录和文件?FTP>lcd [foldname] #更改本地机器的工作目录?FTP>? #显示ftp命令说明?FTP>help #显示ftp命令说明(同上)?至此。FTP的命令行格式为:ftp -v -d -i -n -g [主机名] ,其中-v 显示远程服务器的所有响应信息;-n 限制ftp的自动登录,即不使用;.n etrc文件;-d 使用调试方式;-g 取消全局文件名。FTP使用的内部命令如下(中括号表示可选项):![cmd[args]] #在本地机中执行交互shell,exit回到ftp环境,如:!ls*.zip$ macro-ame[args] # 执行宏定义macro-name。account[password] #提供登录远程系统成功后访问系统资源所需的补充口令。append local-file[remote-file] #将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名。ascii #使用ascii类型传输方式。bell #每个命令执行完毕后计算机响铃一次。bin #使用二进制文件传输方式。bye #退出ftp会话过程。case #在使用mget时,将远程主机文件名中的大写转为小写字母。cd remote-dir #进入远程主机目录。cdup #进入远程主机目录的父目录。chmod mode file-name #将远程主机文件file-name的存取方式设置为mode,如:chmod 777 a.out。close #中断与远程服务器的ftp会话(与open对应)。cr #使用asscii方式传输文件时,将回车换行转换为回行。delete remote-file #删除远程主机文件。debug[debug-value] #设置调试方式, 显示发送至远程主机的每条命令,如:deb up 3,若设为0,表示取消debug。dir[remote-dir][local-file] #显示远程主机目录,并将结果存入本地文件disconnection #同close。form format #将文件传输方式设置为format,缺省为file方式。get remote-file[local-file] #将远程主机的文件remote-file传至本地硬盘的local-file。glob #设置mdelete,mget,mput的文件名扩展,缺省时不扩展文件名,同命令行的-g参数。hash #每传输1024字节,显示一个hash符号(#)。help[cmd] #显示ftp内部命令cmd的帮助信息,如:help get。idle[seconds] #将远程服务器的休眠计时器设为[seconds]秒。image #设置二进制传输方式(同binary)。lcd[dir] #将本地工作目录切换至dir。ls[remote-dir][local-file] #显示远程目录remote-dir,并存入本地文件local-file。macdef macro-name #定义一个宏,遇到macdef下的空行时,宏定义结束。mdelete[remote-file] #删除远程主机文件。mdir remote-files local-file #与dir类似,但可指定多个远程文件,如 :mdir *.o.*.zipoutfile 。mget remote-files #传输多个远程文件。mkdir dir-name #在远程主机中建一目录。mls remote-file local-file #同nlist,但可指定多个文件名。mode[modename] #将文件传输方式设置为modename, 缺省为stream方式。modtime file-name #显示远程主机文件的最后修改时间。mput local-file #将多个文件传输至远程主机。newer file-name #如果远程机中file-name的修改时间比本地硬盘同名文件的时间更近,则重传该文件。nlist[remote-dir][local-file] #显示远程主机目录的文件清单,并存入本地硬盘的local-file。nmap[inpattern outpattern] #设置文件名映射机制, 使得文件传输时,文件中的某些字符相互转换,如:nmap $1.$2.$3[$1,$2].[$2,$3],则传输文件a1.a2.a3时,文件名变为a1,a2。该命令特别适用于远程主机为非UNIX机的情况。ntrans[inchars[outchars]] #设置文件名字符的翻译机制,如ntrans1R,则文件名LLL将变为RRR。open host[port] #建立指定ftp服务器连接,可指定连接端口。passive #进入被动传输方式。prompt #设置多个文件传输时的交互提示。proxy ftp-cmd #在次要控制连接中,执行一条ftp命令,该命令允许连接两个ftp服务器,以在两个服务器间传输文件。第一条ftp命令必须为open,以首先建立两个服务器间的连接。put local-file[remote-file] #将本地文件local-file传送至远程主机。pwd #显示远程主机的当前工作目录。quit #同bye,退出ftp会话。quote arg1,arg2… #将参数逐字发至远程ftp服务器,如:quote syst.recv remote-file[local-file] #同get。reget remote-file[local-file] #类似于get,但若local-file存在,则从上次传输中断处续传。rhelp[cmd-name] #请求获得远程主机的帮助。rstatus[file-name] #若未指定文件名,则显示远程主机的状态, 否则显示文件状态。rename[from][to] #更改远程主机文件名。reset #清除回答队列。restart marker #从指定的标志marker处,重新开始get或put,如:restart 130。rmdir dir-name #删除远程主机目录。runique #设置文件名只一性存储,若文件存在,则在原文件后加后缀.1, .2等。send local-file[remote-file] #同put。sendport #设置PORT命令的使用。site arg1,arg2… #将参数作为SITE命令逐字发送至远程ftp主机。size file-name #显示远程主机文件大小,如:site idle 7200。status #显示当前ftp状态。struct[struct-name] #将文件传输结构设置为struct-name, 缺省时使用stream结构。sunique #将远程主机文件名存储设置为只一(与runique对应)。system #显示远程主机的操作系统类型。tenex #将文件传输类型设置为TENEX机的所需的类型。tick #设置传输时的字节计数器。trace #设置包跟踪。type[type-name] #设置文件传输类型为type-name,缺省为ascii,如:type binary,设置二进制传输方式。umask[newmask] #将远程服务器的缺省umask设置为newmask,如:umask 3user user-name[password][account] #向远程主机表明自己的身份,需要口令时,必须输入口令,如:user anonymous my@email。verbose #同命令行的-v参数,即设置详尽报告方式,ftp 服务器的所有响 应都将显示给用户,缺省为on.?[cmd] #同help.

FTP自动登录批量下载文件从ftp服务器www.magentonotes.com上的/home/data 到本地的/home/databackup!/bin/bashftp -v -n www.magentonotes.comuser guest 123456binarycd /home/datalcd /home/databackuppromptmget *closebye

#!/bin/bash#文件下载#cd #在远程机上改变工作目录#lcd #在本地机上改变工作目录#binary #设置文件传输方式为二进制模式#close #终止当前的 ftp 会话#bye #退出ftp会话过程。#hash #每次传输完数据缓冲区中的数据后就显示一个#号#prompt #设置多个文件传输时的交互提示。PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/loacl/sbin:~/binexport PATTftp -v -n $1user $2 $3binarycd $4lcd $5promptmget $6closebye

FTP自动登录批量上传文件从ftp服务器www.magentonotes.com上的/home/data 到本地的/home/databackup#!/bin/bashftp -v -n www.magentonotes.com << ENDuser guest 123456binaryhashcd /home/datalcd /home/databackuppromptmput *bye

ENDlinux下自动登陆ftp下载文件操作系统:linux说明:使用了expect,参数为ftp服务器地址和要下载的文件名参数:lindex $argv 0 读取ftp服务器ip地址lindex $argv 1 读取要下载的文件名编辑:#vi ftp.shspawn ftp [lindex $argv 0]expect “Name (*):”send “anonymous\r”expect “Password:*”send “\r”expect “ftp>”send “binary\r”expect “ftp>”send “hash\r”expect “ftp>”send “get [lindex $argv 1]\r”expect “* Transfer complete.”send “exit\r”

执行方法:expect ftp.sh 服务器ip地址 文件名称(expect ftp.sh www.magentonotes.com filename.txt )扩展:可以根据需要把用户名和密码也作为参数输入里边,这个根据个人需求去做

相关文章:

你感兴趣的文章:

标签云: