Linux 終端訪問 FTP 及 上傳下載 檔案__Linux

來源:互聯網
上載者:User
  分類: Linux 2010-08-17 17:58 25443人閱讀 評論(0) 收藏 舉報 linux 終端 user oracle command ftp伺服器

 

今天同事問我一個問題,在Linux 下訪問FTP,並將檔案上傳上去。 我之前一直是用WinSCP工具的。 先將檔案從linux copy到windows下,然後在傳到ftp上。 google 一下。 方法也比較簡單。 這裡只討論通過終端來串連,因為也可以通過IE 或者其他工具。

 

 

1.      Linux 終端串連FTP

[oracle@Dave ~]$ ftp 10.85.7.97

Connected to 10.85.7.97.

220 Serv-U FTP Server v6.4 for WinSock ready...

500 'AUTH': command not understood.

500 'AUTH': command not understood.

KERBEROS_V4 rejected as an authentication type

Name (10.85.7.97:oracle): super

331 User name okay, need password.

Password:   -- Linux 的密碼是不回顯的

230 User logged in, proceed.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp>

 

如果FTP 允許匿名使用者,那麼使用者名稱要輸入anonymous,密碼任意。不能直接敲斷行符號。

 

 

2.      查看FTP 命令

ftp> ?

Commands may be abbreviated.  Commands are:

!               cr              mdir            proxy           send

$               delete          mget            sendport        site

account         debug           mkdir           put             size

append          dir             mls             pwd             status

ascii           disconnect      mode            quit            struct

bell            form            modtime         quote           system

binary          get             mput            recv            sunique

bye             glob            newer           reget           tenex

case            hash            nmap            rstatus         trace

ccc             help            nlist           rhelp           type

cd              idle            ntrans          rename          user

cdup            image           open            reset           umask

chmod           lcd             passive         restart         verbose

clear           ls              private         rmdir           ?

close           macdef          prompt          runique

cprotect        mdelete         protect         safe

 

可以通過help command 查看每個命令的說明

ftp> help put

put             send one file

ftp> help mput

mput            send multiple files

 

3.      上傳檔案

 

Put命令:格式:put local-file [remote-file] 將一個檔案上傳到ftp

Mput命令:格式:mput local-files 將本地主機中一批檔案傳送至遠端主機.

                  注意:mput命令只能將當前本地目錄下的檔案上傳到FTP上的目前的目錄。比如,在 /root/dave下啟動並執行ftp命令,則只有在/root/dave下的檔案linux才會上傳到伺服器上的目前的目錄下。

 

Put 程式碼範例:

ftp> pwd    -- 顯示FTP上當前路徑

257 "/" is current directory.

ftp> ls   -- 顯示目前的目錄下的檔案

227 Entering Passive Mode (10,85,7,97,16,141)

150 Opening ASCII mode data connection for /bin/ls.

drw-rw-rw-   1 user     group           0 Aug 17 16:11 .

drw-rw-rw-   1 user     group           0 Aug 17 16:11 ..

-rw-rw-rw-   1 user     group     1433088 Feb  5  2010 ASPAJAXExtSetup_PConline_PConline.msi

-rw-rw-rw-   1 user     group    197626837 Mar  8 10:00 DelphiV7.0.zip

drw-rw-rw-   1 user     group           0 Jul  9 10:17 HHT

-rw-rw-rw-   1 user     group     9235148 Dec 24  2009 Install_HSKey_V1.3.exe

-rw-rw-rw-   1 user     group    47316992 May 27 16:38 Release_4.rar

ftp> mkdir Dave    -- 建立檔案夾Dave

257 "/Dave" directory created.

ftp> cd Dave      -- 進入檔案夾Dave

250 Directory changed to /Dave

ftp> pwd        -- 顯示目前的目錄

257 "/Dave" is current directory.

ftp> lcd     -- 顯示當前本地的路徑,我們可以將這個路徑下的這個檔案上傳到FTP伺服器的相關位置

