Linux之scp命令

    科技2026-10-04  10

    SCP(Secure Copy)

    Linux中的scp命令是用来进行远程文件拷贝的,数据传输使用ssh,并且和ssh使用相同的认证方式,提供相同的安全保证。这是一个非常方便有用的命令,在两台服务器之间直接传送文件,仅仅用 一个scp命令就完全解决了。scp在需要进行验证时会要求你输入对方的密码或口令


    基本命令语法

    从本地复制到远程:scp [可选参数] 本地用户名@IP地址:本地路径 远程用户名@IP地址:远程路径从远程复制到本地:scp [可选参数] 远程用户名@IP地址:远程路径 本地用户名@IP地址:本地路径

    tips: [本地用户名@IP地址:]这一项可以不输入。 如果不输入[远程用户名@],那么命令执行后会要求用户输入。 命令执行后可能需要输入远程用户的密码。通常第一次传输时需要输入密码,系统重启后也会视为第一次传输。

    可选参数 :

    -v  和大多数linux命令中的-v意思一样, 用来显示命令执行过程中的具体信息,可以用来查看连接、认证或是配置错误。-C  启用压缩选项。-P  选择端口,注意-p已经被rcp使用。-4  强行使用IPV4地址。-6  强行使用IPV6地址。-r  用于传送目录时,递归传送子目录与子文件。

    从本地复制到远程

    复制文件

    scp local_file remote_username@remote_ip:remote_folder scp local_file remote_username@remote_ip:remote_file scp local_file remote_ip:remote_folder scp local_file remote_ip:remote_file

    1、2个指定了远程用户名:第1个指定了远程目录名,即将本地文件复制到远程目录下,文件名字不变;第2个指定了远程文件名,即将本地文件复制并重命名成远程文件。

    3、4个没有指定用户名,命令执行后需要输入用户名:第3个指定了远程目录名,情况同上;第3个指定了远程文件名,情况同上。

    例子

    scp /home/dir/1.mp3 root@192.168.1.110:/home/root/others scp /home/dir/1.mp3 root@192.168.1.110:/home/root/others/001.mp3 scp /home/dir/1.mp3 192.168.1.110:/home/root/others scp /home/dir/1.mp3 192.168.1.110:/home/root/others/001.mp3

    复制目录:

    scp -r local_folder remote_username@remote_ip:remote_folder scp -r local_folder remote_ip:remote_folder

    第1个指定了用户名:将本地目录递归复制到远程目录下。 第2个没有指定用户名,命令执行后需要输入用户名:将本地目录递归复制到远程目录下。

    例子

    scp -r /home/dir root@192.168.1.110:/home/root/others/ scp -r /home/dir 192.168.1.110:/home/root/others/

    从远程复制到本地

    只要将“从本地复制到远程”的命令中的本地与远程信息调换位置即可。

    例子

    scp root@192.168.1.110:/home/root/others /home scp -r 192.168.1.110:/home/root/others /home
    Processed: 0.012, SQL: 9