在 Ubuntu 12.04 上通过 ssh 访问远程文件

在 Ubuntu 12.04 上通过 ssh 访问远程文件

我的一台运行 12.04 的计算机上有一个文本文件。我计划使用 ssh 允许另一台计算机读取此文本文件。问题是我使用的系统基本上是实时记录此文本文件的一些信息。我需要将要读取此文本文件的计算机也实时读取该文本文件。

我对 ssh 一点都不熟悉,但我对 ubuntu 很熟悉。如果有人能提供一些关于如何做到这一点的见解,或者是否有可能在另一个系统记录信息时实时读取此文本文件,我将不胜感激。

谢谢。

答案1

您所说的“读取”文件是什么意思?如果您只是想将内容回显到 STDOUT,那么这应该可以做到。

ssh user@remoteHostName 'tail -f /myDirectory/myFile.txt'

如果您正确设置了 SSH,那么这应该可以工作,“用户”是远程主机上的有效用户,并且命令-f上的标志tail将允许它查看不断增长的文件。

答案2

您可以使用sshfs安装和设置sshfs。

设置 sshfs 后,将这 2 个别名添加到你的 .bashrc。

alias fuse-mo='sshfs remote_user@remote_server:/home/ternovi/your_local_folder /home/remote_user/folder_with_file -o idmap=user -o reconnect'
alias fuse-um='fusermount -u /home/ternovi/your_local_folder'

现在创建/home/ternovi/your_local_folder具有所需路径的文件夹。

如果你执行 alias fuse-mofuse模块会将远程文件夹挂载到你的本地文件夹,然后你将在本地机器上看到远程文件/home/ternovi/your_local_folder。你可以像处理本地文件一样处理这些文件。

别名fuse-um将卸载远程文件系统。

您可以使用tail -f /home/ternovi/your_local_folder/file.txt查看此文件的最新输出。或者您可以使用任何editor您想要的。

例如打开文件vim

vim /home/ternovi/your_local_folder/file.txt

您还可以键入:e以重新加载当前文件。

相关内容