Local directory now /home/oracle

ftp> !      -- 退出當前的視窗,返回Linux 終端,當我們退出終端的時候,又會返回到FTP上。

[oracle@Dave ~]$ ls  -- 顯示目前的目錄下的檔案

dead.letter  scripts  sqlnet.log

[oracle@Dave ~]$ vi Dave  -- 建立檔案 Dave

[oracle@Dave ~]$ vi DBA   -- 建立檔案 DBA

[oracle@Dave ~]$ ls       -- 顯示檔案夾裡的內容,等會我們將這些檔案copy到FTP上

Dave  DBA  dead.letter  scripts  sqlnet.log

[oracle@Dave ~]$ exit  -- 退出終端,返回FTP命令列

exit

ftp> lcd

Local directory now /home/oracle

ftp> put DBA DBA    -- 將剛才建立的檔案DBA 上傳到ftp的目前的目錄上並命名為DBA。

local: DBA remote: DBA

227 Entering Passive Mode (10,85,7,97,16,156)

150 Opening BINARY mode data connection for DBA.

226 Transfer complete.

5 bytes sent in 3.3e-05 seconds (1.5e+02 Kbytes/s)

ftp> put DBA /Dave/SFDBA -- 將剛才建立的檔案DBA 上傳到ftp的目前的目錄上並重新命名為SFDBA。

local: DBA remote: /Dave/SFDBA

227 Entering Passive Mode (10,85,7,97,16,158)

150 Opening BINARY mode data connection for SFDBA.

226 Transfer complete.

5 bytes sent in 1.8e-05 seconds (2.7e+02 Kbytes/s)

ftp> put /home/oracle/DBA /test/SFDBA 

local: /home/oracle/DBA remote: /test/SFDBA

227 Entering Passive Mode (10,85,7,97,16,163)

150 Opening BINARY mode data connection for SFDBA.

226 Transfer complete.

5 bytes sent in 2.2e-05 seconds (2.2e+02 Kbytes/s)

ftp> cd test

250 Directory changed to /test

ftp> ls

227 Entering Passive Mode (10,85,7,97,16,169)

150 Opening ASCII mode data connection for /bin/ls.

drw-rw-rw-   1 user     group           0 Aug 17 17:11 .

drw-rw-rw-   1 user     group           0 Aug 17 17:11 ..

-rw-rw-rw-   1 user     group           5 Aug 17 17:11 SFDBA

-rw-rw-rw-   1 user     group        5508 Aug 17 16:21 sqlnet.log

226 Transfer complete.

 

Mput 範例程式碼:

ftp> cd Dave

250 Directory changed to /Dave

ftp> mput *

mput alert_log.txt?    -- 這裡每個檔案都要確認,按斷行符號鍵就可以了

227 Entering Passive Mode (10,85,7,97,16,196)

150 Opening BINARY mode data connection for alert_log.txt.

226 Transfer complete.

712 bytes sent in 2.9e-05 seconds (2.4e+04 Kbytes/s)

mput alert_newccs.hist?

227 Entering Passive Mode (10,85,7,97,16,197)

150 Opening BINARY mode data connection for alert_newccs.hist.

226 Transfer complete.

9321666 bytes sent in 0.78 seconds (1.2e+04 Kbytes/s)

mput alert_newccs.log?

227 Entering Passive Mode (10,85,7,97,16,198)

150 Opening BINARY mode data connection for alert_newccs.log.

226 Transfer complete.

21707 bytes sent in 0.0014 seconds (1.5e+04 Kbytes/s)

ftp> ls       -- 顯示目錄下的檔案

227 Entering Passive Mode (10,85,7,97,16,217)

150 Opening ASCII mode data connection for /bin/ls.

drw-rw-rw-   1 user     group           0 Aug 17 17:22 .

drw-rw-rw-   1 user     group           0 Aug 17 17:22 ..

