Linux系统之scp命令的基本使用

2024-11-02 23:05:09 5点赞 14收藏 0评论

Linux系统之scp命令的基本使用

Linux系统之scp命令的基本使用

一、scp命令介绍

SCP是Secure Copy Protocol(安全拷贝协议)的缩写,是SSH(Secure Shell)协议的一部分,用于在网络之间传输文件。其使用加密的方式在本地主机和远程主机之间复制文件。

二、scp命令的使用帮助

2.1 基本语法

scp [选项] [源文件] [目标地址]

2.2 选项解释

  • 以下是scp命令选项解释

-1:使用ssh协议版本1; -2:使用ssh协议版本2; -4:使用ipv4; -6:使用ipv6; -B:以批处理模式运行; -C:开启压缩传输; -F:指定ssh配置文件; -i:identity_file 从指定文件中读取传输时使用的密钥文件(例如亚马逊云pem),此参数直接传递给ssh; -l:指定宽带限制; -o:指定使用的ssh选项; -P:指定远程主机的端口号; -p:保留文件的最后修改时间,最后访问时间和权限模式; -q:不显示复制进度; -r:以递归方式复制。

三、scp命令的基本使用

3.1 从本地上传文件到远程主机

  • 从本地上传文件到远程主机,使用以下命令:

scp local_file remote_username@remote_ip:remote_folder

  • 示例

[root@jeven ~]# scp test.txt root@192.168.3.127:/root/ The authenticity of host '192.168.3.127 (192.168.3.127)' can't be established. ECDSA key fingerprint is SHA256:dUkFPZRRxM2ZyHe2A7l29NqgJanMuuty4k8OMny3b2g. ECDSA key fingerprint is MD5:3d:97:85:08:a0:a7:2f:7d:de:79:34:f7:7e:4e:20:08. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.3.127' (ECDSA) to the list of known hosts. root@192.168.3.127's password: test.txt

  • 查看远程主机拷贝文件

[root@docker ~]# cat test.txt node01-jeven

3.2 从远程主机下载文件到本地

  • 从远程主机下载文件到本地

scp remote_username@remote_ip:remote_file local_folder

  • 示例:

[root@jeven ~]# scp root@192.168.3.127:/root/web.yaml ./ root@192.168.3.127's password: web.yaml 100% 587 17.3KB/s 00:00 [root@jeven ~]# ls -l web.yaml -rw-r--r--. 1 root root 587 Sep 2 18:45 web.yaml

3.3 拷贝整个目录到远程主机

  • 拷贝整个目录到远程主机

scp -r local_folder remote_username@remote_ip:remote_folder

  • 示例:

[root@jeven ~]# scp -r jeven/ root@192.168.3.127:/root/test/ root@192.168.3.127's password: aa.txt

  • 查看远程主机拷贝目录

[root@docker ~]# ls test/jeven/ a [root@docker ~]# tree test/jeven/ test/jeven/ └── a └── aa.txt 1 directory, 1 file

3.4 将远程主机目录拷贝到本地

  • 将远程主机目录拷贝到本地

scp -r remote_username@remote_ip:remote_folder local_folder

  • 示例:

[root@jeven ~]# scp -r root@192.168.3.127:/root/node02 ./ root@192.168.3.127's password:

3.5 保留文件权限拷贝

将本地的/home/user/file.txt文件传输到远程主机的/home/remoteuser/目录下并保留其权限信息,可以使用以下命令

scp -p /home/user/file.txt remoteuser@remotehost:/home/remoteuser/

3.6 开启压缩传输

拷贝本地文件到远程主机时,开启压缩传输

scp -C local_file remote_username@remote_ip:remote_folder

四、scp命令使用注意事项

  • 默认情况下,SCP命令会使用SSH协议进行传输,因此在使用SCP命令之前必须确保SSH服务已经启动。

  • 使用SCP命令传输文件时,必须确保源文件和目标文件的权限设置正确,否则可能会导致传输失败。

  • 在使用scp命令进行文件传输时,需要注意文件名中的空格和特殊字符需要使用转义符号进行转义。

  • 如果要传输大量的文件或者文件夹,建议使用tar命令打包成一个文件,然后再使用SCP命令进行传输,这样可以提高传输的效率。

  • 使用SCP命令传输文件时,可以使用-v参数开启详细模式,可以查看传输的详细过程,方便调试。

  • 对于高权限的文件或目录,需要使用sudo命令获取足够的权限才能进行传输。

  • 在进行远程文件复制时,需要确保目标主机的用户名和密码正确。

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
14
扫一下,分享更方便,购买更轻松