0

我正在尝试将目录从 linux(远程机器)复制到 windows(本地机器)。你们能告诉我执行此操作的命令吗?

示例:从“/home/tmp”到“C:\TEMP”

4

3 回答 3

4

一种选择是通过 ssh 服务器。为此,您必须在 linux 系统(对于 ubuntu 的openssh)和窗口(例如:winscp)上安装 ssh 服务器。之后,您可以通过 scp 命令传输文件。有关详细信息通过 SSH 传输文件

于 2013-06-13T09:53:09.447 回答
1

使用以下实用程序将文件夹压缩到 zip 文件(在您的 linux 节点上):

zip -r temp.zip /home/tmp

之后,使用 sftp 将其作为简单的单个文件传输到本地。最后在windows机器上解压(使用java.util.zip)。

 /**
 * Unzip it
 * @param zipFile input zip file
 * @param output zip file output folder
 */
public void unZipFolder(String zipFile, String outputFolder){

 byte[] buffer = new byte[1024];

 try{

    //create output directory is not exists
    File folder = new File(OUTPUT_FOLDER);
    if(!folder.exists()){
        folder.mkdir();
    }

    //get the zip file content
    ZipInputStream zis = 
        new ZipInputStream(new FileInputStream(zipFile));
    //get the zipped file list entry
    ZipEntry ze = zis.getNextEntry();

    while(ze!=null){

       String fileName = ze.getName();
       File newFile = new File(outputFolder + File.separator + fileName);

       System.out.println("file unzip : "+ newFile.getAbsoluteFile());

        //create all non exists folders
        //else you will hit FileNotFoundException for compressed folder
        new File(newFile.getParent()).mkdirs();

        FileOutputStream fos = new FileOutputStream(newFile);             

        int len;
        while ((len = zis.read(buffer)) > 0) {
        fos.write(buffer, 0, len);
        }

        fos.close();   
        ze = zis.getNextEntry();
    }

    zis.closeEntry();
    zis.close();

    System.out.println("Done");

}catch(IOException ex){
   ex.printStackTrace(); 
}
}
于 2013-06-13T10:56:56.733 回答
0

使用像http://openssh.en.softonic.com/这样的sftp 客户端。仍然是一个非常基本的问题。问之前应该做一些搜索

于 2013-06-13T09:47:41.367 回答