我有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/