不同的 Linux 之间 copy 文件通常有4种方法
- 1.ftp
- 2.samba服务
- 3.sftp
- 4.scp
前三种方法都比较繁琐,最简单的方法就是 scp
scp
scp 本地用户名@IP地址:文件名1 远程用户名@IP地址:文件名2
[本地用户名@IP地址:] 可以不输入,可能需要输入远程用户名所对应的密码.
可能有用的几个参数:
-v 和大多数linux命令中的-v意思一样,用来显示进度.可以用来查看连接,认证,或是配置错误.
-C 使能压缩选项.
-P 选择端口.注意-p已经被rcp使用.
-4 强行使用IPV4地址.
-6 强行使用IPV6地址.
拷贝单个文件命令:
scp file username@ip:filepath
说明:
file: 要拷贝的文件名
username: 远程登录的用户名,
ip:远程服务器ip
filepath:远程文件路径
拷贝文件夹命令如下(多加上一个-r 参数即可):
scp -r file username@ip:filepath
scp 就是 secure copy, 是用来进行远程文件拷贝的。
数据传输使用 ssh1, 并且和 ssh1 使用相同的认证方式 , 提供相同的安全保证。
scp 与 rcp 不同的是:scp 会要求你输入密码如果需要的话 。
scp 命令是 SSH 中最方便有用的命令了,在两台服务器之间直接传送文件,仅仅用 scp 一个命令就完全解决了。
你可以在一台服务器上 以 root 身份运行
#scp servername:/home/ftp/pub/file1 . 这样就把另一台服务器上的文件 /home/ftp/pub/file1 直接传到本机器的当前目录下
#scp /tmp/file2 servername:/boot
把当前一个文件 copy 到远程服务器上:
#scp /home/a.txt [email protected]:/home/root
然后会提示输入192.168.0.8的root密码,接着就开始复制传输了。
把远程主机 copy 到当前主机的当前目录下:
#scp [email protected]:/home/b.txt .
复制文件夹: scp -r [email protected]:/home/ /root/home2
pscp
Windows <<------>> Linux Windows 和 Linux 相互 copy
1.使用FTP工具
2.使用pscp
PSCP(PuTTY Secure Copy client)是PuTTY提供的文件传输工具,通过SSH连接,在两台机器之间安全的传输文件,可以用于任何SSH(包括SSHv1、SSHv2)服务器
1、下载:
可以从 http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html 下载pscp,并将其放入windows的system32 文件夹下,这样在dos命令窗口中就能直接调用使用了。如果system32下没有,则只能cmd进入pscp所在文件夹,然后在pscp所在文件夹进行操作。
2、使用
(一)Windows —> Linux上传文件:
1)、开始→运行→cmd进入到dos模式,输入以下命令:
pscp f:\new.txt [email protected]:/home
2)、回车后,提示输入密码,输入Linux服务器上该用户的登录密码后,文件会上传到Linux服务器的/home目录下。
具体操作如下:
C:\Documents and Settings\Administrator>pscp f:\new.txt [email protected]:/home
[email protected]'s password:
new.txt | 0 kB | 0.0 kB/s | ETA: 00:00:00 | 100%
C:\Documents and Settings\Administrator>
(二)Linux —> Windows下载文件:
1)、开始→运行→cmd进入到dos模式,输入以下命令:
pscp [email protected]:/home/new.txt f:\new_copy.txt
2)、回车后,提示输入密码,输入密码后文件将上传到目标机器的/home/hollyfee目录下。
其中:admin为linux的用户名,10.10.10.10为远程Linux主机ip地址,/home/new.txt为linux下的文件,f:\new_copy.txt为保存在本地的文件。
具体操作如下:
C:\Documents and Settings\Administrator>pscp [email protected]:/home/new.txt f:\new_copy.txt
[email protected]'s password:
new_copy.txt | 0 kB | 0.0 kB/s | ETA: 00:00:00 | 100%
C:\Documents and Settings\Administrator>
5.使用 psftp (psftp是putty的组成部分,可以用于本地文件和远程文件的传输控制)
1. 建立远程连接
psftp
open hostname
openusername@hostname
2. 操作远程服务器
pwd : 查看当前所在目录
cd +路径:进入某个目录
ls :列出当前目录下的文件
dir:列出当前目录下的文件
rm +文件名:删除文件
del+文件名:删除文件
put+本地文件:上传本地文件到远程服务器
get+远程文件:下载远程文件到本地机器
3. 操作本地文件
lpwd:查看本地机器当前所在目录
lcd+路径:更改本地机器的当前目录
!dir:列出本地机器当前目录的文件(感叹号!表示执行本地命令)
4. 关闭连接
close:关闭连接,不退出psftp
quit:关闭连接而且退出psftp
exit:关闭连接而且退出psftp
rz 和 sz
xshell 有 xftp 可以实现图形化的 相互传递文件。SecureCRT 可以 在服务器安装 rz 和 sz 来实现相互传递文件
xshell 百度云下载:https://pan.baidu.com/s/12NvmlHiDowNXkG0_M4jdBg#list/path=/
FileZilla Client ( ftp 客户端) : https://filezilla-project.org/download.php?type=client
在 linux 中 rz 和 sz 命令允许开发者与主机通过串口进行传递文件了。
下面我们就来简单的介绍一下rz 和 sz 命令的例子。
sz:将选定的文件发送(send)到本地机器
rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到 Linux 服务器
安装命令: yum install lrzsz
- 从服务端发送文件到客户端:sz filename
- 从客户端上传文件到服务端:rz 。在弹出的框中选择文件,上传文件的用户和组是当前登录的用户