📅  最后修改于: 2023-12-03 15:09:37.595000             🧑  作者: Mango
在 AWS EC2 实例上进行开发和维护时,我们需要经常将文件或脚本发送到实例上。本文将介绍如何使用 Shell/Bash 命令将文件发送到 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,将 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更方便快捷。