bash - 使用ssh列出远程服务器上文件的md5sum并以文本文件形式返回输出?

标签 bash ssh scp ls cp

我有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文件。

最佳答案

将文件列表复制到计算机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:~/

关于bash - 使用ssh列出远程服务器上文件的md5sum并以文本文件形式返回输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41734604/

相关文章:

python - Python shutil 模块中的 shutil.move() 方法

linux - Bash 脚本 cd 问题

git - 无法通过 aws ec2 上的 ssh 克隆 gitlab repo

c - 当来自 cmd 的 scp 工作时,使用 libssh2 scp 检索文件无法进行身份验证

ant - 使用 scp 时 for 循环中的 @

linux - 检查脚本命令中的错误

windows - OSX 上的 XCOPY 命令

git - 在 centos : problems with ssh keys and git 上设置 Jenkins

Vim 从机器 B 通过机器 A 编辑文件

linux - 如何使用 `scp` 命令复制文件夹而不重写同名的本地文件?