`
tianshibaijia
  • 浏览: 1125491 次
文章分类
社区版块
存档分类
最新评论

Linux 终端访问 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:

!crmdirproxysend

$deletemgetsendportsite

accountdebugmkdirputsize

appenddirmlspwdstatus

asciidisconnectmodequitstruct

bellformmodtimequotesystem

binarygetmputrecvsunique

byeglobnewerregettenex

casehashnmaprstatustrace

ccchelpnlistrhelptype

cdidlentransrenameuser

cdupimageopenresetumask

chmodlcdpassiverestartverbose

clearlsprivatermdir?

closemacdefpromptrunique

cprotectmdeleteprotectsafe

可以通过help command查看每个命令的说明

ftp> help put

putsend one file

ftp> help mput

mputsend 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 usergroup0 Aug 17 16:11 .

drw-rw-rw-1 usergroup0 Aug 17 16:11 ..

-rw-rw-rw-1 usergroup1433088 Feb52010 ASPAJAXExtSetup_PConline_PConline.msi

-rw-rw-rw-1 usergroup197626837 Mar8 10:00 DelphiV7.0.zip

drw-rw-rw-1 usergroup0 Jul9 10:17 HHT

-rw-rw-rw-1 usergroup9235148 Dec 242009 Install_HSKey_V1.3.exe

-rw-rw-rw-1 usergroup47316992 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.letterscriptssqlnet.log

[oracle@Dave ~]$ vi Dave--创建文件Dave

[oracle@Dave ~]$ vi DBA--创建文件DBA

[oracle@Dave ~]$ ls--显示文件夹里的内容,等会我们将这些文件copy到FTP上

DaveDBAdead.letterscriptssqlnet.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 usergroup0 Aug 17 17:11 .

drw-rw-rw-1 usergroup0 Aug 17 17:11 ..

-rw-rw-rw-1 usergroup5 Aug 17 17:11 SFDBA

-rw-rw-rw-1 usergroup5508 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 usergroup0 Aug 17 17:22 .

drw-rw-rw-1 usergroup0 Aug 17 17:22 ..

-rw-rw-rw-1 usergroup5 Aug 17 17:09 SFDBA

-rw-rw-rw-1 usergroup712 Aug 17 17:21 alert_log.txt

-rw-rw-rw-1 usergroup9321666 Aug 17 17:21 alert_newccs.hist

-rw-rw-rw-1 usergroup21707 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

DaveDBAdead.letterscriptsSFDBAsqlnet.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 usergroup0 Aug 17 17:38 .

drw-rw-rw-1 usergroup0 Aug 17 17:38 ..

-rw-rw-rw-1 usergroup5 Aug 17 17:38 DBA

-rw-rw-rw-1 usergroup12 Aug 17 17:38 Dave

-rw-rw-rw-1 usergroup5 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

DaveDBAdead.letterscriptsSFDBAsqlnet.log

说明的地方:FTP当前目录下的文件下载到本地的当前目录。

5.断开FTP连接

Bye命令或者quit命令:中断与服务器的连接。

ftp> bye

221 Goodbye!

以上只是Linux终端访问ftp及上传下载的几个简单示例。不过一般这几个应该够用了。其他功能感兴趣的自己研究。

------------------------------------------------------------------------------

分享到:
评论

相关推荐

    Wing FTP Server v6.0.9.zip

    软件除了能提供FTP的基本服务功能以外,还能提供管理员终端、任务计划、基于Web的管理端,基于Web的客户端和Lua脚本扩展等,此外,还支持可编程的事件, 计划任务, Lua脚本扩展, 虚拟文件夹, 上传下载比率分配, 磁盘...

    实验十三Linuxftp服务器.doc

    浏览FTP服务器上/etc/vsftpd.user_list文件,文件中列出了缺省值为YES(use rlist_deny=YES)的用户,这些用户永不允许访问FTP服务器。若userlist_deny=NO,则 为允许访问FTP服务器的用户。 7. 记录作FTP服务器的...

    Linux系统中文乱码解决完整方案

    Linux中的中文文件在ssh终端中显示为乱码。原本在Windows中显示正常的文件,上传到Linux中之后,全变成乱码,有什么好的解决方法呢,经过本人多次实验,终于得到一个解决方法

    计算机+Linux+NaSarang+XShell7andXftp7+远程登陆+远程上传下载文件(软件+安装过程)

    Xshell可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。除此之外,其还有丰富的外观配色方案以及样式选择。 Xftp是一个功能强大的SFTP、FTP 文件传输软件。使用了 Xftp ...

    cmd操作命令和linux命令大全收集

    ftp ip 端口 用于上传文件至服务器或进行文件操作,默认端口为21。bin指用二进制方式传送(可执行文件进);默认为ASCII格式传送(文本文件时) route print 显示出IP路由,将主要显示网络地址Network addres,子网...

    Linux指令一周通 (技术图书大系).azw3

    1.61 ncftpput指令:上传文件 1.62 od指令:输出文件内容 1.63 paste指令:合并文件的列 1.64 patch指令:修补文件 1.65 rcp指令:远程复制文件或目录 1.66 rhmask指令:产生加密文件 1.67 rm指令:删除文件或目录 ...

    Samba文件共享SambaFilesharing.apk

    已经进入了smb模式,有些像ftp,敲help可以查看相关命令,get,put可以下载和上传文件。 五. 小结 以上几步,对于简单使用ubuntu和windows的文件共享于互访已经足够,更详细的资料可以参考:...

    入门学习Linux常用必会60个命令实例详解doc/txt

    在Linux 和Unix系统上,所有文件都是作为一个大型树(以/为根)的一部分访问的。要访问CD-ROM上的文件,需要将CD-ROM设备挂装在文件树中的某个挂装点。如果发行版安装了自动挂装包,那么这个步骤可自动进行。在Linux...

    xshell5_wm_5.0.1332&Xftp6.0.0175.zip

    Xshell可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。除此之外,其还有丰富的外观配色方案以及样式选择。 Xftp是一个功能强大的SFTP、FTP 文件传输软件。使用了 Xftp ...

    linux与unix shell编程指南part2

    禁止盗用上传相同资源, 太大,本书分两部分,高清版 本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程...

    云业内容管理系统【云业cms、yunyecms】yunyecms_v2_realease_20191105.rar

    第一步,用ftp上传到空间或者服务器,根目录或子目录均可 第二步:自动跳出安装界面或者"域名/intstall"加入安装界面 第三步:填写数据库信息,和后台默认登陆密码,以及网站名称,标题、关键字 第四部: 安装完成 ...

    JAVA上百实例源码以及开源项目

    FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户可以在终端上...

    云业内容管理系统【云业cms、yunyecms】V2.0开源企业建站系统

    第一步,用ftp上传到空间或者服务器,根目录或子目录均可 第二步:自动跳出安装界面或者"域名/intstall"加入安装界面 第三步:填写数据库信息,和后台默认登陆密码,以及网站名称,标题、关键字 第四部: 安装完成...

    云业cms开源企业建站系统

    第一步,用ftp上传到空间或者服务器,根目录或子目录均可 第二步:自动跳出安装界面或者"域名/intstall"加入安装界面 第三步:填写数据库信息,和后台默认登陆密码,以及网站名称,标题、关键字 第四部: 安装完成 ...

    OpenIoTHub::sparkling_heart:一个免费的物联网(IoT)平台和私有云。 [一个免费的物联网和私有云平台,支持内网穿透]

    OpenIoTHUb | 腾讯QQ群:251227638什么是OpenIoTHub :sparkling_heart: 免费的物联网...支持通过Intranet SSH访问文件(上传和下载) 7.支持直接打开Intranet机器的VNC桌面 8.支持呼叫手机Rd客户端打开内网窗口桌面 9.

    JAVA上百实例源码以及开源项目源代码

    FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户可以在终端上...

    java开源包10

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    Python Cookbook

    14.3 用CGI上传文件 507 14.4 检查web页面的存在 509 14.5 通过HTTP检查内容类型 510 14.6 续传HTTP下载文件 512 14.7 抓取Web页面时处理Cookie 513 14.8 通过带身份验证的代理进行HTTPS导航 516 14.9 用...

    java开源包1

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

Global site tag (gtag.js) - Google Analytics