如何把linux服务器的文件下到本地windows

如何把linux服务器的文件下到本地windows,第1张

linux与linux之间传送文件:

scp file username@hostIP:文件地址 例:

scp abctxt endall@IP:/home/endall/abctxt

windows与linux之间传送文件:

笔者用putty的内置PSCP。其它如 SSH Secure File Transfer Client

先在WIN的DOS下,PUTTY目录下及PSCP文件所在目录。

pscp file username@hostIP:文件地址

例:pscp d:abctxt endall@IP:/home/endall/abctxt

pscp endall@IP:/home/endall/abctxt d:abc

linux到windows类似

windows如何用 putty的 psftp 从 linux上传与下载

windows 下运行 psftpexe ,登录后改变在linux下的目录:

cd /usr/

改变在windows下上传和下载的目录:

lcd d:/

这个目录在 psftp 中不能列出来,我觉得这点不太好,如果不改变的话就是默认putty的安装目录,默认下载到这儿,上传的文件也是要在这个文件夹里面

比如在 d:盘有一个 5rmvb

上传文件到linux: psftp > put 5rmvb

这个命令会把 d:\5rmvb 上传到 /usr/5rmvb

从linux下载文件: psftp > get 4rmvb

这个命令会把 /usr/4rmvb 下载到 d:\4rmvb

既然使用了java,实现这种功能就与OS无关了,否则叫什么跨平台。其实用浏览器下载服务器端文件比较容易:

首先,要让用户能找到并选择文件(jsp里实现,部分代码)

String realPath=requestgetSession()getServletContext()getRealPath("")+"/documents";//项目根目录下文件路径

File fileDir=new File(realPath);

String[] fileList=fileDirlist();//返回目录下文件名称数组

