Linux之ftp命令使用

一:前言

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

二:分类

有关FTP(client,server搭建这里不讲)有非常多,大体分为命令行和GUI图形界面的软件。

1,图形界面的有

gftp

gnome下ftpclient

crossftp

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

Kftpgrabber

KDE下ftpclient,支持编码选择。对中文支持较好

filezilla

对中文支持好

krusader

也能够通过浏览器输入ftp://ip使用

假设有喜欢的能够通过apt-get 或者 aptitude 安装。

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

(1)ftp

1. 连接ftpserver

  格式:ftp [hostname| ip-address]

  a)在linux命令行下输入:ftp 10.18.34.115

  b)server询问你username和口令,分别输入yint和对应password,待认证通过就可以。

或者用以下的格式

 ftp - -i  -n  IP_ADDRESS

  user USERNAME PASSWORD

比方:

ftp -i -n 172.17.17.17

user  PUB    123456

也能够自己写个脚本自己主动登录。

[email protected]:~/桌面/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]

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

  如要获取server上E:/rose/1.bmp,则

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

  b) mget      

  格式:mget [remote-files]

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

  如要获取server上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文件上传到serverE:/rose 下

  ftp> cd /rose (回车)

  ftp> mput *.bmp (回车)

  注意:上传文件都来自于主机的当前文件夹下。比方,在 /root/yint下执行的ftp命令,则仅仅有在/root/yint下的文件linux才会上传到serverE:/rose 下。

  4. 断开连接

  bye:中断与server的连接。

  ftp> bye (回车)

(2)lftp

在用lftp訪问国内一些ftpserver时,往往看到的中文是乱码,这是因为server和本地编码不一致造成的。

解决的方法:

在主文件夹下新建一个文件~/.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"

上面的这几行的意思是

设置本地和ftpserver的编码方式

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 username:password@ftp地址:传送port(默认21)

比如: $ lftp test:[email protected]

也能够先不带username登录,然后在接口界面下用login命令来用指定账号登录,password不显示。

lftp [email protected]:port

比如:$ lftp [email protected]

口令:

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

2、查看文件与改变文件夹

代码:

ls
cd 相应ftp文件夹

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

代码:

find . -name "*.mp3"

代码:

lftp [email protected]:/> lcd

lcd 成功, 本地文件夹=/home/cyq

lftp [email protected]:/>

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

就能够自己主动填好username,password,进入相应的文件夹了。

代码:

bookmark edit

会调用编辑器手动改动书签。当然,也能够看到,这个书签事实上就是个简单的文本文件。password,username都能够看到。

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

參考资料

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

时间: 2024-11-05 16:06:58

Linux之ftp命令使用的相关文章

linux系统ftp命令

先来一段简单的ftp 下载脚本 ftp -i -n<<EOF open 14.2.33.211 user etl etl cd /etlfile/ftpfile lcd /etlfile/getfile binary prompt mget * prompt close bye EOF ftp安装部分,操作步骤如下: 可以使用yum命令直接安装ftp # yum install vsftpd ftp服务的开启与关闭命令: 开启:# service vsftpd start 关闭:# servi

Linux shell ftp命令下载文件 根据文件日期

需求:ftp获取远程数据的文件,根据文件的创建时间点下载文件. 可以自行扩展根据文件的大小等其他需求. 知识点总结: 1.获取文件的时间: ls -lrt|awk '{print $6" "$7" "$8}' 时间内容: Sep  8 16:03 2.时间格式转换 date -d "Sep 8 16:03" +%Y%m%d%H%M 转换结果: 201709081603 3.指定文件名,正则匹配 pattern="${month}.*.d

linux下FTP常用命令

1. 连接ftp服务器 格式:ftp [hostname| ip-address]a)在linux命令行下输入:ftp 192.168.1.1 b)服务器询问你用户名和密码,分别输入用户名和相应密码,待认证通过即可. 2. 下载文件 下载文件通常用get和mget这两条命令.a) get格式:get [remote-file] [local-file]将文件从远端主机中传送至本地主机中.如要获取远程服务器上/usr/your/1.htm,则ftp> get /usr/your/1.htm 1.h

LINUX FTP命令

1.open IP 地址 2.压缩文件夹 3.put 压缩文件夹 压缩文件夹 FTP>open  [ftpservername],和指定的远程Linux FTP服务器连接? FTP>user  [username]  [password],使用指定远程Linux FTP服务器的用户登录? FTP>pwd,显示远程Linux FTP服务器上的当前路径? FTP>ls,列出远程Linux FTP服务器上当前路径下的目录和文件? FTP>dir,列出远程Linux FTP服务器上当

Linux ftp命令的使用方法 -- 转

http://jingyan.baidu.com/article/066074d68b6a7ac3c21cb038.html FTP(File Transfer Protocol, FTP)是TCP/IP网络上两台计算机传送文件的协议,FTP是在TCP/IP网络和INTERNET上最早使用的协议之一,它属于网络协议组的应用层.FTP客户机可以给服务器发出命令来下载文件,上载文件,创建或改变服务器上的目录. ftp服务器在网上较为常见,Linux ftp命令的功能是用命令的方式来控制在本地机和远程

linux远程下载文件 的两种方法之 ftp命令和scp命令

ftp命令: 服务器有安装ftp Server,另外一台linux可以使用ftp的client程序来进行文件的拷贝读取和下载. 1. 连接ftp服务器  格式:ftp [hostname| ip-address] a)在linux命令行下输入:ftp 192.168.26.66 b)服务器询问你用户名和口令,分别输入用户名和相应密码,待认证通过即可. 2. 下载文件 下载文件通常用get和mget这两条命令. a) get  格式:get [remote-file] [local-file] 将

linux下常用FTP命令 1. 连接ftp服务器

1. 连接ftp服务器 格式:ftp [hostname| ip-address]a)在linux命令行下输入: ftp 192.168.1.1 b)服务器询问你用户名和密码,分别输入用户名和相应密码,待认证通过即可. 2. 下载文件 下载文件通常用get和mget这两条命令.a) get 格式:get [remote-file] [local-file]将文件从远端主机中传送至本地主机中.如要获取远程服务器上/usr/your/1.htm,则 ftp> get /usr/your/1.htm 

Linux远程下载文件的两种方法之 ftp命令和scp命令

ftp命令: 服务器有安装ftp Server,另外一台linux可以使用ftp的client程序来进行文件的拷贝读取和下载. 1. 连接ftp服务器  格式:ftp [hostname| ip-address] a)在linux命令行下输入:ftp 192.168.26.66 b)服务器询问你用户名和口令,分别输入用户名和相应密码,待认证通过即可. 2. 下载文件 下载文件通常用get和mget这两条命令. a) get  格式:get [remote-file] [local-file] 将

Linux下的FTP命令害死人

Binary模式不会对数据进行任何处理. Ascii模式会将回车换行转换为本机的回车字符. 做系统运维的记得长记性,在Linux下用ftp命令传输文件的时候,记得开启bin模式,要不然你的系统镜像会以ascii模式传输,导致文件不一致,镜像就启不来了. 我最近就犯了这毛病,害死人啊,一个礼拜全做系统了.