查看远端服务器文件md5,关于bash:使用ssh列出远程服务器上文件的md5sum并以文本文件形式返回输出?...

我有Machine-A和Machine-B,两者都是Ubuntu服务器。 现在,我想使用ssh列出Machine-B上的所有文件。 我想将结果返回到文本文件中,以便我可以分析结果并使用scp复制所需的文件。

ssh my_user_name@192.168.150.4 'bash -s tree /f'

ssh my_user_name@192.168.150.4 'bash -s ls -LR'

现在,此命令没有给出我想要的结果。 任何人都可以提供帮助,因此我可以使用ssh列出远程计算机上的所有文件,并以文本文件的形式返回输出。

我正在使用ls -LR列出文件,并使用SSH进行远程脚本执行。

从答案中,我致力于解决我的问题,并更新问题以使其符合一个小要求。

我通过此命令ssh my_user_name@192.168.150.4 ls /something/sub > output.txt获得了文件列表

但是我想要所有文件的md5sum而不是名称,因为2个文件名可能会匹配。所以有什么办法列出所有文件并返回所有文件的所有md5sum并返回到output.txt文件。

@Inian不,我解决了清单问题,md5没有解决

表示不存在这样的文件或目录

@Inian我用您的更新更改了我的脚本

是的,我做到了,它确实存在。

@Inian还是一样的错误。

现在没有错误,但是output.txt文件只是空的。

@Inian如果我们删除> output.txt,它将起作用

然后,您可以将输出重定向到主文件夹> ~md5output.txt中的文件,现在查看内容吗? 并且您是否使用scp将文件复制回去?

您可以接受答案(我的答案左边的对勾)以将其标记为已解决。

将文件列表复制到计算机B中的有效路径,然后使用scp将其复制回计算机A。

ssh username@machineB 'ls -LR /path/to/dir > ~/fileList'

要返回目录中所有文件的md5sum,请使用find作为

ssh username@machineB 'find /path/to/dir -type f -exec md5sum {} \; > ~/md5sum_fileList'

现在,使用glob模式将文件复制回计算机A,以复制具有fileList模式的文件

scp username@machineB:~/*fileList* username@machineA:~/

如果将> md5sum_fileList放在引号中,则会在远程主机上创建文件。 据我了解,OP希望在本地主机中获得结果。

@AlexisWilke:完全同意您的意见,OP希望在远程计算机上创建文件,然后使用scp将其复制回本地

您需要做的就是指定命令,而不使用" bash"。您的默认外壳程序将在远程设备上用于执行命令。

ssh remote-host command

要将ls命令的输出保存到文件中,可以简单地使用通常的shell重定向:

ssh remote-host command > output.txt

万一您在一行上以多个文件名结尾,则可能需要在ls命令行上使用-1。另外,请记住,如果文件名包含空格,则需要在Shell脚本中使用引号来支持这些引号。

要连续运行多个命令,尽管输出不会那么容易管理,但是您可以使用引号和带有分号的单独命令(例如),如下所示:

ssh remote-host"command1; command2; command3"> output.txt

关于md5sum,可以使用find命令和md5sum对目录中的所有文件运行该文件:

ssh remote-host"find . -type f -exec md5sum {} \;"> output.txt

将路径(在示例中为.)更改为适合您的路径。

我可以使它成为多个命令,例如cd somethingsub ls。哪个命令移动到另一个目录然后列出文件?

@SaiKiran:只需将路径作为命令的一部分传递即可,即ls -LR somethingsub > ~fileList

@Inian在这里,我在文件夹中有几个文件,因此我可以传递一些东西来返回此文件的md5总和md5sum ls somethinsub

@SaiKiran:现在这完全是一个新要求。 您可以根据所有要求更新问题吗? 让人们一口气回答?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值