Linux进阶命令-scp

news2024/11/15 7:00:10

作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

经过上一章Linux日志的讲解,我们对Linux系统自带的日志服务已经有了一些了解。我们接下来将讲解一些进阶命令,主要从以下几个方面来讲解:一些系统操作,系统查看处理,Linux文本处理,逻辑判断,重定向,网络传输,服务启动,文件句柄等内容。通过这些操作,让你对Linux的操作更加得心应手,具体分成以下章节进行讲解:

Linux进阶命令-echo&date&alias

Linux进阶命令-top

Linux进阶命令-ps&kill

Linux进阶命令-sort&wc

Linux进阶命令-sed&split

Linux进阶命令-awk&uniq

Linux进阶命令-逻辑或&逻辑与

Linux进阶命令-重定向

Linux进阶命令-scp(本章节)

Linux进阶命令-rsync

Linux进阶命令-rsync-daemon

Linux进阶命令-nohup&screen

Linux进阶命令-lsof

Linux进阶命令-小结

随着命令的深入和网络介绍的相关信息,有一个问题如何把文件传输到服务器里面呢?在win到linux里面可以使用rz和sz进行文件传输,但是在linux里面如何通过网络传输文件呢?

SCP

scp(secure copy)命令用于在本地计算机和远程计算机之间或两个远程计算机之间安全地复制文件或目录。它基于 SSH 协议,因此在传输过程中会加密数据以保护安全性。scp 命令的语法和常用选项如下:

基本语法

scp [options] source destination
  • source 和 destination:指定要复制的文件或目录的路径,可以是本地路径或远程路径。

使用示例

1. 从本地复制文件到远程计算机

scp localfile.txt username@remotehost:/remote/path/

将 localfile.txt 文件从本地计算机复制到远程计算机的 /remote/path/ 目录中。

2. 从远程计算机复制文件到本地

scp username@remotehost:/remote/path/remotefile.txt /local/path/

将远程计算机上的 /remote/path/remotefile.txt 文件复制到本地计算机的 /local/path/ 目录中。

3. 从本地复制目录到远程计算机

scp -r localdir/ username@remotehost:/remote/path/

使用 -r 选项递归复制 localdir/ 目录及其内容到远程计算机的 /remote/path/ 目录中。

4. 从远程计算机复制目录到本地

scp -r username@remotehost:/remote/path/remotedir/ /local/path/

使用 -r 选项递归复制远程计算机上的 /remote/path/remotedir/ 目录及其内容到本地计算机的 /local/path/ 目录中。

5. 从一个远程计算机复制文件到另一个远程计算机

scp username1@remotehost1:/remote/path/file.txt username2@remotehost2:/remote/path/

将 remotehost1 上的 /remote/path/file.txt 文件复制到 remotehost2 上的 /remote/path/ 目录中。

说实话我都没用过这个复制方式。

常用选项

  • -r:递归复制整个目录。

  • -P port:指定远程主机的 SSH 端口(注意是大写的 -P,与 ssh 的小写 -p 不同)。

  • -i identity_file:指定用于身份验证的私钥文件。

  • -q:静默模式,不显示进度信息。

  • -C:启用压缩,以提高传输速度(对于大文件或慢速网络连接可能有用)。

  • -o option:传递选项给 SSH,例如 -o StrictHostKeyChecking=no 来禁用主机密钥检查。

认证方式

scp 使用 SSH 协议进行认证,支持多种身份验证方式:

  • 密码认证:在连接时输入 SSH 密码。

  • 密钥认证:使用 SSH 密钥对进行无密码登录。可以通过 -i 选项指定私钥文件。

安全性

scp 的安全性来自于 SSH 协议,这包括:

  • 数据加密:所有传输的数据都被加密,防止数据被窃听。

  • 身份验证:使用密码或密钥进行身份验证,确保访问权限。

  • 数据完整性:通过加密技术确保数据在传输过程中不被篡改。

