WatchStor.com — 领先的中文存储网络媒体 | 51CTO旗下网站

技术文档 > Linux > 正文
如何在Linux和Windows之间共享文件?
作者: 51CTO 2018-05-04 16:02 【51CTO布加迪编译】

若借助Linux社区的一些出色工具,在Linux和Windows系统之间共享文件异常容易。不妨看看两种全然不同的共享文件的方法。

如何在Linux和Windows之间共享文件?

如今许多人在混合网络上办公,Linux系统和Windows系统都在其中扮演重要角色。两者之间共享文件有时很重要,借助合适的工具异常容易。不用吹灰之力,你就可以将文件从Windows拷贝到Linux或从Linux拷贝到Windows。我们在本文中介绍怎样配置Linux和Windows系统,以便将文件从一个操作系统轻松拷贝到另一个。

在Linux和Windows之间拷贝文件

Windows和Linux之间拷贝文件的第一步是,下载并安装像PuTTY的pscp这样的工具。你可以从putty.org下载PuTTY,并轻松安装到Windows系统上。PuTTY随带终端仿真器(putty)以及pscp之类的工具,用于在Linux系统和Windows系统之间安全地拷贝文件。进入到PuTTY网站后,你可以选择安装程序或单个的.exe文件,从而决定安装所有工具还是仅仅安装想要使用的工具。

你还需要在Linux系统上安装并运行ssh-server。这让Linux系统可以支持客户端(Windows端)连接请求。如果你还没有安装好ssh服务器软件,下列步骤应该适用于Debian系统(Ubuntu等)

sudo apt update

sudo apt install ssh-server

sudo service ssh start

如果是Red Hat及相关的Linux系统,使用类似的命令:

sudo yum install openssh-server

sudo systemctl start sshd

注意:如果你在运行ufw之类的防火墙,可能得打开端口22,允许连接。

使用pscp命令,随后你可以将文件从Windows拷贝到Linux,反之亦然。“copy from to”命令的语法相当简单直观。

从Windows拷贝到Linux

在下列命令中,我们将文件从Windwos系统上的用户帐户拷贝到Linux系统上的/tmp目录。

C:\Program Files\PuTTY>pscp \Users\shs\copy_me.txt shs@192.168.0.18:/tmp

shs@192.168.0.18's password:

copy_me.txt | 0 kB | 0.1 kB/s | ETA: 00:00:00 | 100%

从Linux拷贝到Windows

将文件从Linux拷贝到Windows同样很轻松。只要将参数调一下。

C:\Program Files\PuTTY>pscp shs@192.168.0.18:/tmp/copy_me.txt \Users\shs

shs@192.168.0.18's password:

copy_me.txt | 0 kB | 0.1 kB/s | ETA: 00:00:00 | 100%

如果1)pscp在你的Windows搜索路径上,2)Linux系统在Windows hosts文件中,这个过程会来得顺利和容易一些。

Windows搜索路径

如果你用PuTTY安装程序安装PuTTY工具,可能会发现C:\Program files\PuTTY在Windows搜索路径上。只要在Windows命令提示符中输入echo %path%(在搜索栏中输入“cmd”以打开命令提示符),就可以查看是不是这种情况。如果在Windows搜索路径上,你不需要操心在文件系统中的位置。进入到含有你想拷贝的文件的文件夹,可能来得更容易。

C:\Users\shs>pscp copy_me.txt shs@192.168.0.18:/tmp

shs@192.168.0.18's password:

copy_me.txt | 0 kB | 0.1 kB/s | ETA: 00:00:00 | 100%

更新Windows hosts文件

这是另一个小窍门。如果你有管理员权限,可以将Linux系统添加到Windows host文件(C:\Windows\System32\drivers\etc\hosts),然后使用host名称代替IP地址。牢记一点:如果你Linux系统上的IP地址是动态分配的,这将行不通。

C:\Users\shs>pscp copy_me.txt shs@stinkbug:/tmp

shs@192.168.0.18's password:

hosts | 0 kB | 0.8 kB/s | ETA: 00:00:00 | 100%

请注意:Windows host文件格式类似Linux系统上的/etc/hosts文件:IP地址、空白处和host名称。注释前面是井字号(#)。

# Linux systems

192.168.0.18 stinkbug

那些烦人的行尾结束符号

牢记一点:Windows上文本文件的行结尾既有回车符又有换行符。Pscp工具不会删除回车符,好让文件如同Linux文本文件。相反,它只是原封不动地拷贝文件。可以考虑安装tofrodos软件包,以便能够在Linux系统上使用fromdos和todos命令,从而调整两个平台之间拷贝的文件。

Windows和Linux之间共享文件夹

共享文件夹是全然不同的操作。你最后将Windows目录挂载到Linux系统上,或者将Linux目录挂载到Windows系统上,那样两个系统都能使用同一组文件,而不是将文件从一个系统拷贝到另一个系统。Samba是这方面最出色的工具之一,它可仿真Windows协议,在Linux系统上运行。

一旦Samba安装完毕,你就能将Linux文件夹挂载到Windows上或将Windows文件夹挂载到Linux上。当然,这与本文前面描述的拷贝文件大不一样。相反,涉及的两个系统都同时可以访问同样的文件。

想了解如何选择Linux系统和Windows系统之间共享文件的合适工具,请参阅该文:https://www.infoworld.com/article/2617683/linux/linux-moving-files-between-unix-and-windows-systems.html。


标签:Linux 

LecVideo