如何将目录从linux(远程系统)复制到Windows(本地系统)

时间:2013-06-13 09:43:35

标签: unix

我正在尝试将目录从linux(远程计算机)复制到Windows(本地计算机)。你能告诉我这样做的命令。

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

3 个答案:

答案 0 :(得分:4)

一个选项是通过ssh服务器。为此,你必须在linux系统中安装ssh服务器(ubuntu为openssh),在窗口上安装ssh服务器(例如:winscp)。之后,您可以通过scp命令传输文件。有关详细信息Transferring files over SSH

答案 1 :(得分: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(); 
}
}

答案 2 :(得分:0)

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