总结

  1. scp 主要用户两个Linux服务器进行数据传输,其实win如果安装了git命令也可以用这个命令。

  2. 这里的用户名其实是可以省略的,默认它会读取当前登录系统的用户名

  3. 其实这里还涉及到ssh端口的问题,当然和用户名一样,它也会使用本地的ssh端口,也就是如果本地ssh端口和服务器一致则可以省略。

4.scp传输文件,如果目标端是存在文件的,则会覆盖该文件。

5.scp有一个重要的问题就是没有考虑复制中断的问题,还有增量复制的问题,也就是复制过程中如果出现意外你得重新来复制;如果复制命令的重复执行,则它也会再次复制。

图片

运维小路

一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!

关注微信公众号《运维小路》获取更多内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2150349.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

有没有自带财务管理功能的海外仓系统?

在全球化的商业环境中,海外仓作为连接国际市场的物流枢纽,其重要性日益凸显。然而,随着业务范围的扩展和费用类型的多样化,海外仓在财务管理上面临着诸多挑战。传统的手工计费和对账方式不仅耗时费力,而且容易出错&…

常用的k8s容器网络模式有哪些?

常用的k8s容器网络模式包括Bridge模式、Host模式、Overlay模式、Flannel模式、CNI(ContainerNetworkInterface)模式。K8s的容器网络模式多种多样,每种模式都有其特点和适用场景。Bridge模式适用于简单的容器通信场景;Host模式适用…

将阮一峰老师的《ES6入门教程》的源码拷贝本地运行和发布

你好同学,我是沐爸,欢迎点赞、收藏、评论和关注。 阮一峰老师的《ES6入门教程》应该是很多同学学习 ES6 知识的重要参考吧,应该也有很多同学在看该文档的时候,想知道这个教程的前端源码是怎么实现的,也可能有同学下载…

掌握Python-uinput:打造你的输入设备控制大师

文章目录 掌握Python-uinput:打造你的输入设备控制大师背景:为何Python-uinput不可或缺?Python-uinput是什么?如何安装Python-uinput?简单库函数使用方法创建虚拟设备模拟按键模拟鼠标移动模拟滚轮滚动关闭设备 场景应…

IP Source Guard技术原理与应用

目录 IP Source Guard概述 IP Source Guard源数据表项 IP Source Guard源数据-静态添加 IP Source Guard查看 IP Source Guard使用注意事项 IP Source Guard概述 局域网IP冲突给网络的运维带来很大困扰存在以下风险: 使用手工配置IP地址的方式上网&#xff0c…

Redis——C++库redisplusplus在Linux环境下的安装

目录 第一步,安装hiredis第二步,下载redis源码第三步,编译/安装 redis-plus-plus使用redis-plus-plus(以Centos为例)Ubuntu的Makefile 第一步,安装hiredis redis-plus-plus 是基于 hiredis 实现的,而hiredis 是⼀个 C…

【图像检索】基于傅里叶描述子的形状特征图像检索,matlab实现

博主简介:matlab图像代码项目合作(扣扣:3249726188) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 本次案例是基于傅里叶描述子的形状特征图像检索,用matlab实现。 一、案例背景和算法…

企业数字化底座与数字化转型方案(可编辑的81页PPT)

方案介绍:在当今数字化转型的浪潮中,企业数字化底座与数字化转型方案是企业应对市场变化、提升竞争力的关键举措。通过构建数字化底座,实现数据的集中管理和共享;通过数字化转型方案的实施,推动企业的全面数字化改造。…

进阶版水仙花数水是指一个n位数,各个位数字的n次方之和等于该数字本身

两种方法: 第一种,是输入一个数值,判断是否为水仙花数 //打印水仙花数 //水仙花数是指一个n位数,各个位数字的n次方之和等于该数字本身 //如:1531^35^33^3 // //分析: //153/1015 //15/101 //1/100 #incl…

