使用 PSCP 将文件和文件夹从 Windows 传输到 Linux
创始人
2024-03-02 13:14:33
0

开源的 PSCP 程序可以轻松地在 Windows 和 Linux 计算机之间传输文件和文件夹。

你是否正在寻找一种将文件从 Windows 计算机快速传输到 Linux 计算机并再次传输回来的方法?开源的 PSCP 程序可以轻松传输文件和文件夹,当然它是开源的。

在 Windows 中设置 PATH

了解如何在 Windows 中设置命令路径可以更轻松地使用 PSCP 等方便的程序。如果你不熟悉该过程,请阅读 如何在 Windows 上设置 PATH

使用 PSCP

PSCP(PuTTY 安全复制协议)是一个命令行工具,用于将文件和文件夹从 Windows 计算机传输到 Linux 计算机。

  • 网站 下载 pscp.exe
  • pscp.exe 移动到 PATH 中的文件夹(例如,如果你按照 Opensource.com 上的 PATH 教程进行操作,则为 Desktop\App)。如果你没有设置 PATH 变量,你也可以将 pscp.exe 移动到保存要传输的文件的文件夹中。
  • 使用 Windows 任务栏中的搜索栏在 Windows 计算机上打开 Powershell(在搜索栏中输入 powershell。)
  • 输入 pscp -version 以确认你的计算机可以找到该命令。

IP 地址

在进行传输之前,你必须知道目标计算机的 IP 地址或完全限定域名。假设它是同一网络上的计算机,并且你没有运行 DNS 服务器来解析计算机名称,你可以在 Linux 机器上使用 ip 命令找到目标 IP 地址:

[linux]$ ip addr show |grep 'inet '
inet 127.0.0.1/8 scope host lo
inet 192.168.1.23/24 brd 10.0.1.255 scope global noprefixroute eth0

在所有情况下,127.0.0.1 都是计算机仅用于与自身通信的环回地址,因此在此示例中,正确的地址是 192.168.1.23。在你的系统上,IP 地址可能不同。如果你不确定哪个是哪个,你可以连续尝试每个,直到找到正确的(然后在某处写下来!)

或者,你可以查看路由器的设置,其中列出了通过 DHCP 分配的所有地址。

防火墙和服务器

pscp 命令使用 OpenSSH 协议,因此你的 Linux 计算机必须运行 OpenSSH 服务器软件,并且防火墙必须允许 SSH 流量。

如果你不确定你的 Linux 机器是否正在运行 SSH,请在 Linux 机器上运行以下命令:

[linux]$ sudo systemctl enable --now sshd

要确保你的防火墙允许 SSH 流量,请运行以下命令:

[linux]$ sudo firewall-cmd --add-servicessh --permanent

有关 Linux 上的防火墙的更多信息,请阅读 使用防火墙使 Linux 更强大

传输文件

在这个例子中,我有一个名为 pscp-test.txt 的文件,我想将它从我的 Windows 计算机上的 C:\Users\paul\Documents 传输到我的目标 Linux 计算机主目录 /home/paul

现在你已经有了 pscp 命令和目标地址,你可以传输测试文件 pscp-test.txt。打开 Powershell 并使用 dir 命令切换到示例文件所在的 Documents 文件夹:

PS> dir %USERPROFILE%\Documents\

现在执行传输:

PS> pscp pscp-test.txt paul@192.168.1.23:/home/paul
| Password:
End of keyboard-interactive prompts from server
pscp-test.txt | 0 kb | 0.0 kB/s | ETA: 00:00:00 | 100%

这是语法,逐字逐句来:

  • pscp:用于传输文件的命令。
  • pscp-test.txt 是你要从 Windows 传输的文件的名称。
  • paul@192.168.1.23 是我在 Linux 计算机上的用户名,以及 Linux 计算机的 IP 地址。你必须将其替换为你自己的用户和目的地信息。请注意,pscp 需要目标计算机上的目标路径,而 IP 地址末尾的 :/home/paul 指定我希望将文件复制到我的主文件夹。

对 Linux 计算机进行身份验证后,pscp-test.txt 文件将传输到 Linux 计算机。

验证已传输

在你的 Linux 计算机上,打开终端并使用 ls 命令验证文件 pscp-test.txt 是否出现在你的主目录中。

[linux]$ ls
Documents
Downloads
Music
Pictures
pscp-test.txt

从 Linux 系统复制文件

你不仅限于将文件复制到 Linux 系统。使用 pscp,你还可以将文件从 Linux 复制到 Windows。语法是一样的,只是反过来:

PS> pscp paul@192.168.1.23:/home/paul/pscp-test.txt %USERPROFILE%\Documents\pscp-win.txt

这是语法:

  • pscp:用于传输文件的命令。
  • paul@192.168.1.23:/home/paul/pscp-test.txt 是我在 Linux 计算机上的用户名、Linux 计算机的 IP 地址,以及我要复制的文件的路径。
  • %USERPROFILE%\Documents 是我的 Windows 计算机上我要保存文件的位置。 请注意,在将文件复制回我的 Windows 计算机时,我可以给它一个新名称,例如 pscp-win.txt,以区别于原始文件。 当然,你不必重命名文件,但对于本演示来说,它是一个有用的快捷方式。

打开文件管理器以验证 pscp-win.txt 文件是否已从 Linux 计算机复制到 Windows C:\Users\paul\Documents 下。

Image of a file manager.

远程复制

借助开源 pscp 命令的强大功能,你可以访问家中的任何计算机、拥有帐户的服务器,甚至是移动设备和 边缘设备


via: https://opensource.com/article/22/10/transfer-files-windows-linux-pscp

作者:Paul 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

使用 PSCP 将文件和文...
开源的 PSCP 程序可以轻松地在 Windows 和 Linux...
2024-03-02 13:14:33

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...
如何检查你的 Linux 系统... 不知道在使用哪个初始化系统?以下是方法。每个主流 Linux 发行版(包括 Ubuntu、Fedor...