You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu系统下能否将PhotoRec恢复文件直接输出至SSH账户?求解决方案

如何将PhotoRec恢复的文件直接传输到SSH远程账户?

当然可行!不过你的命令格式有几处问题,咱们一步步捋清楚,给你两种实用的方案:

方案一:用sshfs挂载远程目录(最省心)

PhotoRec本身是把文件写入本地目录的,那我们可以把远程目录挂载到本地,让PhotoRec误以为是在写本地文件,实则直接传到远程服务器。

  1. 先安装sshfs工具:
sudo apt install sshfs
  1. 创建本地挂载点:
mkdir ~/remote_recovery
  1. 挂载远程服务器的目标目录到本地:
sshfs User@Some_IP_Address:/path_to_folder/ ~/remote_recovery
  1. 运行PhotoRec,指定恢复目录为刚才的挂载点就行。如果用命令行模式(不用图形界面),可以这么写:
photorec /dev/sdc fileopt,everything,disable,jpg,enable,freespace,search,dest,~/remote_recovery
  1. 恢复完成后,记得卸载挂载点:
fusermount -u ~/remote_recovery

方案二:用tar管道实时传输(不用挂载目录)

如果不想挂载远程目录,咱们可以把恢复的文件先临时放到RAM盘(完全不占本地磁盘),再打包通过管道直接传到远程。

  1. 创建一个RAM盘(这里设1G大小,你可以根据预估恢复文件大小调整):
mkdir /tmp/ramdisk && sudo mount -t tmpfs -o size=1G tmpfs /tmp/ramdisk
  1. 运行PhotoRec把文件恢复到RAM盘:
photorec /dev/sdc fileopt,everything,disable,jpg,enable,freespace,search,dest,/tmp/ramdisk
  1. 打包并通过管道传输到远程服务器:
cd /tmp/ramdisk && tar -cf - . | ssh User@Some_IP_Address "tar -xf - -C /path_to_folder/"
  1. 清理临时RAM盘:
sudo umount /tmp/ramdisk && rmdir /tmp/ramdisk

说说你原来命令的问题

你的命令有两处关键错误:

  • PhotoRec不会把恢复的文件输出到标准输出(stdout),所以直接用photorec | ssh是行不通的,它只会往指定目录写文件
  • SSH的远程命令格式写错了,你写的/d /path_to_folder/ /cmd不是合法的远程命令语法

注意事项

  • 确保远程服务器的目标目录有足够存储空间
  • 尽量在稳定的网络环境下操作,避免传输中断导致文件损坏
  • 如果用RAM盘,一定要根据预估的恢复文件总大小调整size参数,避免空间不足

内容的提问来源于stack exchange,提问作者steve

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 18:37:47