搜索
首页php教程PHP开发Linux之ftp命令使用

Linux之ftp命令使用

Dec 20, 2016 am 09:24 AM

分类

有关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命令行下输入:ftp 10.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.bmp 1.bmp (回车)

  b) mget      

  格式:mget [remote-files]

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

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

  ftp> cd /rose

  ftp> mget *.* (回车)

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

  3.上传文件

  a) put

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

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

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

  ftp> put 1.bmp /rose/333.bmp (回车)

  b) mput

  格式:mput local-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文件

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

debug 3

set ftp:charset GBK

set file:charset UTF-8

#set ftp:passtive-mode no

#alias utf8 " set ftp:charset UTF-8"

#alias gbk " set ftp:charset GBK"

 

上面的这几行的意思是

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

alias 是使用别名命令

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

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

代码:

alias   gbk  set ftp:charset gbk; set file:charset UTF-8
alias   utf8 set ftp:charset UTF-8; set file:charset UTF-8

 

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

 

下面讲解使用lftp

1、登录ftp

代码:

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

例如: $ lftp test:123456@172.17.17.17

    


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

lftp user@site:port

例如:$ lftp test@172.17.17.17

 

      口令: 

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

2、查看文件与改变目录

代码:

ls
cd 对应ftp目录

 

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

代码:

find . -name "*.mp3"

 

代码:

lftp test@172.17.17.17:/> lcd

 

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

 

lftp test@172.17.17.17:/> 

 

 

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

代码:

mget -c *.pdf

 

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

代码:

mirror aaa/

 

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

代码:

pget -c -n 10 file.dat

 

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

 

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

代码:

mirror -R 本地目录名

 

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

 

5、模式设置。

代码:

set ftp:charset gbk

 

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

代码:

set file:charset utf8

 

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

 

代码:

set ftp:passive-mode 1

 

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

 

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

代码:

bookmark add ustc

 

就可以把当前正在浏览的ftp site用ustc作为标签储存起来。以后在shell终端下,直接

代码:

lftp ustc

 

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

 

代码:

bookmark edit 

 

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

 

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

引用:

set ftp:charset gbk
set file:charset utf8
set pget:default-n 5

 

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

 

下面是常用命令

ls 

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

cd 

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

get

下载远端文件。 

mget

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

pget

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

mirror

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

put

上传文件。 

mput

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

mv

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

rm

删除远端文件。 

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

mrm

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

mkdir

建立远端目录。 

rmdir

删除远端目录。 

pwd

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

du

计算远端目录的大小 

set net:limit-rate 10000,10000 

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

set ftp:charset gbk

设置远程ftp site用gbk编码 

!

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

lcd

切换本地目录 

lpwd

显示本地目录 

alias

定义别名 

bookmark

设定书签。 

exit

退出ftp 



更多Linux之ftp命令使用相关文章请关注PHP中文网!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器