linux ftp 命令详解和自动上传脚本实现

ftp命令:

FTP>ascii: 设定以ASCII方式传送文件(缺省值) 

FTP>bell: 每完成一次文件传送,报警提示. 
FTP>binary: 设定以二进制方式传送文件. 
FTP>bye: 终止主机FTP进程,并退出FTP管理方式. 
FTP>case: 当为ON时,用MGET命令拷贝的文件名到本地机器中,全部转换为小写字母. 
FTP>cd: 同UNIX的CD命令. 
FTP>cdup: 返回上一级目录. 
FTP>chmod: 改变远端主机的文件权限. 
FTP>close: 终止远端的FTP进程,返回到FTP命令状态, 所有的宏定义都被删除. 
FTP>delete: 删除远端主机中的文件. 
FTP>dir [remote-directory] [local-file] 列出当前远端主机目录中的文件.如果有本地文件,就将结果写至本地文件. 
FTP>get [remote-file] [local-file] 从远端主机中传送至本地主机中. 
FTP>help [command] 输出命令的解释. 
FTP>lcd: 改变当前本地主机的工作目录,如果缺省,就转到当前用户的HOME目录. 
FTP>ls [remote-directory] [local-file] 同DIR. 
FTP>macdef: 定义宏命令. 
FTP>mdelete [remote-files] 删除一批文件. 
FTP>mget [remote-files] 从远端主机接收一批文件至本地主机. 
FTP>mkdir directory-name 在远端主机中建立目录. 
FTP>mput local-files 将本地主机中一批文件传送至远端主机. 
FTP>open host [port] 重新建立一个新的连接. 
FTP>prompt: 交互提示模式. 
FTP>put local-file [remote-file] 将本地一个文件传送至远端主机中. 
FTP>pwd: 列出当前远端主机目录. 
FTP>quit: 同BYE. 
FTP>recv remote-file [local-file] 同GET. 
FTP>rename [from] [to] 改变远端主机中的文件名. 
FTP>rmdir directory-name 删除远端主机中的目录. 
FTP>send local-file [remote-file] 同PUT. 
FTP>status: 显示当前FTP的状态. 
FTP>system: 显示远端主机系统类型. 
FTP>user user-name [password] [account] 重新以别的用户名登录远端主机. 
FTP>? [command]: 同HELP. [command]指定需要帮助的命令名称。如果没有指定 command,ftp 将显示全部命令的列表。
FTP>! 从 ftp 子系统退出到外壳。




语法


ftp [ -d] [ -g ] [ -i ] [ -n ] [ -v] [ -f ] [ -k realm] [-q[-C]][ HostName [ Port ] ]
-C 允许用户指定:通过 send_file 命令发出的文件必须在网络高速缓冲区(NBC)中经过缓存处理。此标志必须在指定了-q 标志的情况下使用。只有当文件在无保护的情况下以二进制方式发送时此标志才适用。
-d 将有关 ftp 命令操作的调试信息发送给 syslogd 守护进程。如果您指定-d 标志,您必须编辑/etc/syslog.conf 文件并添加下列中的一项:
OR
user.debug FileName
请注意:syslogd 守护进程调试级别包含信息级别消息。
如果不编辑/etc/syslog.conf 文件,则不会产生消息。变更了/etc/syslog.conf 文件之后,请运行 refresh -s syslogd 或 kill -1 SyslogdPID 命令,以通知 syslogd 守护进程其配置文件的变更。关于调试级别的更多信息,请参考/etc/syslog.conf 文件。也请参考 debug 子命令。
-g 禁用文件名中的元字符拓展。解释元字符可参考为扩展(有时叫做文件名匹配替换)文件名。请参考 glob 子命令。
-i 关闭多文件传送中的交互式提示。请参考 prompt、mget、mput 和 mdelete 子命令,以取得多文件传送中的提示的描述。
-n 防止在起始连接中的自动登录。否则, ftp 命令会搜索$HOME/.netrc 登录项,该登录项描述了远程主机的登录和初始化过程。请参考 user 子命令。
-q 允许用户指定:send_file 子例程必须用于在网络上发送文件。只有当文件在无保护的情况下以二进制方式发送时此标志才适用。
-v 显示远程服务器的全部响应,并提供数据传输的统计信息。当 ftp 命令的输出是到终端(如控制台或显示)时,此显示方式是缺省方式。
如果 stdin 不是终端,除非用户调用带有-v 标志的 ftp 命令,或发送 verbose 子命令,否则 ftp 详细方式将禁用。
-f 导致转发凭证。如果Kerberos 5 不是当前认证方法,则此标志将被忽略。
-k realm 如果远程站的域不同于本地系统的域,系统将允许用户指定远程站的域。因此,域和DCE 单元是同义的。如果Kerberos 5 不是当前认证方法,则此标志将被忽略。
?






例子: ftp_data.sh
#! /bin/sh
ftp -i -n << !
open 192.168.0.1
user ftpuser ftppasswd
cd bigdata
lcd /home/oracle/tbdata
put tablename.txt
bye

你可能感兴趣的:(linux ftp 命令详解和自动上传脚本实现)