如何确保我已进入服务器以及如何在那里创建目录?

如何确保我已进入服务器以及如何在那里创建目录?

我想在服务器上运行 Fortran 代码。我可以使用命令登录服务器

ssh -X 用户名@IP地址

没有错误消息。它要求输入密码。提供密码后我得到

* 文档:help.ubuntu.com
487个包可以更新。
349更新是安全更新。
上次登录: 2017 年 11 月 20 日星期一 17:19:01 来自IP地址
mithu@mithu-Inspiron-3521:~$
它不返回服务器的名称。

接下来,我想在服务器上创建一个目录。

我使用mkdir directoryname命令创建一个目录。

但是当我输入命令时,ls它会显示桌面上我的主目录中的所有文件夹。 (我使用的是 Ubuntu。)即,它在我的主文件夹中创建一个目录不是在服务器中。

在这种情况下,我应该如何复制服务器中的 Fortran 代码并从服务器运行它?

我如何知道我已经进入服务器并在那里创建了一个目录?

答案1

您提供的 IP 地址ssh是您自己的客户端计算机的 IP 地址,而不是您想要访问的集群的 IP 地址。

最终结果是您实际上登录到了自己的计算机上。


当您要将文件复制到远程系统时,请记住不带前导的远程路径/是相对于远程系统的主目录的。例如,此命令会将文件复制到远程系统上主目录的子目录localfile中,如下所示newremotecopy

scp -p localfile remoteuser@remoteip:new/remotecopy

remotecopy如果目标文件名与源文件名相同,则可以省略。:如果要将文件复制到远程服务器上的主目录,则可以省略冒号后面的所有内容。

该标志在( )-p的手册页中记录为保留文件修改时间和文件权限。scpman scp

答案2

它在我的主文件夹而不是服务器中创建一个目录。

实际上,假设您mkdir directoryname在向命令提供密码后输入了命令行,您就成功地在您的主文件夹中创建了一个目录ssh -X [email protected]服务器。”

我应该如何在服务器中复制 Fortran 代码并从服务器运行它?

如果您想在那里复制 Fortran 程序/源代码,请发出以下命令:

scp -r /path/to/Fortran/program [email protected]:directoryname/

我如何知道我已经进入服务器并在那里创建了一个目录?

您可以输入hostname,它应该返回服务器的名称。您还可以键入uname -a这将为您提供有关服务器的更多信息,例如操作系统等。

现在,您没有透露您的桌面计算机上正在运行哪个系统(OS),因为您问这些问题,我怀疑它是Linux/unix系统,所以您可能必须为您的系统寻找一个scp客户端。 WinSCP 是一个 Windows 客户端,允许您将文件从 Windows 复制到服务器。

编辑:在op的评论之后:

$ ssh zuse
Password:
Last login: Mon Nov 20 12:57:33 2017 from 192.168.1.73
Have a lot of fun...
jdoe@zuse:~> mkdir stackexchange
jdoe@zuse:~> uname -a
Linux zuse 4.11.3-1-default #1 SMP Thu May 25 17:55:04 UTC 2017 (7262353) aarch64 aarch64 aarch64 GNU/Linux
jdoe@zuse:~> ls
agent  bin  jbs  myProg.cpp  stackexchange  svn  test  tmp
jdoe@zuse:~>

这就是我在运行 Suse 64 位的 Raspberry pi 上创建一个目录的方法,我亲切地命名该目录zuse(Suse 与 Zuse 无关,这只是我的双关语......)。

现在,如果在您的系统上您在桌面上看到一个同名的目录,则意味着您的主文件夹是网络共享,这意味着您可以从服务器访问主文件夹中的所有文件,很酷,嘿?这意味着,只要您的 Fortran 代码位于您的主目录中,就可以在服务器上访问它。

如果要将代码复制到服务器,则必须在服务器上创建一个目录,您可能需要向服务器管理员询问目录...请注意,这并不是真正需要的,因为您已经可以访问您的Fortran 代码,前提是您将其存储在主文件夹或主文件夹内的目录中;-)。

相关内容