Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >一个超有用的小命令

一个超有用的小命令

作者头像
破晓的历程
发布于 2025-04-04 00:48:52
发布于 2025-04-04 00:48:52
8300
代码可运行
举报
文章被收录于专栏:破晓破晓
运行总次数:0
代码可运行

一个超有用的小命令

1.引言

windows系统与Linux系统交互的时候,我们通常会有这样的需求:将一份文件从这台Linux机器上传到另外的一台Linux机器上,也就是跨主机之间传输。

我们在使用虚拟机云服务器时,通常是使用像Xshell或者XPIPE这样的远程登录软件来解决这个难题。

但是😂

如果两台主机毫不相干,也就是说不是宿主机之间的关系呢?

这时候,scp这个命令就排上用场了

2.详细说明

SCP[Secure Copy Pr![请添加图片描述](https://i-blog.csdnimg.cn/direct/768f2be2b1db4b76b6593836eec44358.gif) otocol]是一个基于SSH加密协议的文件传输命令,用于在本地主机和远程主机或者远程主机和远程主机之间安全的负责文件或者目录,以下是详细的scp命令介绍,涵盖所有的用法参数和使用示例

1.基本语法
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
scp [选项] 源文件 目标路径
  • 源文件和目标文件也可以是:
    • 本地路径:home/user/file.txt
    • 远程路径:username@主机名:绝对路径
2.核心选项

选项

作用

-P<端口>

指定SSH端口,默认是22

-p

保留文件的修改时间,访问权限等等

-r

递归复制整个目录

-c

启动私钥传输(加快大文件的传输数率)

-q

禁默模式(不显示传输速度和错误)

-i<私钥文件>

指定SSH私钥文件(免密码登录)

-l<带宽限制>

限制带宽(单位:Kbit/s,如-1 1000)

-v

显示详细排错信息(调试时有用)

3.常见操作示例

1.从本地复制到远端
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
scp /local/path/file.txt user@remote:/remote/path

​ - 说明:将本地 file.txt 复制到远程主机的 /remote/path/ 目录。

问题:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
PS C:\Users\20510> scp C:\FFmpeg\ffmpeg-7.0.2-essentials_build\README.txt lqw@192.168.28.74:/home/lqw/VStream
ssh: connect to host 192.168.28.74 port 22: Connection refused
C:\Windows\System32\OpenSSH\scp.exe: Connection closed

来看,我将windows下的一个文本文件试图通过SCP命令传送到ubuntu虚拟机虚拟机上,但是出错了,出错的原因有两个:

  1. ubuntu默认禁止使用root登录,所以我lqw[非root用户]可能对该目录写入的权限,我们可以使用如下的命令来更换目标文件夹的所属组和拥有者 sudo chown lqw:lqw /home/lqw/VStream/
  2. 我在本地使用远程登录软件登录此虚拟机时使用的端口号并不是默认的22,所以我们需要指明端口号
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
scp -P 3345 C:\FFmpeg\ffmpeg-7.0.2-essentials_build\README.txt lqw@192.168.28.74:/home/lqw/VStream

来看,相关文件就被传输到了相关的文件夹下

2.从远程复制到本地
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
scp user@remote:/remote/path/file.txt /local/path/
  • 说明:将远程文件 file.txt 下载到本地。
3. 复制整个目录(递归)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
scp -r /local/folder user@remote:/remote/path/
  • 说明:递归复制本地 folder 目录到远程。

4.总结

  • 基本用法scp /local/file user@remote:/remote/
  • 递归目录:加 -r
  • 指定端口:加 -P 2222
  • 免密登录:用 -i ~/.ssh/id_rsa p /local/file user@remote:/remote/`
  • 递归目录:加 -r
  • 指定端口:加 -P 2222
  • 免密登录:用 -i ~/.ssh/id_rsa
  • 排错:加 -v 查看详细日志
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-04-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
scp -P -R 远程复制文件(夹) 到 指定端口 指定服务器 指定 目录
eg: 复制本地文件(夹)到服务器 scp -r Files root@0.0.0.1:/home/root/Files
猫头虎
2024/04/07
2K0
scp -P -R 远程复制文件(夹) 到 指定端口 指定服务器 指定 目录
Linux常用50个命令分享:功能、示例与实用技巧
公众号:码到三十五
2024/03/19
6280
什么!你还不会Linux的scp命令?
scp(Secure Copy Protocol)是一个用于在本地主机和远程主机之间安全地复制文件或目录的命令。它使用 SSH(Secure Shell)协议来进行安全的文件传输。以下是 scp 命令的基本用法和详解:
Linux兵工厂
2024/02/27
5010
什么!你还不会Linux的scp命令?
使用SCP进行文件传输:详解、案例演示与语法解析
SCP(Secure Copy)是一个基于SSH的安全文件传输协议,可用于在不同主机之间进行快速、安全的文件传输。无论是备份、复制还是同步文件,SCP都是一个非常有用的工具。本文将详细介绍SCP的使用方法,并通过多个案例来演示其功能。
GeekLiHua
2025/01/21
3230
玩转服务器4—服务器间数据传输
随着单细胞的火热,我们的共享服务器也进行了对应的升级迭代,从早期的96线程512G内存到如今的256线程2T内存【2024的共享服务器交个朋友福利价仍然是800】,可以说是加量不加价。由于我们的共享服务器广受好评,其中有不少用户有多个账号,或者在早期账号到期后,选择新开账号。这时候常常面临的问题就是旧账号数据需要拷贝到新账号,或者多个账号之间互相传输数据。一些用户选择先下载数据到自己的硬盘,然后再上传到新账号,其实这是非常低效的一个方法。那么如何更快速方便的实现自己账号间数据的传输呢?这时候我们就需要用到 scp 命令了。
生信菜鸟团
2024/11/23
1210
玩转服务器4—服务器间数据传输
Linux系统之scp命令的基本使用
江湖有缘
2024/03/17
5.4K0
Linux系统之scp命令的基本使用
如何在Linux系统中使用SCP命令传输文件和文件夹?
在Linux系统中,SCP(Secure Copy)是一种用于在本地和远程主机之间安全传输文件和文件夹的命令行工具。它基于SSH协议,并提供了加密和身份验证机制,确保数据的安全性和完整性。
网络技术联盟站
2023/05/29
15.6K1
如何在Linux系统中使用SCP命令传输文件和文件夹?
Linux进阶命令-scp
作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
运维小路
2024/11/01
1970
Linux进阶命令-scp
【建议收藏】Linux工作/面试常用命令集锦
管道符“|”将两个命令隔开,左边命令的输出作为右边命令的输入。连续使用管道意味着第一个命令的输出会作为 第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推
JavaEdge
2021/12/07
8430
【建议收藏】Linux工作/面试常用命令集锦
rsync 实现文件同步
rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。
Li_XiaoJin
2022/06/10
1.3K0
数据科学家必知的21个命令
在这篇文章里,我们将要一睹能快速分析文本数据(如日志,报告等)的最方便工具。很多时候,我们需要的数据并不存储在我们的本机上。所以首先,我们要知道如何链接到远程服务器上并使用它。为此,使用SSH最为合适。(SSH,即Secure Shell,是一个加密网络协议,它能让你在一个不安全的网络上安全地远程登陆和使用其他网络服务) 在Ubuntu的终端你可以用以下几个命令之一来登陆远程服务器。 $ ssh user@host $ ssh -p port host 通过密钥链接: $ ssh -i key.pem us
用户1737318
2018/07/20
6080
[1181]linux两台服务器之间传输文件和文件夹
在日常服务器租用中,有时需要将文件从一台服务器传到另一台服务器,下面给大家介绍四种linux服务器之间传输文件方式。
周小董
2023/10/10
9.4K0
scp报错not a regular file - 猫头虎博主为您深入解析
本文旨在解决scp命令在文件传输过程中出现的“not a regular file”错误。我们将从问题的根源开始,然后提供一系列的解决方案,以及最佳的使用建议。希望对遇到相同问题的朋友有所帮助。
猫头虎
2024/04/09
7K0
史上最全的Linux常用命令汇总(超全面!超详细!)收藏这一篇就够了!
tar 是 Linux 中最常用的 备份工具,此命令可以 把一系列文件 打包到 一个大文件中,也可以把一个 打包的大文件恢复成一系列文件 tar 的命令格式如下:
全栈程序员站长
2022/07/22
9.9K0
史上最全的Linux常用命令汇总(超全面!超详细!)收藏这一篇就够了!
SSH密钥认证:实现远程服务器免密登录的两种方法|Linux scp命令详解:高效实现文件与目录的远程传输
简介: 服务器之间经常需要有一些跨服务器的操作,此时就需要我们在一台服务器上登录到另外一台服务器,若是人为操作时我们都可以每次输入密码进行远程登录,但要是程序需要跨服务器时,每次输入密码就不现实了,所以我们需要免密登录
汀丶人工智能
2024/06/13
9170
SSH密钥认证:实现远程服务器免密登录的两种方法|Linux scp命令详解:高效实现文件与目录的远程传输
Linux进阶命令-rsync
作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
运维小路
2024/11/01
1670
Linux进阶命令-rsync
Ubuntu Server 第七章 远程管理
我笔记是直接从苑老师的第二章开始写的:-D,有朋友可能不了解链接终端的方式。目前我本地是Vmware 虚拟机 + Xshell SSH链接。关于SSH,不仅仅做用为链接,还可以做更多,前面的CS搭配Metasploit一章中也使用到了SSH隧道相关的知识。远程连接也不仅只有SSH一种远程连接方式。
天钧
2019/07/26
2K0
Linux文件属性与目录系列
在 Linux 系统中,文件和目录是基本的文件系统组成部分。文件系统是用于组织和存储文件的一种结构,而文件和目录则是文件系统的核心元素。以下是对 Linux 文件和目录的详细解释:
Linux兵工厂
2024/02/17
2240
Linux文件属性与目录系列
Linux操作系统基础(十四):集群服务器搭建
学习环境中,一般使用VMware虚拟机克隆Linux系统,用来进行集群服务器的搭建。VMware支持两种类型的克隆: 完整克隆、链接克隆
Lansonli
2024/03/19
4120
Linux操作系统基础(十四):集群服务器搭建
Linux 系统管理员有用的 SSH 备忘单
SSH(Secure Shell)是一种用于远程登录和安全传输数据的协议,在Linux系统管理中扮演着重要的角色。作为一名Linux系统管理员,熟悉和掌握SSH命令是必不可少的。在本文中,我们将分享一份详细的SSH命令备忘单,为每个命令提供详细的示例,帮助您更好地理解和使用它们。
网络技术联盟站
2023/06/08
4900
Linux 系统管理员有用的 SSH 备忘单
推荐阅读
相关推荐
scp -P -R 远程复制文件(夹) 到 指定端口 指定服务器 指定 目录
更多 >
LV.0
这个人很懒,什么都没有留下~
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验