📜  将文件发送到 aws ec2 终端 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:09:37.595000             🧑  作者: Mango

将文件发送到 AWS EC2 终端 - Shell/Bash

在 AWS EC2 实例上进行开发和维护时,我们需要经常将文件或脚本发送到实例上。本文将介绍如何使用 Shell/Bash 命令将文件发送到 AWS EC2 终端。

使用 scp 命令将文件发送到 AWS EC2

scp 命令是常用的在 Linux 和 Unix 系统之间拷贝文件的工具。我们可以使用它将本地文件发送到我们的 AWS EC2 实例上。

首先,我们需要连接到 AWS EC2 实例的终端。然后,在我们的本地计算机上使用以下命令,将文件发送到实例上:

scp /path/to/local/file username@aws-instance-ip:/path/on/aws/instance

在上面的命令中,我们需要将 /path/to/local/file 替换成我们要传输的本地文件路径。username 是我们 AWS EC2 实例的用户名,aws-instance-ip 是实例的公共 IP 地址。/path/on/aws/instance 是我们要将文件传输到 AWS EC2 实例上的路径。

我们还可以使用 scp 命令将本地目录传输到 AWS EC2 实例上。例如,下面的命令将目录 /path/to/local/directory 中的所有文件和子目录传输到 AWS EC2 实例上的 /path/on/aws/instance 目录中:

scp -r /path/to/local/directory username@aws-instance-ip:/path/on/aws/instance
使用 SSHFS 将远程目录挂载到本地

另一个比较方便的方法是使用 SSHFS,将 AWS EC2 实例上的目录挂载到我们的本地计算机上,然后直接将文件复制到挂载的目录中。

首先,我们需要安装 SSHFS。在 Ubuntu 系统下,我们可以使用以下命令安装 SSHFS:

sudo apt-get install sshfs

然后,我们可以使用以下命令将 AWS EC2 实例上的目录挂载到本地:

sshfs username@aws-instance-ip:/path/on/aws/instance /local/mount/point

在上面的命令中,username 是我们 AWS EC2 实例的用户名,aws-instance-ip 是实例的公共 IP 地址。/path/on/aws/instance 是我们要挂载的 AWS EC2 实例上的目录,/local/mount/point 是我们要将目录挂载到的本地路径。

一旦我们将远程目录挂载到本地,我们就可以像操作本地目录一样操作挂载的目录。例如,我们可以直接将文件复制到挂载的目录中:

cp /path/to/local/file /local/mount/point

一旦将文件复制到挂载的目录中,它们将立即同步到 AWS EC2 实例上的目录中。

总结

上述两种方法都可以使我们实现把文件传输到 AWS EC2 实例的目的。其中,scp命令需要将文件直接传输到实例,如果传输的文件量较大则传输时间较长;而SSHFS将远程目录挂载到本地后再覆盖即完成了文件传输,过程中可中断,对文件进行修改更方便。因此,当传输的文件较小或传输时间要求不高时,常常直接使用 scp 命令;当传输的文件较大,或操作频繁时,可使用 SSHFS更方便快捷。