Linux之ftp命令使用

一:前言

在达内参加暑期社会实践,达内公司免费教授了一星期的课,当时觉得老师用ftp命令用的很爽。所以回来学学了。

二:分类

有关FTP(客户端,服务器搭建这里不讲)有很多,大体分为命令行和GUI图形界面的软件。

1,图形界面的有

gftp

gnome下ftp客户端

crossftp

基于Java的稳定ftp客户端和同步工具。优良的中文/Unicode支持。

Kftpgrabber

KDE下ftp客户端,支持编码选择。对中文支持较好

filezilla

对中文支持好

krusader

也可以通过浏览器输入ftp://ip使用

如果有喜欢的可以通过apt-get或者aptitude安装。

2,CLI(命令行)主要有ftp和lftp

(1)ftp

1.连接ftp服务器

  格式:ftp[hostname|ip-address]

  a)在linux命令行下输入:ftp10.18.34.115

  b)服务器询问你用户名和口令,分别输入yint和相应密码,待认证通过即可。

或者用下面的格式

 ftp – -i -n IP_ADDRESS

  user USERNAME PASSWORD

比如:

ftp -i -n 172.17.17.17

user PUB 123456

也可以自己写个脚本自动登录。

cyq@cyq-desktop:~/桌面/shell$ cat ftp.sh

#!/bin/sh

ftp -i -n 172.17.17.17

<< !

user PUB 123456

!

这样就可以自动登录了。

  2.下载文件

  下载文件通常用get和mget这两条命令。

  a)get

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

  将文件从远端主机中传送至本地主机中.

  如要获取服务器上E:/rose/1.bmp,则

  ftp>get/rose/1.bmp1.bmp(回车)

  b)mget      

  格式:mget[remote-files]

  从远端主机接收一批文件至本地主机.

  如要获取服务器上E:/rose/下的所有文件,则

  ftp>cd/rose

  ftp>mget*.*(回车)

  注意:文件都下载到了linux主机的当前目录下。比如,在 /root/yint下运行的ftp命令,则文件都下载到了/root/yint下。

  3.上传文件

  a)put

  格式:putlocal-file[remote-file]

  将本地一个文件传送至远端主机中.

  如要把本地的1.bmp传送到远端主机E:/rose,并改名为333.bmp

  ftp>put1.bmp/rose/333.bmp(回车)

  b)mput

  格式:mputlocal-files

  将本地主机中一批文件传送至远端主机.

  如要把本地当前目录下所有bmp文件上传到服务器E:/rose下

  ftp>cd/rose(回车)

  ftp>mput*.bmp (回车)

  注意:上传文件都来自于主机的当前目录下。比如,在 /root/yint下运行的ftp命令,则只有在/root/yint下的文件linux才会上传到服务器E:/rose下。

  4.断开连接

  bye:中断与服务器的连接。

  ftp>bye(回车)

(2)lftp

在用lftp访问国内一些ftp服务器时,往往看到的中文是乱码,这是由于服务器和本地编码不一致造成的。

解决办法:

在主目录下新建一个文件~/.lftprc或者~/.lftp/rc

比如我在终端中输入:

gedit~/.lftprc#在当前目录下建立.lftprc文件

然后在弹出的对话框中输入以下内容:

debug3

setftp:charsetGBK

setfile:charsetUTF-8

#setftp:passtive-modeno

#aliasutf8″setftp:charsetUTF-8″

#aliasgbk”setftp:charsetGBK”

上面的这几行的意思是

设置本地和ftp服务器的编码方式

alias是使用别名命令

如果对于经常使用不同编码的ftpserver的朋友,或经常使用不同的选项的,可以设置一些别名,这样会方便很多。比如:

我经常访问gbk编码的ftp,还有utf8编码的,那么我在~/.lftp中这样写

代码:

aliasgbksetftp:charsetgbk;setfile:charsetUTF-8aliasutf8setftp:charsetUTF-8;setfile:charsetUTF-8

那么当我访问一个utf8站点的时候,如果发现乱码,只要在lftp的命令提示符号下面输入utf8就可以将编码调整正常。同理,如果访问gbk的发现乱码就输入gbk,马上正常。

下面讲解使用lftp

1、登录ftp

代码:

lftp用户名:密码@ftp地址:传送端口(默认21)

