linux 之间 copy 传输文件方法:ftp、samba、sftp、scp、sz/rz

 

不同的 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  把本机上的文件 /tmp/file2 送到另一台机器的 /boot 目录下。传送过程用 SSH 加密。

把当前一个文件 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 。在弹出的框中选择文件,上传文件的用户和组是当前登录的用户

 

 

 

你可能感兴趣的:(Shell)