使用 ssh 列出远程服务器上文件的 md5sum 和 return 文本文件中的输出?
List md5sum of files on a remote server using ssh and return the output in text file?
我有机器 A 和机器 B,它们都是 Ubuntu 服务器。现在我想使用 ssh 列出 Machine-B 上的所有文件。我想 return 将结果保存在一个文本文件中,这样我就可以分析结果并使用 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 列出远程计算机上的所有文件,return 以文本文件的形式输出。
我正在使用 ls -LR to list files and SSH 远程执行脚本。
从答案中我解决了我的问题,我正在更新问题以满足一个小要求。
我通过这个命令得到了文件列表ssh my_user_name@192.168.150.4 ls /something/sub > output.txt
但我想要所有文件的 md5sum 而不是名称,因为 2 个文件名可能会 match.So 有没有办法列出所有文件和 return 所有文件的所有 md5sum 和 return 到 output.txt 文件。
您只需指定命令即可,无需使用 "bash"。您的默认 shell 将在远程设备上用于执行命令。
ssh remote-host command
要将 ls
命令的输出保存到文件中,您可以简单地使用通常的 shell 重定向:
ssh remote-host command > output.txt
以防万一您最终在一行中有多个文件名,您可能需要在 ls
命令行上使用 -1
。另外,请记住,如果文件名包含 space,您需要在 shell 脚本中使用引号来支持这些...
对于连续的 运行 多个命令,虽然输出不会那么容易管理,但您可以使用引号和分号分隔命令(例如),如:
ssh remote-host "command1; command2; command3" > output.txt
关于 md5sum
,您可以 运行 使用 find
命令和 md5sum:
针对目录中的所有文件
ssh remote-host "find . -type f -exec md5sum {} \;" > output.txt
将路径(示例中的 .
)更改为适合您的路径。
将文件列表复制到机器 B 中的有效路径,然后使用 scp
将其复制回机器 A
ssh username@machineB 'ls -LR /path/to/dir > ~/fileList'
到return目录下所有文件的md5sum
,用find
作为
ssh username@machineB 'find /path/to/dir -type f -exec md5sum {} \; > ~/md5sum_fileList'
现在将文件复制回机器A,使用glob
模式复制具有模式fileList
的文件
scp username@machineB:~/*fileList* username@machineA:~/
我有机器 A 和机器 B,它们都是 Ubuntu 服务器。现在我想使用 ssh 列出 Machine-B 上的所有文件。我想 return 将结果保存在一个文本文件中,这样我就可以分析结果并使用 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 列出远程计算机上的所有文件,return 以文本文件的形式输出。
我正在使用 ls -LR to list files and SSH 远程执行脚本。 从答案中我解决了我的问题,我正在更新问题以满足一个小要求。
我通过这个命令得到了文件列表ssh my_user_name@192.168.150.4 ls /something/sub > output.txt
但我想要所有文件的 md5sum 而不是名称,因为 2 个文件名可能会 match.So 有没有办法列出所有文件和 return 所有文件的所有 md5sum 和 return 到 output.txt 文件。
您只需指定命令即可,无需使用 "bash"。您的默认 shell 将在远程设备上用于执行命令。
ssh remote-host command
要将 ls
命令的输出保存到文件中,您可以简单地使用通常的 shell 重定向:
ssh remote-host command > output.txt
以防万一您最终在一行中有多个文件名,您可能需要在 ls
命令行上使用 -1
。另外,请记住,如果文件名包含 space,您需要在 shell 脚本中使用引号来支持这些...
对于连续的 运行 多个命令,虽然输出不会那么容易管理,但您可以使用引号和分号分隔命令(例如),如:
ssh remote-host "command1; command2; command3" > output.txt
关于 md5sum
,您可以 运行 使用 find
命令和 md5sum:
ssh remote-host "find . -type f -exec md5sum {} \;" > output.txt
将路径(示例中的 .
)更改为适合您的路径。
将文件列表复制到机器 B 中的有效路径,然后使用 scp
ssh username@machineB 'ls -LR /path/to/dir > ~/fileList'
到return目录下所有文件的md5sum
,用find
作为
ssh username@machineB 'find /path/to/dir -type f -exec md5sum {} \; > ~/md5sum_fileList'
现在将文件复制回机器A,使用glob
模式复制具有模式fileList
scp username@machineB:~/*fileList* username@machineA:~/