我对 Unix 完全陌生。我正在编写一个脚本,它将文件从 Windows 共享文件夹复制到 Unix。
在 Windows 中,当我输入\\Servername.com\testfolder
“运行”命令时,我可以看到testfolder
.该目录testfolder
是全网共享的文件夹。
现在我想将其中的一些文件复制testfolder
到 Unix 机器上。我应该使用哪个命令?我知道服务器的 IP 地址,但不知道用户名。
答案1
和中小企业客户安装在*nix机器上,根本不需要挂载Windows共享。例如,要检索 C:\Directory\file.txt 并将其复制到 Linux 计算机上的 /tmp,请执行以下操作:
smbclient '//windowsserver/c$' -c 'lcd /tmp; cd Directory; get file.txt' -U administrator%password
看https://superuser.com/a/562728/48742了解详情。那边讨论过这个问题。
答案2
mount
您需要使用中列出的过程从 UNIX 服务器访问Windows 共享这个链接。
基本上,您在 UNIX 计算机上创建一个称为安装点的目录。然后,您可以使用该mount
命令在该装载点上装载 Windows 共享。然后,当您转到已创建的目录时,您会看到 Windows 共享中的文件。
答案3
如果您可以\Servername.com\testfolder
在 Windows 计算机中看到,那么您可以使用自己的用户名和密码。
在 Linux 机器上,您可以使用
sudo mount -t cifs -o 用户名=YourWindowsLogin,password=YourWindowsPassword //Servername.com/testfolder /mnt/testfolder
/mnt/testfolder
必须事先存在。
然后您可以从 复制文件/mnt/testfolder
。
用于sudo umount /mnt/testfolder
卸载文件夹。