Linux强大的scp命令学习笔记详解

scp的用法

从 本地 复制到 远程
命令基本格式:
scp [可选参数] 本地文件名 远程用户名@远程地址:远程文件或目录

复制文件例子:

scp /home/backup.zip root@www.example.com:/home/others/backup
scp /home/backup.zip root@www.example.com:/home/others/otherbackup.zip

第一个是本地文件backup.zip发送到远程backup目录下。
第二个是本地文件backup.zip发送到远程otherbackup.zip文件。

复制目录例子:

scp -r /home/backup root@www.example.com:/home/others/
复制本地目录backup到远程目录others

从 远程 复制到 本地

命令基本格式:

scp [可选参数] 远程用户名@远程地址:远程文件或目录 本地文件名
例子:

scp root@www.example.com:/home/others/bakcup.zip /home/newbackup.zip
scp -r root@www.example.com:/home/backup /home/other/
第一个是下载远程文件backup.zip到本地文件newbackup.zip。

第二个是下载远程目录bakcup到本地目录other。

scp可选参数:

参数 解释
-v  和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误 .
-C 使能压缩选项
-P 选择端口 . 注意 -p 已经被 rcp 使用 .
-4  强行使用 IPV4 地址 .
-6 强行使用 IPV6 地址 .

从 本地 复制到 远程
======

* 复制文件:
* 命令格式:

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个仅指定了远程的目录,文件名字不变,第4个指定了文件名;

* 例子:

scp /home/space/music/1.mp3 root@www.cumt.edu.cn:/home/root/others/music
scp /home/space/music/1.mp3 root@www.cumt.edu.cn:/home/root/others/music/001.mp3
scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music
scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music/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/space/music/ root@www.cumt.edu.cn:/home/root/others/
scp -r /home/space/music/ www.cumt.edu.cn:/home/root/others/
上面 命令 将 本地 music 目录 复制 到 远程 others 目录下,即复制后有 远程 有 ../others/music/ 目录
======
从 远程 复制到 本地
======
从 远程 复制到 本地,只要将 从 本地 复制到 远程 的命令 的 后2个参数 调换顺序 即可;
例如:
scp root@www.cumt.edu.cn:/home/root/others/music /home/space/music/1.mp3
scp -r www.cumt.edu.cn:/home/root/others/ /home/space/music/

最简单的应用如下 :

scp 本地用户名 @IP 地址 : 文件名 1 远程用户名 @IP 地址 : 文件名 2
[ 本地用户名 @IP 地址 :] 可以不输入 , 可能需要输入远程用户名所对应的密码 .
可能有用的几个参数 :
-v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误 .
-C 使能压缩选项 .
-P 选择端口 . 注意 -p 已经被 rcp 使用 .
-4 强行使用 IPV4 地址 .
-6 强行使用 IPV6 地址 .
Linux scp命令的使用方法应该可以满足大家对Linux文件和目录的复制使用了。
关于scp的安全方面
copy 本地的档案到远程的机器上
scp /etc/lilo.conf k@net67.ee.oit.edu.tw:/home/k
会将本地的 /etc/lilo.conf 这个档案 copy 到 net67.ee.oit.edu.tw,使用者 k 的家目录下。
copy远程机器上的档案到本地来
scp k@net67.ee.oit.edu.tw:/etc/lilo.conf /etc
会将 net67.ee.oitdu.tw 中 /etc/lilo.conf 档案 copy 到本地的 /etc 目录下。
保持从来源 host 档案的属性
scp –p k@net67.ee.tw:/etc/lilo.conf /etc
如果想使用特定端口 使用 scp –p(大写) 如 scp –p 1234 k@net67.ee.tw:/etc/lilo.conf /etc

在此必须注意使用者的权限是否可读取远程上的档案,若想知道更多关于 scp 的使用方法,可去看看 scp 的使用手册。
ssh-keygen
产生公开钥 (pulib key) 和私人钥 (private key),以保障 ssh 联机的安性, 当 ssh 连 shd 服务器,会交换公开钥上,系统会检查 /etc/ssh_know_hosts 内储存的 key,如果找到客户端就用这个 key 产生一个随机产生的session key 传给服务器,两端都用这个 key 来继续完成 ssh 剩下来的阶段。

它会产生 identity.pub、identity 两个档案,私人钥存放于identity,公开钥 存放于 identity.pub 中,接下来使用 scp 将 identity.pub copy 到远程机器的家目录下.ssh下的authorized_keys。 .ssh/authorized_keys(这个 authorized_keys 档案相当于协议的 rhosts 档案), 之后使用者能够不用密码去登入。RSA的认证绝对是比 rhosts 认证更来的安全可靠。
执行:
scp identity.pub k@linux1.ee.oit.edu.tw:.ssh/authorized_keys

