Linux中國

使用 PSCP 將文件和文件夾從 Windows 傳輸到 Linux

開源的 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 教程進行操作,則為 DesktopApp)。如果你沒有設置 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:UserspaulDocuments 傳輸到我的目標 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%Documentspscp-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:UserspaulDocuments 下。

Image of a file manager.

遠程複製

藉助開源 pscp 命令的強大功能,你可以訪問家中的任何計算機、擁有帳戶的伺服器,甚至是移動設備和 邊緣設備

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

作者:Paul 選題:lkxed 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國