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命令修改
- ftp> lcd c:\
- 目前的本地目錄 C:\。
其他命令大家可以自己來進行測試和學習!