Contents

使用FTP下载上传文件

FTP是文件传输协议(File Transfer Protocal)的简写,主要完成与远程计算机的文件传输。FTP采用客户/服务器模式,客户机与服务器之间利用TCP建立连接,客户可以从服务器上下载文件,也可以把本地文件上传至服务器。

在实际生活中,很多文件(尤其是大文件)需要通过FTP进行下载,所以熟练掌握一些基本的FTP使用方法是很有必要的。

1.使用FTP下载上传文件

1.1 建立FTP连接

1
2
3
#ftp domain.com
ftp 192.168.0.1
ftp ftp.ustclug.org

将示例的IP地址或者域名替换为你需要的

1.2 输入用户名以及密码

大多数FTP连接需要用户名以及密码

1
2
3
4
5
6
Name: anonymous
Password:
## 登录成功
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.

1.3 查看文件

1
2
3
4
# 显示当前目录
 ls
# 更换目录
cd directory 

1.4 上传与下载文件

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# 设置本地存放的文件夹
lcd /home/user/yourdirectoryname
# 下载文件
get file
# 下载文件夹
get -r someDirectory
# 下载多个文件
mget *.xls
# 上传文件
put file
# 上传文件夹
put -r localDirectory
# 上传多个文件
mput *.xls

1.5 关闭连接

1
2
3
bye
exit
quit

2. SFTP

全名SSH SECURE FILE TRANSFER PROTOCOL

2.1 连接

1
2
3
4
5
6
7
8
# 测试能否连接SSH
ssh sammy@your_server_ip_or_remote_hostname
# 成功的话
exit
# SFTP连接
sftp sammy@your_server_ip_or_remote_hostname
# 指定端口
sftp -oPort=custom_port sammy@your_server_ip_or_remote_hostname

常用的命令整理如下:

Command Function
ascii 设定以ASCII方式传送文件(缺省值)
bell 每完成一次文件传送,报警提示.
binary 设定以二进制方式传送文件.
bye 终止主机FTP进程,并退出FTP管理方式.
case 当为ON时,用MGET命令拷贝的文件名到本地机器中,全部转换为小写字母.
cd 同UNIX的CD命令.
cdup 返回上一级目录.
chmod 改变远端主机的文件权限.
close 终止远端的FTP进程,返回到FTP命令状态, 所有的宏定义都被删除.
delete 删除远端主机中的文件.
dir [remote-directory] [local-file] 列出当前远端主机目录中的文件.如果有本地文件,就将结果写至本地文件.
get [remote-file] [local-file] 从远端主机中传送至本地主机中.
help [command] 输出命令的解释.
lcd 改变当前本地主机的工作目录,如果缺省,就转到当前用户的HOME目录.
ls [remote-directory] [local-file] 同DIR.
macdef 定义宏命令.
mdelete [remote-files] 删除一批文件.
mget [remote-files] 从远端主机接收一批文件至本地主机.
mkdir directory-name 在远端主机中建立目录.
mput local-files 将本地主机中一批文件传送至远端主机.
open host [port] 重新建立一个新的连接.
prompt 交互提示模式.
put local-file [remote-file] 将本地一个文件传送至远端主机中.
pwd 列出当前远端主机目录.
quit 同BYE.
recv remote-file [local-file] 同GET.
rename [from] [to] 改变远端主机中的文件名.
rmdir directory-name 删除远端主机中的目录.
send local-file [remote-file] 同PUT.
status 显示当前FTP的状态.
system 显示远端主机系统类型.
user user-name [password] [account] 重新以别的用户名登录远端主机.
? [command] 同HELP. [command]指定需要帮助的命令名称。如果没有指定 command,ftp 将显示全部命令的列表。
! 从 ftp 子系统退出到外壳。

3.使用FTP软件

1
sudo yum install filezilla

直接输入域名,密码等 进行连接以及其它操作即可

4. 搭建FTP服务器

python 一行代码http服务器:

1
python -m SimpleHTTPServer 8000

ftp服务器:

1
python -m pyftpdlib -i localhost -p 8021 -d /home/someone

参考

  1. How to use the Linux ftp command to up- and download files on the shell https://www.howtoforge.com/tutorial/how-to-use-ftp-on-the-linux-shell/
  2. How to Set up an FTP Server in Ubuntu Linux https://www.wikihow.com/Set-up-an-FTP-Server-in-Ubuntu-Linux
  3. How To Use SFTP to Securely Transfer Files with a Remote Server https://www.digitalocean.com/community/tutorials/how-to-use-sftp-to-securely-transfer-files-with-a-remote-server
  4. Use SFTP to transfer files https://kb.iu.edu/d/akqg
  5. How to Install and Configure vsftpd on CentOS 7 https://www.liquidweb.com/kb/how-to-install-and-configure-vsftpd-on-centos-7/
  6. ftp命令 http://man.linuxde.net/ftp命令