将文件从 Windows 复制到 Linux

Ale*_*lex 18 windows linux script

我正在写一个脚本。它将运行一台 linux 机器。它的目标包括 linux、solaris 和 windows。

我知道我可以使用 scp 在 *nix 之间复制文件。但是如何从 Windows 复制文件?

这些窗口是测试机器,不能指望安装特定的软件,因为操作系统可以经常重新安装。

jau*_*ume 23

使用桑巴

Samba 提供与 Windows 兼容的文件共享服务。

您可以共享目录(例如/srv/samba/sharename您的Linux计算机上)和从Windows访问它是这样的:\\linuxservername\sharename。Windows 端不需要任何额外的软件。

Samba 包含在大多数 Linux 发行版中。使用包管理器安装它,例如:

  • Ubuntu: sudo apt-get install samba smbclient

  • 使用: zypper samba

  • CentOS/红帽: yum install samba

要配置 Samba,请参阅:

或在 Google 上搜索以查找分发指南。

请注意,如果您使用防火墙,您可能需要配置 Linux 防火墙,以接受与端口 137/tcp、138/tcp、139/tcp 和 445/tcp 的连接(请参阅)。


在上面的描述中,Linux 计算机是一个 Samba 服务器,Windows 从中安装一个共享。

在您下面的评论中,您提到您想自动化传输过程。这可以通过反转角色来实现,以便 Windows 充当服务器,而 Linux 使用smbclient.

随着smbclient你并不需要在所有安装了Windows共享。例如,要检索C:\Directory\file.txt并将其复制到/tmp您的 Linux 计算机上,请执行以下操作:

smbclient '//windowsserver/c$' -c 'lcd /tmp; cd Directory; get file.txt' -U administrator%password
Run Code Online (Sandbox Code Playgroud)

-c要执行的命令。详情请参阅man smbclient

-U 用于访问指定为的共享的用户名和密码 username%password

根据您的需要修改它并将其添加到您的脚本中。