我在一台 Mint 机器上有一些文件工具,但我不想把它们安装在我的 Mac 笔记本电脑上。主要是因为 apt-get 功能强大,安装失败的风险低。无论如何,我时不时会想使用一些远程工具来处理某个文件。两台机器都可以直接通过 ssh 连接到对方,所以我想肯定有某种脚本或工具可以让我输入一些内容,比如remote [file] [tool & args]
将我的文件发送到另一台机器,处理后再取回。
答案1
如果该工具是一个简单的过滤器,那么您可以正常使用它,但通过 ssh。
ssh user@host somefilter < infile > outfile
如果它需要一个文件名,但不需要在它或输出文件中寻找,那么您可以(滥用)使用 bash 来实现这一点。
ssh user@host bash -c "sometool <(/dev/stdin) -o >(/dev/stdout)" < infile > outfile
否则,您将必须将文件传输到另一个系统或从另一个系统传输文件。
答案2
UNIX 的理念是默默地做一件事。然后,您可以基于这些简单的流程构建自己的工具。
你只需要写一个脚本,将文件 scp 到你的机器上,运行 ssh 命令修改它,然后将其拉回来。三行,这是一个非常简单的模板,
scp oldfile [email protected]:/some/directory/file.to.process
ssh [email protected] "/usr/bin/something /some/directory/file.to.process"
scp [email protected]:/some/directory/file.which.is.processed newfile
添加参数并进行一些错误检查就可以了。
或者,正如其他答案所示,您可以将 stdin/stdout 路由到另一台机器,因此对于过滤器来说,它甚至更简单。
答案3
好吧,您可以从文件要处理所在的机器通过 ssh 设置 X11 转发。这一页是一个很好的教程,教你如何做到这一点。它基本上让你从远程服务器运行程序你的计算机(使用您的计算机资源)。
答案4
您还可以尝试将其他系统安装为目录。然后,您就可以像在 Mint 机器上一样正常访问它。sshfs 是执行此操作的一种方法。
mac$ ssh user@mint
mint$ mkdir ~/mac
mint$ sshfs user@mac:/path ~/mac
mint$ tool ~/mac/file