-rw-rw-rw-   1 user     group           5 Aug 17 17:09 SFDBA

-rw-rw-rw-   1 user     group         712 Aug 17 17:21 alert_log.txt

-rw-rw-rw-   1 user     group     9321666 Aug 17 17:21 alert_newccs.hist

-rw-rw-rw-   1 user     group       21707 Aug 17 17:21 alert_newccs.log

226 Transfer complete.

ftp> delete SFDBA   --刪除SFDBA 檔案

250 DELE command successful.

ftp> mdelete a*   -- 大量刪除檔案

mdelete alert_log.txt?  -- 每個檔案都要確認

250 DELE command successful.

mdelete alert_newccs.hist?

250 DELE command successful.

mdelete alert_newccs.log?

250 DELE command successful.

 

 

4.       下載檔案

同樣也有2個命令: get 和 mget。 Mget 使用者批量下載。

                   格式:get [remote-file] [local-file]

                              mget [remote-files]

                  同樣,mget 是將檔案下載到本地的目前的目錄下。

 

Get 樣本:

ftp> get /test/SFDBA /home/SFDBA

local: /home/SFDBA remote: /test/SFDBA

local: /home/SFDBA: Permission denied  --Linux對許可權控制的很嚴格,下載的時候是否有對應檔案夾的寫入權限

ftp>  get /test/SFDBA /home/oracle/SFDBA

local: /home/oracle/SFDBA remote: /test/SFDBA

227 Entering Passive Mode (10,85,7,97,17,0)

150 Opening BINARY mode data connection for SFDBA (5 Bytes).

226 Transfer complete.

5 bytes received in 6.2e-05 seconds (79 Kbytes/s)

ftp> !

[oracle@Dave bdump]$ cd /home/oracle/

[oracle@Dave ~]$ ls

Dave  DBA  dead.letter  scripts  SFDBA  sqlnet.log

 

Mget 樣本:

         ftp> ls

227 Entering Passive Mode (10,85,7,97,17,10)

150 Opening ASCII mode data connection for /bin/ls.

drw-rw-rw-   1 user     group           0 Aug 17 17:38 .

drw-rw-rw-   1 user     group           0 Aug 17 17:38 ..

-rw-rw-rw-   1 user     group           5 Aug 17 17:38 DBA

-rw-rw-rw-   1 user     group          12 Aug 17 17:38 Dave

-rw-rw-rw-   1 user     group           5 Aug 17 17:11 SFDBA

226 Transfer complete.

ftp> mget *

mget DBA?  -- 每個檔案都要確認,按斷行符號即可

227 Entering Passive Mode (10,85,7,97,17,12)

150 Opening BINARY mode data connection for DBA (5 Bytes).

226 Transfer complete.

5 bytes received in 8.1e-05 seconds (60 Kbytes/s)

mget Dave?

227 Entering Passive Mode (10,85,7,97,17,13)

150 Opening BINARY mode data connection for Dave (12 Bytes).

226 Transfer complete.

12 bytes received in 8.3e-05 seconds (1.4e+02 Kbytes/s)

mget SFDBA?

227 Entering Passive Mode (10,85,7,97,17,14)

150 Opening BINARY mode data connection for SFDBA (5 Bytes).

226 Transfer complete.

5 bytes received in 9e-05 seconds (54 Kbytes/s)

         ftp> !

[oracle@Dave ~]$ ls

Dave  DBA  dead.letter  scripts  SFDBA  sqlnet.log

 

說明的地方:FTP 目前的目錄下的檔案下載到本地的目前的目錄。

 

 

5.   斷開FTP 串連

Bye命令或者quit命令:中斷與伺服器的串連。

ftp> bye

221 Goodbye!

 

 

以上只是Linux 終端訪問ftp及上傳下載的幾個簡單樣本。 不過一般這幾個應該夠用了。其他功能感興趣的自己研究。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.