SCP命令详解Linux虚拟机和开发板直接互传文件命令(以及常见错误虚拟机网络错误等)

scp命令的详解

scp [选项] 源文件/目录 目标地址:目标路径
  • scp:这是Linux下用于拷贝文件的命令,它支持通过SSH协议在本地系统和远程系统之间安全地传输文件。

  • 选项:可以根据需要使用不同的选项,以下是一些常见的选项:

    • -r:递归复制,用于复制目录及其内容。
    • -P:指定远程SSH服务器的端口号,例如 -P 2222
    • -i:指定用于身份验证的私钥文件。
    • -v:详细模式,输出详细的传输信息,可用于调试。
  • 源文件/目录:这是你要传输的文件或目录的路径。可以是本地文件/目录或远程文件/目录,具体取决于它们的位置。

  • 目标地址:这是远程系统的地址,通常是用户名和主机名或IP地址的组合,格式为user@hostnameuser@ip_address

  • 目标路径:在远程系统上存储文件的路径,可以是绝对路径或相对路径。通常是目标用户的家目录或其他目录。

示例:

  1. 将本地文件 local_file.txt 复制到远程系统的用户家目录:

    scp local_file.txt user@hostname:~
    
  2. 将本地目录 local_directory 递归复制到远程系统的指定目录:

    scp -r local_directory user@hostname:/path/to/remote/directory
    
  3. 从远程系统复制文件到本地系统:

    scp user@hostname:/path/to/remote/file local_destination_directory/
    
  4. 使用不同端口号连接到远程系统:

    scp -P 2222 local_file.txt user@hostname:/path/to/remote/directory
    
  5. 使用私钥文件进行身份验证:

    scp -i private_key.pem local_file.txt user@hostname:/path/to/remote/directory
    

这些示例涵盖了常见的scp用法,你可以根据需要自行调整命令来满足你的文件传输需求。请确保你有适当的权限来读取和写入文件,以及正确的SSH配置,以便成功使用scp。

操作演示

需求描述:我想将linux下编译出来的文件传输到开发板上运行
首先确保开发板和Linux主机在同一局域网下 可以用 ifconfig查看本机的IP地址以及开发板的IP地址(查看P地址前首先确保你的开发板接入路由器 如果你的虚拟机无法获取与开发板同一路由器下的地址 请看下面的常见问题解决)
查看虚拟机地址
在这里插入图片描述
查看开发板地址

传输文件
在这里插入图片描述
这里参数使用了 -v 要是文件夹记得使用 -r

常见问题

虚拟机DNS服务器 IP地址问题

可能使用的是校园网或者网络配置原因导致虚拟机和开发板不在一个局域网内
解决方法 电脑与开发板连接路由器后台并配置虚拟机
方式一 主机使用有线连接 虚拟机使用无线网卡连接
在这里插入图片描述
配置虚拟网络编辑器
在这里插入图片描述
在这里插入图片描述
并应用
在这里插入图片描述
方式二
基本环境搭建

输入命令后没有反应或者超时

这种一般都是IP地址错误 可以在尝试连接之前使用Ping命令进行测试。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Systemmax20/article/details/132918689
今日推荐