学习啦 > 学习电脑 > 操作系统 > Linux教程 > linux中的ftp命令用法

linux中的ftp命令用法

时间: 佳洲1085 分享

linux中的ftp命令用法

  Linux系统中的ftp命令功能强大,那么它的具体用法是怎样呢?下面由学习啦小编为大家整理了linux中的ftp命令用法相关知识,希望对大家有帮助!

  linux中的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 (回车)

  补充:linux中的iftp的用法

  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 来看。

3625860