.whl文件下载及pip安装

以安装torch_sparse库为例 一、找到自己需要的版本,点击下载。 去GitHub的pyg-team主页中找到pytorch-geometric包。网址如下: pyg-team/pytorch_geometric​github.com/pyg-team/pytorch_geometric 然后点击如图中Additional Libraries位置的here&am…

Qt 多线程TCP客户端使用QTimer进行重连服务器———附带详细代码和讲解

文章目录 0 背景1 原理1.1 QThread的线程归属1.2 Qtimer使用1.3 TCP客户端使用 2 问题解决2.1 解决思路2.2 解决方法 3 完整的代码示例3.1 tcp_client类3.2 主界面类 附录参考 0 背景 在子线程中,使用Qtimer来进行定时重连TCP服务器,总是会出现跨线程创…

U盘显示未被格式化:深度解析、恢复策略与预防之道

现象透视:U显示未被格式化的迷局 在日常的数字生活中,U盘作为我们随身携带的数据仓库,承载着无数重要的文件与回忆。然而,当U盘突然弹出“未被格式化”的警告时,这份便捷瞬间转化为焦虑与不安。这一提示不仅意味着U盘…

uboot:源码分析-启动第一阶段-start.S解析

start.S引入 进入start.S文件中,发现57行中就是_start标号的定义处 SourceInsight中添加行号 在SI中,如果我们知道我们要找的文件的名字,但是我们又不知道他在哪个目录下,我们要怎样找到并打开这个文件?方法是在SI中先…

多重指针变量(n重指针变量)实例分析

0 前言 指针之于C语言,就像子弹于枪械。没了子弹的枪械虽然可以用来肉搏,却失去了迅速解决、优雅解决战斗的能力。但上了膛的枪械也非常危险,时刻要注意是否上了保险,使用C语言的指针也是如此,要万分小心,…

usemeno和usecallback区别及使用场景

1. useMemo 用途: useMemo 用于缓存计算结果。它接受一个函数和依赖项数组,只有当依赖项发生变化时,才会重新计算该函数的返回值。否则,它会返回缓存的值。 返回值: useMemo 返回的是函数执行后的结果。 使用场景: 当一个计算量大的函数在每…

Java面试篇基础部分-线程的基本方法

线程的基本方法有wait()、notify()、notifyAll()、sleep()、join()、yield()等等,这些方法都是用来控制线程的运行,并且可以实质性的影响到线程的状态变化情况。 让线程等待的方法:wait()方法 调用wait()方法的线程会进入到WAITING状态,只有等到其他线程通知或者线程被中…

【数据结构-差分】力扣1589. 所有排列中的最大和

有一个整数数组 nums ,和一个查询数组 requests ,其中 requests[i] [starti, endi] 。第 i 个查询求 nums[starti] nums[starti 1] … nums[endi - 1] nums[endi] 的结果 ,starti 和 endi 数组索引都是 从 0 开始 的。 你可以任意排列…

【Java面向对象二】static的注意事项

文章目录 前言一、关于static的三个注意点总结 前言 记录static的学习注意事项。 一、关于static的三个注意点 1、类方法中可以直接访问类的成员,不可用直接访问实例成员。 2、实例方法中既可以直接访问类成员,也可以直接访问实例成员。 3、实例方法…

105.WEB渗透测试-信息收集-FOFA语法(5)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于: 易锦网校会员专享课 上一个内容:104.WEB渗透测试-信息收集-FOFA语法(4) 还有一个能查看信息的地方…

linux下的分布式Minio部署实践

Linux下的分布式Minio部署实践 分布式Minio部署可以将多块硬盘(位于相同机器或者不同机器)组成一个对象存储服务,避免单机环境下硬盘容量不足、单点故障等问题。 1. 简介 在当前的云计算和大数据时代,IT系统通常的设计理念都是…