我的一台运行 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-mo
,fuse
模块会将远程文件夹挂载到你的本地文件夹,然后你将在本地机器上看到远程文件/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
以重新加载当前文件。