资源共享方面中,我们需要注意文件如何传输,我们来看常见的FTP SFTP RSYNC SCP来传输文件
通过FTP可以还可以使用lftp来传输文件,SSH可以使用sftp来传输文件,RSYNC可以使用SSH和rsync来传输,scp可以通过SSH来进行传输
FTP是一个用于服务器之间传输文件的文件传输方式,使用lftp来访问FTP服务器来传输文件,使用端口21,只有远程主机商安装FTP的功能才能使用
lftp username@ftphost
然后就需要输入密码,显示下面的登录提示符
lftp ussername@ftphost:~>
然后就可以执行远端操作了
cd
lcd 操作本端
get filename 下载文件
上传文件的方式如下
lftp username@ftphost:~> put filename
quit可以退出lftp会话
SFTP
运行在FTP文件传输系统,运行在SSH连接之上,利用SSH来模拟FTP接口,不需要远端运行FTP来执行文件传输,但是还是要安装OPENSSH
SFTP是一种交互式的命令,下面的命令用来执行文件传输,
sftp user@url 和 lftp类似,输入quit可以退出sftp
ssh有时候并不在默认的端口22上运行,如果其他的端口运行,可以再sftp中使用 -oPort=PortNum来指定端口号
例如sftp -oPort=422 user@slynux.org
如果需要指定端口号,需要将指端口号的命令放在第一个参数
rsync
也可以用于网络上系统快照和网络文件之间的备份
SCP
secure Copy 安全复制,是一种比传统的rcp更加安全的文件复制技术,文件都是通过SSH加密通道进行传输的
scp filename
user@remotehsot:/home/path
这就需要去输入密码,可以使用SSH自动登录来免于输入密码,一旦确定了关系,就不用再次登录了,命令中remotehost可以使用IP地址或者域名
命令行中的remotehost可以使用IP地址或者域名
常见的格式如下
scp user@remotehost:/home/path/filename filename
这就是将远端的文件拉取到本地来
如果需要递归,并且需要推送的话
scp -r /home/slynux user@remotehost:/home/backups
如果需要保留文件的权限
可以加上选项 -P