通过 Shell 脚本,我必须将文件/目录从 Linux 计算机传输到 Windows 共享位置,因此尝试使用以下命令 -
scp <directory-location-path-on-linux>/pom.xml "\\\\<ip-address-or-hostname>\\Shared\\test"
这不会在控制台上给出任何输出,也看不到复制到目标的文件。
scp <username>@<host-ip-of-linux(i.e. of source)>:<directory-location-path-on-linux>/pom.xml "\\\\<ip-address-or-hostname>\\Shared\\test"
这要求输入密码,并在提供密码后,在控制台上给出以下输出 -
pom.xml 100% 4966 6.2MB/s 00:00
但文件未复制到目的地。
您能帮助理解这里可能出了什么问题吗?
**注意:** 目标共享位置对每个人都有读/写访问权限。
答案1
为了使用 复制文件scp
,您需要在目标计算机上运行 ssh 服务器。正确的格式,如果你实际上有一个 ssh 服务器正在运行,应该是:
scp /path/on/linux/pom.xml ip-address-or-hostname:/remote/path
当你运行这个时:
scp <directory-location-path-on-linux>/pom.xml "\\\\<ip-address-or-hostname>\\Shared\\test"
或这个:
scp <username>@<host-ip-of-linux(i.e. of source)>:<directory-location-path-on-linux>/pom.xml "\\\\<ip-address-or-hostname>\\Shared\\test"
\\<ip-address-or-hostname>\Shared\test
您实际上在 Linux 系统的当前目录中创建了一个名为的文件。您应该能够看到它ls
。例如:
$ scp file "\\\192.168.1.1\\foo"
$ ls
'\\192.168.1.1\foo' file
基于您正在使用的事实\\\
,我假设您真正想要做的是将文件复制到 Windows 主机使用 SMB 协议共享的驱动器上。执行此操作的正常方法是在 Linux 上安装 SMB 共享驱动器,然后只需使用cp
.
有数十种资源解释了如何执行此操作。这两个只是我在搜索“linux mount samba”时发现的热门搜索中的两个,应该作为起点: