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命令获取足够的权限才能进行传输。

  • 在进行远程文件复制时,需要确保目标主机的用户名和密码正确。
相关文章
|
15天前
|
Unix Linux 程序员
Linux文本搜索工具grep命令使用指南
以上就是对Linux环境下强大工具 `grep` 的基础到进阶功能介绍。它不仅能够执行简单文字查询任务还能够处理复杂文字处理任务,并且支持强大而灵活地正则表达规范来增加查询精度与效率。无论您是程序员、数据分析师还是系统管理员,在日常工作中熟练运用该命令都将极大提升您处理和分析数据效率。
76 16
|
6天前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
|
1月前
|
缓存 监控 Linux
Linux系统清理缓存(buff/cache)的有效方法。
总结而言,在大多数情形下你不必担心Linux中buffer与cache占用过多内存在影响到其他程序运行;因为当程序请求更多内存在没有足够可用资源时,Linux会自行调整其占有量。只有当你明确知道当前环境与需求并希望立即回收这部分资源给即将运行重负载任务之前才考虑上述方法去主动干预。
575 10
|
1月前
|
安全 Linux 数据安全/隐私保护
为Linux系统的普通账户授予sudo访问权限的过程
完成上述步骤后,你提升的用户就能够使用 `sudo`命令来执行管理员级别的操作,而无需切换到root用户。这是一种更加安全和便捷的权限管理方式,因为它能够留下完整的权限使用记录,并以最小权限的方式工作。需要注意的是,随意授予sudo权限可能会使系统暴露在风险之中,尤其是在用户不了解其所执行命令可能带来的后果的情况下。所以在配置sudo权限时,必须谨慎行事。
267 0
|
1月前
|
Linux 网络安全 开发工具
技术栈:这50条最常用的 Linux 命令你一定要会!
建议多在终端中实践,遇到不懂的命令就用 man 或 --help 了解详情!
364 0
|
1月前
|
Ubuntu Linux 开发者
国产 Linux 发行版再添新成员,CutefishOS 系统简单体验
当然,系统生态构建过程并不简单,不过为了帮助国产操作系统优化生态圈,部分企业也开始用国产操作系统替代 Windows,我们相信肯定会有越来越多的精品软件登录 Linux 平台。
93 0
|
1月前
|
Ubuntu 安全 Linux
Linux系统入门指南:从零开始学习Linux
Shell脚本是一种强大的自动化工具,可以帮助您简化重复的任务或创建复杂的脚本程序。了解Shell脚本的基本语法和常用命令,以及编写和运行Shell脚本的步骤,将使您更高效地处理日常任务。
157 0
|
1月前
|
Ubuntu Linux 图形学
Linux学习之Linux桌面系统有哪些?
Cinnamon:与MATE类似,Cinnamon 拥有 GNOME 和 Unity 等其它桌面环境所没有的种种功能,是高度可定制的桌面环境,不需要任何外部插件、窗口组件和调整工具来定制桌面。
105 0
|
1月前
|
Ubuntu 安全 Linux
十款常用Linux系统介绍
本文不是什么大盘点。市面上有好几百款发行版,每款发行版在某个方面都与众不同。不可能在此全部罗列,本文只罗列了十款最常见的Linux发行版(世界上只有两种人,一种是懂二进制的,另一种是不懂二进制的)。请宣传Linux的魅力或威力。
|
2月前
|
监控 Linux 网络安全
Linux命令大全:从入门到精通
日常使用的linux命令整理
646 14