[toolsChain] 关于 SCP 和SHH 的一些使用笔记

写在前面

在项目中会涉及到连接工控机,远程自己电脑拿东西,要使用没有显示器的板子等情况。
所以这里记录一些ssh和scp使用记录。教程很多,这里总计实际用法场景case笔记自我记录和实用技巧。

SSH

ssh连接之前需要读取ip地址,我使用的场景,两台电脑在同一局域网下,linux使用ifconfig (没有安装的话按照提示步骤安装即可) 为windows下使用ipconfig(其实windows互联可以使用网络远程连接,功能更强大)。

以linux为例子,
在这里插入图片描述
以上为有线网的地址。 如果使用的是无线条网则找wlp下的inet。
在这里插入图片描述

我主机是有线第一图,远程是笔记本第二图。
于是在主机使用 ssh 用户名@ipadress
在这里插入图片描述

输入密码后接入。此时可以使用远程电脑内的东西

#可以使用Ctrl+D 退出ssh状态

SCP

和ssh同理,这里是为了在两台电脑间移动文件

scp -r kaifengqu@10.19.94.39:~/Desktop/H06CodeinROSEnv/src/H09networkEstimation /home/cutekaifeng/Remote/

在这里插入图片描述
拷贝成功!

这里我使用scp从目标地址移动一个文件夹(迭代-r),到我本地电脑romote文件夹下。可以使用相对路径。

但这里有一个问题,比如我不知道或者目标文件在远程电脑一个复杂路径下怎么办:
我询问了GPT 想了解最方便的方法如下:

A:

如果目标文件在远程电脑的一个复杂路径下,你可以采取一些策略来方便地使用 scp。以下是一些建议:

  1. 使用 SSH 配置文件

在本地电脑上设置 SSH 配置文件,以便简化 scp 命令。编辑或创建 ~/.ssh/config 文件,添加类似如下的配置:

Host myremote
HostName remote_host
User username
Port 22

将 remote_host 替换为远程主机的地址,username 替换为你在远程主机上的用户名。现在,你可以使用简化的 scp 命令:

scp myremote:/path/to/remote/file /path/to/local/directory

  1. 使用 Tab 补全 (gpt回答的不对,scp时候在连接之前没法补全)

在本地命令行中,使用 Tab 补全可以快速浏览和选择文件路径。在输入 scp 命令时,输入部分路径,然后按 Tab 键,系统将尝试补全路径。
scp username@remote_host:/path/to/compl[TAB]

对于远程主机的路径,如果你尚未连接到远程主机,本地的 Tab
补全功能无法直接访问远程主机的文件系统,因为这需要与远程主机建立连接并获取文件系统的信息。

不过,你可以通过在本地使用 ssh 命令登录到远程主机后,利用远程主机上的 Tab 补全功能来帮助你输入远程路径。

在登录到远程主机后,在远程主机的命令行界面上,你可以使用 Tab 键来补全远程文件路径。当你开始输入路径时,按下 Tab
键将自动补全路径或显示可能的选项。这种方式可以帮助你快速找到远程主机上复杂路径下的文件或目录,并将其用于 scp 命令。

另外,如果你有远程主机的访问权限,也可以尝试通过其他方式,如使用 ls、cd
等命令在远程主机上浏览文件系统,找到你需要传输的文件路径。找到路径后,你可以复制路径并在本地 scp 命令中粘贴使用。
追问说明,这东西只能ssh去找他文件 pwd复制出来

  1. 使用通配符

如果你知道文件名,但不确定路径,你可以使用通配符来匹配文件。例如,将所有以 “file” 开头的文件复制到本地目录:

scp username@remote_host:/path/to/files/file* /path/to/local/directory

所有命令和例子概览

拷贝于 gpt

SSH (Secure Shell):

连接到远程主机:ssh username@hostname
例如:ssh user@example.com
使用不同的端口连接到远程主机:ssh -p port username@hostname
例如:ssh -p 2222 user@example.com
指定要使用的身份验证密钥:ssh -i path/to/private_key username@hostname
例如:ssh -i ~/.ssh/id_rsa user@example.com
在连接过程中启用压缩:ssh -C username@hostname
保持SSH会话活动:ssh -o TCPKeepAlive=yes username@hostname

SCP (Secure Copy):

将本地文件复制到远程主机:scp /path/to/local/file username@hostname:/path/to/remote/location
例如:scp file.txt user@example.com:/home/user/documents/
从远程主机复制文件到本地:scp username@hostname:/path/to/remote/file /path/to/local/location
例如:scp user@example.com:/home/user/file.txt /local/directory/
使用不同的端口复制文件:scp -P port /path/to/local/file username@hostname:/path/to/remote/location
例如:scp -P 2222 file.txt user@example.com:/home/user/documents/
递归地复制整个目录:scp -r /path/to/local/directory username@hostname:/path/to/remote/location
例如:scp -r directory user@example.com:/home/user/
从远程主机复制整个目录到本地:scp -r username@hostname:/path/to/remote/directory /path/to/local/location
例如:scp -r user@example.com:/home/user/directory /local/directory/
  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值