scp命令的详解
scp [选项] 源文件/目录 目标地址:目标路径
-
scp
:这是Linux下用于拷贝文件的命令,它支持通过SSH协议在本地系统和远程系统之间安全地传输文件。 -
选项:可以根据需要使用不同的选项,以下是一些常见的选项:
-r
:递归复制,用于复制目录及其内容。-P
:指定远程SSH服务器的端口号,例如-P 2222
。-i
:指定用于身份验证的私钥文件。-v
:详细模式,输出详细的传输信息,可用于调试。
-
源文件/目录:这是你要传输的文件或目录的路径。可以是本地文件/目录或远程文件/目录,具体取决于它们的位置。
-
目标地址:这是远程系统的地址,通常是用户名和主机名或IP地址的组合,格式为
user@hostname
或user@ip_address
。 -
目标路径:在远程系统上存储文件的路径,可以是绝对路径或相对路径。通常是目标用户的家目录或其他目录。
示例:
-
将本地文件
local_file.txt
复制到远程系统的用户家目录:scp local_file.txt user@hostname:~
-
将本地目录
local_directory
递归复制到远程系统的指定目录:scp -r local_directory user@hostname:/path/to/remote/directory
-
从远程系统复制文件到本地系统:
scp user@hostname:/path/to/remote/file local_destination_directory/
-
使用不同端口号连接到远程系统:
scp -P 2222 local_file.txt user@hostname:/path/to/remote/directory
-
使用私钥文件进行身份验证:
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命令进行测试。