我正在尝试编辑远程Amazon EC2 Linux实例上的文件。我目前只是在使用nano,但我真的很喜欢图形文本编辑器。我有两个问题:
请帮忙!我不挑剔,只是任何图形文本编辑器,因为使用nano是一个巨大的痛苦。
答案 0 :(得分:2)
只需修改本地计算机上的相应文件,然后将文件scp到远程计算机中。
scp <local_machine_path_to_file> remoteUser@remoteHostName:<filePath>
答案 1 :(得分:2)
对于远程编辑,这里有 lot 选项:与其他任何选项一样,这个答案肯定会因为更多选项进入该字段而过时。
vim
,netrw
module符合此需求,默认情况下随编辑器一起提供。emacs
,可以使用TRAMP。我建议您从您喜欢的编辑器开始,然后从那里评估选项。如果您将SSH会话设置为能够直接向root用户进行身份验证(密码 auth最好禁用root用户,但如果你有sudo则可以安装RSA密钥),那么你将能够指定root作为上述任何目标用户。
相比之下,如果确实需要sudo
,您仍然可以选择:
tramp
to open files sudoed to root。新版本还支持ssh+sudo
传输,这意味着此wiki条目可能已经过时。答案 2 :(得分:0)
非常喜欢图形文本编辑器
你不能拥有图形编辑器,你需要像你说的那样使用像nano这样的编辑器,或者使用emacs。当您必须以root身份编辑配置文件时,将需要Sudo。
答案 3 :(得分:0)
Sudo用于该特定命令的root权限。您需要使用root权限来编辑系统文件。即使在本地机器上也是如此如果您不想每次都输入sudo
,则可以输入sudo -s
。您将更改为root用户,它将在终端显示您,即root @ ip .... $符号也将更改为#。老实说,我不喜欢root,因为使用root权限更容易犯下不可逆转的错误。我犯了一些错误,而且我从经验中说话......
就问题的第二部分而言,您可以将各种文本编辑器配置为sftp到您的实例中,例如sublime。
每次使用终端ssh时都必须使用.pem密钥文件。这是因为AWS非常重视安全性。您可以将密钥文件放在主目录中。这样,每次打开终端时都不必更改目录。
您还可以编辑文件的本地副本,然后使用FileZilla进行传输。 Setting使用FileZilla来处理EC2实例非常简单。您可以试试vim,因为它为您的代码着色并且比nano更先进。使用终端中的vi
或vim
命令。
快乐的SSH&#39; ing;)。
答案 4 :(得分:0)
JSONArray users = response.getJSONArray("statistics");
for (int i = 0; i < users.length(); i++) {
JSONObject student = users.getJSONObject(i);
String userName = student.getString("username");
String score = student.getString("score");
statistics.append(userName + " " + score + " \n");
}
您必须进行适当的转发设置。
答案 5 :(得分:0)
我使用SFTP Net Drive SFTP,它允许您在本地计算机上创建一个虚拟驱动器,该虚拟驱动器将映射可通过SFTP协议访问的远程文件系统。创建地图后,您可以使用您偏好的编辑器。
答案 6 :(得分:0)
您可以使用nano,vim,vi或其他许多内容。但是,如果要使用图形文本编辑器进行编辑,则必须创建SFTP,因为Amazon不支持FTP。一种方法是使用filezilla上传文件。这是一个关于使用filezilla https://www.youtube.com/watch?v=VawBMj29g0o的视频我建议使用SSH。它的快速简便就是https://www.youtube.com/watch?v=O2-3HoRjBH4
上的视频答案 7 :(得分:0)
我在AWS上找到了基于GUI的文本编辑器的奇怪解决方法,我使用了Jupyter Notebook。如果您在实例上安装了Anaconda,请执行以下步骤
<a routerLink="/othersales"></a>
<a routerLink="/prebooking"></a>
<router-outlet></router-outlet>
ssh -i <location of your private key> <username>@<public DNS>
jupyter notebook --no-browser --port=8888
ssh -i <location of your private key> -L 8212:localhost:8888 <username>@<public DNS>
使用jupyter笔记本环境,您不仅可以启动和运行Ipython笔记本,还可以创建和编辑任何文件,如文本编辑器。
答案 8 :(得分:0)
amazon现在获得了Cloud9,这是一个基于浏览器的IDE,可以编辑您的EC2。
答案 9 :(得分:0)
要帮助仅需要快速命令行文本编辑器的任何人:
您可以使用 vi :
vi file-name.txt
或纳米:
nano file-name.txt
如果编辑文件,可以选择使用sudo,例如:
sudo nano file-name.txt
答案 10 :(得分:0)
为了帮助其他人解决同样的问题,我建议使用 jEdit。能力很强,有非常丰富的插件环境,语言解析等
它“始终”支持通过 sshConsole 插件对文件进行 sftp 读写。
我现在使用 AWS 提供的密钥对在我的 AWS EC2 实例上使用它。
最后,在“生产”环境中编辑 root 拥有的文件不是一个好主意。
在 AWS 用户的主文件夹中进行开发工作,以便您可以完全控制源文件。然后使用指向实际服务器文件树的符号链接,以便您可以将其提供给自己进行测试。 nginx 和 apache 中有很多控件可以限制谁可以查看您的开发站点。
答案 11 :(得分:-1)
为此,我建议其中一个:
学习和使用emacs;就textmode编辑而言,它非常强大。
在服务器上安装您喜欢的图形编辑器并使用X转发,&#39; ssh -X server.com&#39;。这将允许您远程启动编辑器,但将其显示在本地。
我认为最优雅,使用sshfs(https://github.com/libfuse/sshfs)在本地安装远程目录,这样您就可以使用自己喜欢的文本编辑器直接处理这些文件。