Windows终端使用FTP访问Linux
在很多大型的企业级地理数据库建设中,服务器一般都是Linux、AIX、Solaris等操作系统,一般情况下,用户使用Windows终端来访问这些操作系统,包括命令行终端,文件传输软件,常见的包括Putty、SSH、Xmanager等,根据每个用户先入为主,一般先学哪一个,就比较习惯于该软件,但是往往到客户那边情况就大相径庭了,有可能你习惯的工具人家根本都没有安装,那么碰到不太熟悉的环境,只掌握一种本领就显得捉襟见肘了。
这次就碰到了一个问题,我习惯使用putty+SSH这种软件,我希望获得用户AIX操作系统导出的DMP文件,拷贝到我的Windows操作系统中做测试,但是如果没有按照以Binary方式进行导出,该DMP在我的操作系统中是不能使用的,而且用户那边只有Xmanager,这个我也不太习惯,那么使用FTP传输不失为一个很好的解决方法。
使用FTP,可以直接设置以Binary的方式下载到用户本地,非常方便。
1、确保操作系统安装VSFTPD
可以使用如下命令行进行验证:
[root@sdemachine3 ~]# cd /etc/vsftpd [root@sdemachine3 vsftpd]# ls ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh [root@sdemachine3 vsftpd]#
如果没有安装,可以下载相关Tar包安装即可,vsftpd.conf包括对FTP服务配置参数的相关设置。
2、确保服务器FTP服务在开启状态
[root@sdemachine3 vsftpd]# service vsftpd status vsftpd is stopped [root@sdemachine3 vsftpd]# service vsftpd start Starting vsftpd for vsftpd: [ OK ]
3:建议服务器的防火墙或者SELinux处于关闭状态,或者开放21端口。
4:使用Windows的CMD进行FTP连接即可。
FTP 服务器IP地址:
C:\Users\Administrator>ftp 192.168.220.133 连接到 192.168.220.133。 220 (vsFTPd 2.2.2) 用户(192.168.220.133:(none)): root 331 Please specify the password. 密码: 230 Login successful.
5:连接成功之后,就可以输入类似命令
ftp> help 命令可能是缩写的。 命令为: ! delete literal prompt send ? debug ls put status append dir mdelete pwd trace ascii disconnect mdir quit type bell get mget quote user binary glob mkdir recv verbose bye hash mls remotehelp cd help mput rename close lcd open rmdir
ftp> dir 200 PORT command successful. Consider using PASV. 425 Failed to establish connection.
建议关闭Windows操作系统的防火墙即可解决按问题。
6、命令介绍
当断开连接之后,可以使用Open命令重新连接,也可以使用User命令继续连接该IP,DIR命令类似于DOS的列出所有目录文件列表,类似于Linux的ls命令:
ftp> dir 远程主机关闭连接。 ftp> open 到 192.168.220.133 连接到 192.168.220.133。 220 (vsFTPd 2.2.2) 用户(192.168.220.133:(none)): root 331 Please specify the password. 密码: 230 Login successful. ftp> dir 200 PORT command successful. Consider using PASV. 150 Here comes the directory listing. drwxr-xr-x 2 0 0 4096 Aug 29 2013 Desktop drwxr-xr-x 2 0 0 4096 Aug 29 2013 Documents drwxr-xr-x 2 0 0 4096 Aug 29 2013 Downloads drwxr-xr-x 2 0 0 4096 Aug 29 2013 Music drwxr-xr-x 2 0 0 4096 Aug 29 2013 Pictures drwxr-xr-x 2 0 0 4096 Aug 29 2013 Public drwxr-xr-x 2 0 0 4096 Aug 29 2013 Templates drwxr-xr-x 2 0 0 4096 Aug 29 2013 Videos -rw------- 1 0 0 3135 Aug 29 2013 anaconda-ks.cfg -rw-r--r-- 1 0 0 2062384 Jan 02 05:54 ceshi_ora_11016.trc -rw-r--r-- 1 0 0 14415564 Jan 02 06:51 ceshi_ora_11620.trc drwxr-xr-x 18 0 0 4096 Mar 05 02:12 gdal-1.9.2 -rw-r--r-- 1 0 0 11532797 Mar 05 01:50 gdal192.zip -rw-r--r-- 1 0 0 59875 Aug 29 2013 install.log -rw-r--r-- 1 0 0 9548 Aug 29 2013 install.log.syslog drwxr-xr-x 2 0 0 4096 Mar 06 02:44 shp_data1 -rwxr-xr-x 1 0 0 701 Feb 27 03:34 test.pl 226 Directory send OK. ftp: 收到 1164 字节,用时 0.06秒 18.77千字节/秒。
查看状态Status,重点关注类型ascii,也就是传输的数据以ascii码形式:
ftp> status 连接到 192.168.220.133。 类型: ascii;详细: 开 ;铃声: 关 ;提示: 开 ;通配: 开 调试: 关 ;哈希标记打印: 关 。
如果希望用户使用binary方式传输,比如上述dir之后,在root的根目录下有一个test.pl文件,我希望使用binary形式传入到Windows终端。使用FTP获得文件使用get命令:
ftp> binary 200 Switching to Binary mode. ftp> get test.pl 200 PORT command successful. Consider using PASV. 150 Opening BINARY mode data connection for test.pl (701 bytes). 226 Transfer complete. ftp: 收到 701 字节,用时 0.00秒 701000.00千字节/秒。
mget命令一次获取多个远程文件。
mget命令的一般格式为:mget 文件名列表
使用用空格分隔的或带通配符的文件名列表来指定要获取的文件,对其中的每个文件都要求用户确认是否传送。获得的test.pl文件在默认命令行输入的文件夹中,即C:\Users\Administrator文件夹中。
C:\Users\Administrator>ftp 192.168.220.133
使用send命令,将本地文件传入到目标服务器中:
ftp> send test1.pl 200 PORT command successful. Consider using PASV. 150 Ok to send data. 226 Transfer complete. ftp: 发送 701 字节,用时 0.00秒 701.00千字节/秒。 ftp> dir 200 PORT command successful. Consider using PASV. 150 Here comes the directory listing. drwxr-xr-x 2 0 0 4096 Aug 29 2013 Desktop drwxr-xr-x 2 0 0 4096 Aug 29 2013 Documents drwxr-xr-x 2 0 0 4096 Aug 29 2013 Downloads drwxr-xr-x 2 0 0 4096 Aug 29 2013 Music drwxr-xr-x 2 0 0 4096 Aug 29 2013 Pictures drwxr-xr-x 2 0 0 4096 Aug 29 2013 Public drwxr-xr-x 2 0 0 4096 Aug 29 2013 Templates drwxr-xr-x 2 0 0 4096 Aug 29 2013 Videos -rw------- 1 0 0 3135 Aug 29 2013 anaconda-ks.cfg -rw-r--r-- 1 0 0 2062384 Jan 02 05:54 ceshi_ora_11016.trc -rw-r--r-- 1 0 0 14415564 Jan 02 06:51 ceshi_ora_11620.trc drwxr-xr-x 18 0 0 4096 Mar 05 02:12 gdal-1.9.2 -rw-r--r-- 1 0 0 11532797 Mar 05 01:50 gdal192.zip -rw-r--r-- 1 0 0 59875 Aug 29 2013 install.log -rw-r--r-- 1 0 0 9548 Aug 29 2013 install.log.syslog drwxr-xr-x 2 0 0 4096 Mar 06 02:44 shp_data1 -rwxr-xr-x 1 0 0 701 Feb 27 03:34 test.pl -rw-r--r-- 1 0 0 701 Apr 18 01:38 test1.pl 226 Directory send OK. ftp: 收到 1230 字节,用时 0.01秒 94.62千字节/秒。
同样也可以使用Put 命令,该命令与send比较类似。
put和mput命令用于向远程机发送文件;
Put命令的一般格式为:put 文件名
mput命令一次发送多个本地文件;
mput命令的一般格式为:mput 文件名列表
使用用空格分隔的或带通配符的文件名列表来指定要发送的文件。对其中的每个文件都要求用户确认是否发送。使用cd命令切换目标服务器的目录:
ftp> cd /home/oracle 250 Directory successfully changed. ftp> dir 200 PORT command successful. Consider using PASV. 150 Here comes the directory listing. -rw-r--r-- 1 500 501 1170432000 Jan 14 01:01 DBCGW.DMP drwxrwxr-x 9 500 501 4096 Jan 14 01:07 apache-tomcat-7.0.42 drwxrwxr-x 4 500 501 4096 Sep 09 2013 app -rwxrwxr-x 1 500 501 493 Jan 14 01:03 export.log -rwxrwxr-x 1 500 501 1402 Jan 14 01:04 import.log drwxr-xr-x 6 500 501 4096 Nov 29 08:24 sdeexe102 226 Directory send OK. ftp: 收到 411 字节,用时 0.01秒 29.36千字节/秒。
如果不希望本地默认路径为C:\Users\Administrator,希望修改为C:\为默认路径,使用lcd命令修改