若在使用 ssh-keygen 产生钥匙对时没有输入密码,则如上所示不需输入密码即可从 net67.ee.oit.edu.tw 去登入 linux1.ee.oit.edu.tw。在此,这里输入的密码可以跟帐号的密码不同,也可以不输入密码。

时间: 2024-07-29 01:38:44

Linux强大的scp命令学习笔记详解的相关文章

linux中scp命令使用技巧详解(传输速度)

scp 命令   scp 可以在 2个 linux 主机间复制文件: 命令基本格式:        scp [可选参数] file_source file_target ====== 从 本地 复制到 远程 ====== * 复制文件:         * 命令格式:                 scp local_file remote_username@remote_ip:remote_folder                 或者                 scp local

linux下的yum命令原理和详解_Linux

yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载.安装.yum提供了查找.安装.删除某一个.一组甚至全部软件包的命令,而且命令简洁而又好记. yum的命令形式一般是如下:yum [options] [command] [package ...] 其中的[opt

oracle 创建job学习笔记详解

一:简单测试job的创建过程案例: 1,先创建一张JOB_TEST表,字段为a 日期格式  代码如下 复制代码 SQL> create table JOB_TEST(a date); Table created SQL> commit; Commit complete 2,创建一个存储过程 bb 作用是往pig表中插入数据  代码如下 复制代码 SQL> create or replace procedure JOB_PRO_TEST as   2  begin   3  insert

linux中vps使用命令学习笔记

我用的是putty,按照这个vps的操作流程,记录这些常用命令 passwd:修改密码 cd:current directory:进入目录 : eg: cd  /home  进入home目录: cd  / 到根目录 ls:list: 列出当前目录: mkdir:  make directory :新建目录: eg:mkdir aa mv: move :移动文件 : 用法:mv 文件名  文件目录 rm: remove: 移除文件: wget:下载:用法:wget  下载地址 zip:zip压缩:

Linux中的Screen命令使用技巧详解

Linux的screen命令不错,习惯了你会觉得它比windows的任务栏好用多了.下面是我的.screenrc,仅供参考 Linux的screen命令不错,习惯了你会觉得它比windows的任务栏好用多了.下面是我的.screenrc,仅供参考. # # ~/.screenrc # # 启动时不显示欢迎屏幕 startup_message off #  定义screen的功能键为Ctrl-Z.向终端输入Ctrl-Z时应按 Ctrl-Z z. escape ^Zz # 屏幕缓冲区 1024 行.

linux系统下sudo命令使用方法详解

介绍 sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等.这样不仅减少了root用户的登录和管理的时间,同样也提高了安全性.sudo不是对shell的一个代替,它是面向每个命令的. sudo命令 sudo -K -L -V -h -k -l -vsudo [-HPSb] [-a auth_type] [-c class-] [-p prompt] [-u username#uid] {-e file [...]

Linux系统中file命令的使用详解

  命令简介: 该命令用来识别文件类型,也可用来辨别一些文件的编码格式.它是通过查看文件的头部信息来获取文件类型,而不是像Windows通过扩展名来确定文件类型的. 执行权限 :All User 指令所在路径:/usr/bin/file 命令语法: 代码如下: file [ -bchikLnNprsvz ] [ -f namefile ] [ -F separator ] [ -m magicfiles ] file ... 命令参数: 下表列出了部分常用的参数. 使用示例: 代码如下: [ro

【Linux基础】 diff命令的参数详解和实例

diff命令参数: diff - 找出两个文件的不同点 总览 diff [选项] 源文件 目标文件 描述 在最简单的情况是, diff 比较两个文件的内容 (源文件 和 目标文件). 文件名可以是 - 由标准输入设备读入的文本. 作为特别的情况是, diff - - 比较一份标准输入的它自己的拷贝如果 源文件 是一个目录和 目标文件 不是(目录), diff 会比较在 源文件(目录) 里的文件的中和 目标文件同名的(文件), 反过来也一样. 非目录文件不能是 -. 如果 源文件 和 目标文件 都

Angular2学习笔记——详解NgModule模块_AngularJS

在Angular2中一个Module指的是使用@NgModule修饰的class.@NgModule利用一个元数据对象来告诉Angular如何去编译和运行代码.一个模块内部可以包含组件.指令.管道,并且可以将它们的访问权限声明为公有,以使外部模块的组件可以访问和使用到它们. 模块是用来组织应用的,通过模块机制外部类库可以很方便的扩展应用,Rc5之后,Angular2将许多常用功能都分配到一个个的模块中,如:FormModule.HttpModule.RouterModule. NgModule的