for(int i=0;i<fileListlength;i++){

//这里遍历出来要显示的文件名,加到td里,后面再加上个“下载”按钮

//使用隐藏input记录文件名和路径fileName,filePath

其次,提交下载请求并下载

使用form提交用户选择的文件名,Action中部分代码:

String fileName=reqgetParameter("fileName");//HttpServletRequest req

String filePath=reqgetParameter("filePath");

try {

FileDownloadDownload(filePath+"/"+fileName, "attachment", res);

} catch (Exception e) {

eprintStackTrace();

}

下面是 FileDownload类:

package comaerolinkaocsutilfileUtil;

import javaioDataInputStream;

import javaioFile;

import javaioFileInputStream;

import javaioFileNotFoundException;

import javaioIOException;

import javaxservletServletOutputStream;

import javaxservlethttpHttpServletResponse;

/

<p>

Title: FileDownload类

</p>

<p>

Description: 实现文件下载功能

</p>

<p>

将文件名,HttpServletRequest,HttpServletRespons传给静态方法Download即可

</p>

<p>

Copyright: Copyright (c) 2005

</p>

<p>

Company: 北京天航信达信息技术有限公司

</p>

@author 陶源

@version 20

/

public class FileDownload {

/

@param fileName

@param res

@throws FileNotFoundException

@throws IOException

/

public static void Download(String fileName,

HttpServletResponse res)

throws FileNotFoundException, IOException {

String fileContentType = "application/octet-stream";

String fileDownloadType = "attachment";

long totalsize = 0;

// 取得要传输的文件,实际应用是可以将文件路径以参数的形式传入

File f = new File(fileName);

// 取文件长度

long filelength = flength();

byte[] b = new byte[1024];

// 设置文件输出流

FileInputStream fin = new FileInputStream(f);

DataInputStream in = new DataInputStream(fin);

int pos = fileNamelastIndexOf(javaioFileseparator);

String fn = new String(fileNamesubstring(pos + 1)getBytes("gb2312"),

"ISO8859-1");

// 设置相应头信息,让下载的文件显示保存信息

ressetContentType(fileContentType);

ressetHeader("Content-Disposition", fileDownloadType + ";filename=\""

+ fn + "\"");

// 确定长度

String filesize = LongtoString(filelength);

// 设置输出文件的长度

ressetHeader("Content-Length", filesize);

// 取得输出流

ServletOutputStream servletOut = resgetOutputStream();

// 发送文件数据,每次1024字节,最后一次单独计算

while (totalsize < filelength) {

totalsize += 1024;

if (totalsize > filelength) {

// 最后一次传送的字节数

byte[] leftpart = new byte[1024 - (int) (totalsize - filelength)];

// 读入字节数组

inreadFully(leftpart);

// 写入输出流

servletOutwrite(leftpart);

} else {

// 读入1024个字节到字节数组 b

inreadFully(b);

// 写和输出流

servletOutwrite(b);

}

}

servletOutclose();

}

/

@param fileName

@param fileDownloadType

@param res

@throws FileNotFoundException

@throws IOException

/

public static void Download(String fileName, String fileDownloadType,

HttpServletResponse res)

throws FileNotFoundException, IOException {

String fileContentType = null;

if (fileNameendsWith("doc")) {

fileContentType = "application/msword";

} else if (fileNameendsWith("pdf")) {

fileContentType = "application/pdf";

} else if (fileNameendsWith("xls")) {

fileContentType = "application/vnd-ms-excel";

} else if (fileNameendsWith("txt")) {

fileContentType = "text/plain";

} else {

fileContentType = "application/octet-stream";

}

long totalsize = 0;

// 取得要传输的文件,实际应用是可以将文件路径以参数的形式传入

File f = new File(fileName);

// 取文件长度

long filelength = flength();

byte[] b = new byte[1024];

// 设置文件输出流

FileInputStream fin = new FileInputStream(f);

DataInputStream in = new DataInputStream(fin);

int pos = fileNamelastIndexOf(javaioFileseparator);

String fn = new String(fileNamesubstring(pos + 1)getBytes("gb2312"),

"ISO8859-1");

// 设置相应头信息,让下载的文件显示保存信息

ressetContentType(fileContentType);

ressetHeader("Content-Disposition", fileDownloadType + ";filename=\""

+ fn + "\"");

// 确定长度

String filesize = LongtoString(filelength);

// 设置输出文件的长度

ressetHeader("Content-Length", filesize);

// 取得输出流

ServletOutputStream servletOut = resgetOutputStream();

// 发送文件数据,每次1024字节,最后一次单独计算

while (totalsize < filelength) {

totalsize += 1024;

if (totalsize > filelength) {

// 最后一次传送的字节数

byte[] leftpart = new byte[1024 - (int) (totalsize - filelength)];

// 读入字节数组

inreadFully(leftpart);

// 写入输出流

servletOutwrite(leftpart);

} else {

// 读入1024个字节到字节数组 b

inreadFully(b);

// 写和输出流

servletOutwrite(b);

}

}

servletOutclose();

}

}

用 这个命令 吧

scp 可以在 2个 linux 主机间复制文件;

命令基本格式:

scp [可选参数] file_source file_target

======

从 本地 复制到 远程

======

复制文件:

命令格式:

scp local_file remote_username@remote_ip:remote_folder

或者

scp local_file remote_username@remote_ip:remote_file

或者

scp local_file remote_ip:remote_folder

或者

scp local_file remote_ip:remote_file

第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;

第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;

例子:

scp /home/space/music/1mp3 root@wwwcumteducn:/home/root/others/music

scp /home/space/music/1mp3 root@wwwcumteducn:/home/root/others/music/001mp3

scp /home/space/music/1mp3 wwwcumteducn:/home/root/others/music

scp /home/space/music/1mp3 wwwcumteducn:/home/root/others/music/001mp3

wget -c 后面是该网络地址和文件的位置。

例如:wget -c http://apacheopncasor/MySQL/MySQL-7/v7067/bin/MySQLzip就是下载该网络想的MySQLzip压缩包。

其中-c:断点续传,如果下载中断,那么连接恢复时会从上次断点开始下载。

扩展资料:

wget 是一个从网络上自动下载文件的自由工具,支持通过 HTTP、HTTPS、FTP 三个最常见的 TCP/IP协议 下载,并可以使用 HTTP 代理。"wget" 这个名称来源于 “World Wide Web” 与 “get” 的结合。

wget下载的参数设定:

--bind-address=ADDRESS 指定本地使用地址(主机名或IP,当本地有多个IP或名字时使用)

-nc, --no-clobber 不要覆盖存在的文件或使用#前缀

--progress=TYPE 设定进程条标记

-N, --timestamping 不要重新下载文件除非比本地文件新

-T, --timeout=SECONDS 设定响应超时的秒数

-w, --wait=SECONDS 两次尝试之间间隔SECONDS秒

--waitretry=SECONDS 在重新链接之间等待1SECONDS秒

--random-wait 在下载之间等待02WAIT秒

递归下载:

-r, --recursive 递归下载--慎用!

-l, --level=NUMBER 最大递归深度 (inf 或 0 代表无穷)

--delete-after 在完毕后局部删除文件

-k, --convert-links 转换非相对链接为相对链接

-K, --backup-converted 在转换文件X之前,将之备份为 Xorig

-m, --mirror 等价于 -r -N -l inf -nr

-p, --page-requisites 下载显示HTML文件的所有

参考资料:

wget

linux一般用作于服务器使用,通常使用文字界面,这里分享下如何从远程终端下载文件到本地磁盘

1、首先在windows开始菜单可以寻找到filezilla软件,点击他即可启动程序。

2、输入正确的linux主机的ip地址,用户名,密码,以及22端口,点击连接即可登录,登录成功会提示Listing directory /root。

3、接着在linux相应的目录,找到相应的文件或者目录,如下图所示。

4、在对应的文件右击下载即可,在下载之前记得先选择文件存放的目录。

5、这时就可以把文件成功下载在桌面了,到桌面查看下载的文件,就完成了。

第一种方式:

SecureCRT下

上传文件只需在shell终端仿真器中输入命令“rz”,即可从弹出的对话框中选择本地磁盘上的文件,利用Zmodem上传到服务器当前路径下。

下载文件只需在shell终端仿真器中输入命令“sz 文件名”,即可利用Zmodem将文件下载到本地某目录下。

通过“File Transfer”可以修改下载到本地的默认路径。设置默认目录:options-->session options-->file transfer。

或者

下载文件存放位置在securtCRT中设置,位于:

英文版 options — session options — X/Y/Zmodem。

中文版 选项— 会话选项— X/Y/Zmodem。

第二种方式:用sftp

securecrt 按下ALT+P就开启新的会话 进行ftp操作。

输入:help命令,显示该FTP提供所有的命令

pwd:  查询linux主机所在目录(也就是远程主机目录)

lpwd: 查询本地目录(一般指windows上传文件的目录:我们可以通过查看”选项“下拉框中的”会话选项“,如图二:我们知道本地上传目录为:D:/我的文档)

ls:   查询连接到当前linux主机所在目录有哪些文件

lls:  查询当前本地上传目录有哪些文件

lcd:  改变本地上传目录的路径

cd:   改变远程上传目录

get:  将远程目录中文件下载到本地目录

put:  将本地目录中文件上传到远程主机(linux)

quit: 断开FTP连接

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何把linux服务器的文件下到本地windows

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情