FTP(File Transfer Protocal)即文件传输协议,其默认端口是21。Linux下可以使用ftp、lftp等工具从FTP服务器上下载或者上传文件。
从FTP服务器下载或向其上传文件
ftp [option] hostname
lftp [option] hostname
ftp: -i 传输多个文件时,不提示确认信息 -v 显示远程服务器的所有响应信息 -n 限制ftp的自动登录,即不使用用户主目录下的.netrc文件 -d 使用调试方式; -g 取消全局文件名。 lftp: -f <script> 执行文件中的命令后退出 -c 执行命令后退出 -e 在选择后执行命令 -u <user[,pass]> 使用指定的用户名/口令进行验证 -p <port> 连接指定的端口
下面是用ftp登录和退出FTP服务器:
[peter@ibi98 curl]$ ftp 172.16.98.99
Connected to 172.16.98.99 (172.16.98.99).
220 (vsFTPd 3.0.2)
Name (172.16.98.99:xiezy):
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> quit
221 Goodbye.
lftp登录和退出FTP服务器也类似,只是默认是匿名登录:
[peter@ibi98 curl]$ lftp 172.16.98.99
lftp 172.16.98.99:~> quit
[peter@ibi98 curl]$
lftp也可以使用账号登录:
[peter@ibi98 curl]$ lftp xiezy@172.16.98.99
口令:
lftp xiezy@172.16.98.99:~> quit
[peter@ibi98 curl]$
ftp和lftp登录后,可以使用命令上传和下载,也可以查看服务器上的文件,或者执行创建目录等操作:
[peter@ibi98 curl]$ lftp xiezy@172.16.98.99
口令:
lftp xiezy@172.16.98.99:~> cd ftp
cd 成功, 当前目录=/home/xiezy/ftp
lftp xiezy@172.16.98.99:~/ftp> ls
-rw-r--r-- 1 1000 1000 1108 Mar 30 05:25 plant_tf.txt
-rwxr-xr-x 1 1000 1000 629 Mar 30 05:25 pubmed.sh
lftp xiezy@172.16.98.99:~/ftp> get plant_tf.txt
1108 bytes transferred
lftp xiezy@172.16.98.99:~/ftp> put
hs_hba.fa plant_tf.txt tmp.out tmp.txt
lftp xiezy@172.16.98.99:~/ftp> put hs_hba.fa
5294 bytes transferred
lftp xiezy@172.16.98.99:~/ftp> ls
-rw-r--r-- 1 1000 1000 5294 Mar 30 05:26 hs_hba.fa
-rw-r--r-- 1 1000 1000 1108 Mar 30 05:25 plant_tf.txt
-rwxr-xr-x 1 1000 1000 629 Mar 30 05:25 pubmed.sh
lftp xiezy@172.16.98.99:~/ftp>
ftp与lftp的命令类似,这些命令很多与Linux系统命令是一样的,如ls、cd、mkdir等,另外重要的命令还有:
dir 与ls功能一样,显示文件列表 get 下载一个文件 mget 下载多个文件 put 上传一个文件 mput 上传多个文件 mrm 删除多个文件 exit/quit/bye 退出ftp
目前,FTP用的没有以前多了,但仍有网站提供FTP服务,如向NCBI提交基因组测序数据时,会给您提供一个FTP服务器的账号和密码,用来上传基因组数据。