Linux命令——远程命令

  • 格式:pdf
  • 大小:90.68 KB
  • 文档页数:2

Linux命令——远程命令

Linux远程命令

1. ssh命令

2. scp命令

3. rsync命令

scp命令,scp命令 和 rsync命令的区别:

1. cp 是 本地复制 ⽂件和⽬录的命令。

2. scp 是 远程复制 ⽂件和⽬录的命令。

3. rsync 是远程同步数据和本地同步数据的命令。它使⽤rsync算法进⾏数据同步,这种算法只传送两个⽂件的不同部分 。⽽不是每次都

整份传送,因此速度相当快

1.ssh命令 :通过sshd服务远程连接并控制主机 参考在

语法1:ssh [参数] username@hostname 'command' 使⽤sshd服务 远程连接hostname服务器并执⾏command命令。执⾏完command命

令后会⾃动退出远程登陆。

参数:

-q 静默模式 不显⽰传输进度条

例⼦:

前提 两台linux服务器,都开启了sshd服务,并且设置允许密码登陆,并且都已知 登陆⽤户名 密码和公⽹ip

本地linux系统 username@hostname 是 root/VM_0_8_centos。

远程服务器linux系统 username@hostname 是 root/iZm5e7w3fl4af58g6kpnd2Z

#ssh 远程登陆 服务器并执⾏命令后 ⾃动退出

[root@VM_0_8_centos ~]# ssh root@47.104.219.xxx 'mkdir /ss'

root@47.104.219.229's password:

[root@VM_0_8_centos ~]#

语法2:ssh [参数] username@hostname。这种没有command的语法 是远程登陆主机,如果要退出 使⽤ctrl+d 组合键退出远程控制 或者输

⼊ logout

例⼦:

#ssh 登陆远程主机

[root@VM_0_8_centos /]# ssh root@47.104.219.xxx

#第⼀次登陆会有提⽰

The authenticity of host '47.104.219.xxx (47.104.219.xxx)' can't be established.

ECDSA key fingerprint is SHA256:zwAo4XVjLzsh6Nt5f4hYOJpIOSblsdHuLivbQh8Xj/s.

ECDSA key fingerprint is MD5:41:af:5b:52:96:b9:37:77:7d:e6:6e:9d:c0:b6:8e:d5.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added '47.104.219.xxx' (ECDSA) to the list of known hosts.

#输⼊远程主机root⽤户的登陆密码

root@47.104.219.xxx's password:

Last login: Sun Mar 22 17:50:44 2020 from 47.96.60.xxx

Welcome to Alibaba Cloud Elastic Compute Service !

#登陆成功 显⽰远程主机的username@hostname

[root@iZm5e7w3fl4af58g6kpnd2Z ~]#

#ctrl + D 组合键 退出远程登陆

[root@iZm5e7w3fl4af58g6kpnd2Z /]# logout

Connection to 47.104.219.xxx closed.

[root@VM_0_8_centos ~]#

2.Linux scp命令:secure copy。Linux系统下 基于ssh登陆 进⾏安全的 远程⽂件和⽬录拷贝命令。参考菜鸟教程

scp和cp命令的区别:cp 是普通的⽂件复制 scp命令 是通过ssh 本机和其他电脑上的复制

语法: scp [可选参数] file_source file_target

-p:保留原⽂件的修改时间,访问时间和访问权限。

-q: 不显⽰传输进度条。

-r: 递归复制整个⽬录

例⼦ 从本地复制到远程 语法: scp [可选参数] local_file remote_file

#从本地复制⽂件到远程服务器 不指定file_target

[root@VM_0_8_centos mm]# scp -pq /mm/file2 root@47.104.219.xxx:/ss

root@47.104.219.xxx's password: #从本地复制⽂件到远程服务器 指定file_target 如果远程有file7⽂件 重写file7⽂件

[root@VM_0_8_centos mm]# scp -pq /mm/file2 root@47.104.219.xxx:/ss/file7

root@47.104.219.xxx's password:

#从本地复制⽬录到远程服务器

[root@VM_0_8_centos mm]# scp -rpq /mm root@47.104.219.xxx:/ss

root@47.104.219.xxx's password:

例⼦ 从远程复制到本地 语法:scp [可选参数] remote_file local_file 只要将从本地复制到远程的命令的后2个参数调换顺序即可

#从远程复制⽂件到本地 不指定file_target

[root@VM_0_8_centos /]# scp -qp root@47.104.219.xxx:/ss/file2 /ss

root@47.104.219.xxx's password:

#从远程复制⽂件到本地 指定file_target 如果file2存在,会被替换成file3#

[root@VM_0_8_centos ss]# scp -qp root@47.104.219.xxx:/ss/file3 /ss/file2

root@47.104.219.xxx's password:

#从远程复制⽂件夹到本地 本地⽂件夹ss下再创建⽂件夹ss

[root@VM_0_8_centos ss]# scp -rqp root@47.104.219.xxx:/ss /ss/

3 Linux rsync命令 : 同步。使⽤ rsync算法 进⾏数据同步,这种算法只传送两个⽂件的不同部分,⽽不是每次都整份传送,因此速度相当

快。可以⽤来本地同步⽬录或者远程同步数据。

本地同步-命令⾏语法:rsync [option] source dest

option可选项如下

-a archive:递归模式,表⽰以递归⽅式传输⽂件,并且保持所有⽂件属性,等价于 -rtopgDl

-r recursive: 对⼦⽬录以递归模式处理

-t time 保持⽂件时间mtime属性。建议任何时候都加上 -t,否则⽬标⽂件mtime会设置成系统时间,导致下次更新检查mtime会⽆效。

-o owner 保持⽂件owner(宿主)属性 (super-user only)

-g group 保持⽂件group(属组)属性

-p perms:保持⽂件perms(权限,不包括特殊权限)属性

-D --device --specials 选项的组合,即也拷贝设备⽂件和特殊⽂件。 (super-user only)

-l 如果⽂件时链接⽂件,则只拷贝链接本⾝ ⽽⾮ 链接所指向的对象。

例⼦:本地同步⽬录 把ss/mm⽬录下的所有⽂件 同步到 ss⽬录下 和 cp -r 命令类似,不过rsync只只传送两个⽂件的不同部分

[root@VM_0_8_centos /]# rsync ss/mm/* ss -a