例如:$lftptest:123456@172.17.17.17

也可以先不带用户名登录,然后在接口界面下用login命令来用指定账号登录,密码不显示。

lftpuser@site:port

例如:$lftptest@172.17.17.17

口令:

然后就进入了。(这里输入的口令是密码,linux下密码不显示)

2、查看文件与改变目录

代码:

lscd对应ftp目录

在lftp终端中,前面带一个l的命令例如lcd,指的是local,就是在本机的操作,而对应的没有这个l的,都是对ftpsite的操作。还有就是要执行本地终端命令,也可以用前面带一个!的方式。这样,配合起来,终端,本地的操作都很放遍。例如,查看ftp上所有的以mp3为扩展名的文件:

代码:

find.-name”*.mp3″

代码:

lftptest@172.17.17.17:/>lcd

lcd成功,本地目录=/home/cyq

lftptest@172.17.17.17:/>

3、下载get当然是可以的,还可以

代码:

mget-c*.pdf

把所有的pdf文件以允许断点续传的方式下载。m代表multi

代码:

mirroraaa/

将aaa目录整个的下载下来,子目录也会自动复制

代码:

pget-c-n10file.dat

以最多10个线程以允许断点续传的方式下载file.dat可以通过设置pget:default-n的值而使用默认值。

4、上传同样的put,mput,都是对文件的操作,和下载类似。

代码:

mirror-R本地目录名

将本地目录以迭代(包括子目录)的方式反向上传到ftpsite。

5、模式设置。

代码:

setftp:charsetgbk

远程ftpsite用gbk编码,对应的要设置为utf8,只要替换gbk为utf8即可。

代码:

setfile:charsetutf8

本地的charset设定为utf8,如果你是gbk,相应改掉。

代码:

setftp:passive-mode1

使用被动模式登录,有些site要求必须用被动模式或者主动模式才可以登录,这个开关就是设置这个的。0代表不用被动模式。

6、书签其实命令行也可以有书签,在lftp终端提示符下:

代码:

bookmarkaddustc

就可以把当前正在浏览的ftpsite用ustcshell终端下,直接

代码:

lftpustc

就可以自动填好用户名,密码,进入对应的目录了。

代码:

bookmarkedit

会调用编辑器手动修改书签。当然,也可以看到,这个书签其实就是个简单的文本文件。密码,用户名都可以看到。

7、配置文件/etc/lftp.conf一般,我会添加这几行:

引用:

setftp:charsetgbksetfile:charsetutf8setpget:default-n5

这样,就不用每次进入都要打命令了。其他的set可以自己tab然后help来看。

下面是常用命令

ls

显示远端文件列表(ils显示本地文件列表)。#l的意思就是localils比较特殊

cd

切换远端目录(lcd切换本地目录)。

get

下载远端文件。

mget

下载远端文件(可以用通配符也就是*)。

pget

使用多个线程来下载远端文件,预设为五个。

mirror

下载/上传(mirror-R)/同步整个目录。

put

上传文件。

mput

上传多个文件(支持通配符)。

mv

移动远端文件(远端文件改名)。

rm

删除远端文件。

参数-r,递归删除文件夹

mrm

删除多个远端文件(支持通配符)。

mkdir

建立远端目录。

rmdir

删除远端目录。

pwd

显示目前远端所在目录(lpwd显示本地目录)。

du

计算远端目录的大小

setnet:limit-rate10000,10000

限制上传下载各为10KB/s

setftp:charsetgbk

设置远程ftpsite用gbk编码

!

执行本地shell的命令(由于lftp没有lls,故可用!ls来替代)

lcd

切换本地目录

lpwd

显示本地目录

alias

定义别名

bookmark

设定书签。

exit

退出ftp

参考资料

http://forum.ubuntu.org.cn/viewtopic.php?f=70&t=104785

http://forum.ubuntu.org.cn/viewtopic.php?t=59102&highlight=lftp

http://wiki.ubuntu.org.cn/index.php?title=Lftp&variant=zh-cn

声明:本文档可以随意更改,但必须署名原作者

作者:凤凰舞者 qq:578989855

好好扮演自己的角色,做自己该做的事

Linux之ftp命令使用

相关文章:

你感兴趣的文章:

标签云: