使用命令行通过 Samba 发送文件

使用命令行通过 Samba 发送文件

我想知道是否有一种方法可以使用 Samba 通过命令行将项目发送到客户端计算机(我需要从 Samba 服务器发送文件)。我知道我总是可以使用,scp但首先我想知道是否有办法用 Samba 来做到这一点。谢谢!

答案1

使用smbclient,Samba自带的一个程序:

$ smbclient //server/share -c 'cd c:/remote/path ; put local-file'

有许多标志,例如-U允许远程用户名与本地用户名不同。

在将 Samba 拆分为多个二进制包的系统上,您可能已经安装了 Samba 服务器,但仍然丢失smbclient。在这种情况下,请检查您的包存储库中是否有名为smbclientsamba-client或类似名称的包。

答案2

卷曲支持smbv1协议自 v7.40 起:

curl --upload-file /path/to/file.ext  -u 'DOMAIN\Username' smb://172.16.17.52/ShareName/

默认情况下,SMB v1 在 Windows 中不再可用,因此这不适用于默认配置中的当前 Windows 共享。

答案3

真正有效的将是这样的:

$ smbclient //server/share -c 'cd c:/remote/path ; put local-file remote-file'

local-file - 来自本地计算机的文件

远程文件 - 复制到远程计算机上的此文件

答案4

我做了很多研究,最后我成功地使用下面的命令通过 shell 文件一次性传输文件。

smbclient -m smb2 '//xx.xxx.xxx.xx/share1/' -U domxyz/xyz%password123 -c 'cd "FOLDER 1/FOLDER 2/" ; put FILE1.xlsx'

相关内容