我想从Unix服务器的文件传输到Windows 2003服务器,我在Windows 2003上下载copssh和openssh已经安装在unix中…我执行以下命令: – scp -r /file_in_unix/ user@windows_hostname:\c:\\
以下输出出现在unix屏幕中:
100% |***************************************************************| 562 00:00
但是当我去看看在C盘中的文件我什么也找不到
(从https://superuser.com/questions/195596/transfer-file-from-unix-to-windows交叉发布到SU的问题的答案中复制)
目的地path看起来是错误的 – 对于大多数unix shell来说,正斜杠是一个转义字符而不是path标记,所以我猜这个文件已经丢弃到SSH用户的主目录中,并且是一个奇怪的文件名。
IIRC copssh基于cygwin,所以你可能需要运行的是:
scp -r /file_in_unix/ user@windows_hostname:/cygdrive/c/
在Windows计算机上复制到SSH服务的替代方法是在Windows机器上使用像WinSCP这样的GUI客户端来login到Unix计算机并以这种方式提取文件 – 尽pipe如果您试图自动化处理。
如果您在UNIX计算机上拥有特权访问权限(即,您是或可以通过sudo或类似的根目录访问)并安装了相关支持,则可以将这些文件复制到Windows共享中。 你不会说你使用的是什么Unix。 对于Ubuntu和类似的检查,支持是存在的,如果没有安装它可以用sudo aptitude install smbfs来完成,你可以使用sudo mount -tcifs //11.22.33.44//sharename /mnt/tmp -ousername=WindowsUserName来挂载一个Windwos共享sudo mount -tcifs //11.22.33.44//sharename /mnt/tmp -ousername=WindowsUserName (其中11.22.33.44是Windows机器的IP地址,取决于您的networking设置,您可以通过名称而不是地址来引用机器)。 一旦你完成了,你可以使用基本的文件pipe理工具( cp , mv ,…)与Windows共享进行交互,并在完成后调用umount /mnt/tmp 。 您可能想要select比mnt / tmp更有意义的挂载点名称。 当然,如果数据的传输是自动化的/预定的,您可以离开安装的共享。 这种方法假定Unix机器可以通过它们之间可能存在的任何防火墙安排来看到Windows机器的文件共享。
scp -r / file_in_unix /表示您要复制目录的内容。
也许你想写scp / tile_in_unix user @ …来代替。
如果您想复制目录中的内容:是否检查过它是否为空?