由于最近要使用樹莓派進行一些代碼練習,但是好多東西都在windows里或虛擬機上,就想將文件傳輸到樹莓派上,但試了發現u盤不能簡單傳送,就在網絡上找到了通過windows 的scp命令傳送
前提是樹莓派先開啟ssh服務,且Windows和樹莓派能ping通
?參考文章:
通過ssh協議實現Windows與Linux之間的文件互傳_ssh傳輸文件 windows到linux-CSDN博客
樹莓派開啟服務:
1. 打開終端并輸入(查看是否已經開啟)
sudo service ssh status
????????如果 SSH 已安裝, 你將看到服務的運行狀態。 如果未安裝, 你會收到一條提示, 指示 SSH 服務未運行。
2. 如果未安裝 SSH, 執行下面的指令進行安裝
sudo apt update
sudo apt install openssh-server
3. 接下來啟動 SSH 服務并設置自啟動
sudo service ssh start sudo systemctl enable ssh
4.然后查看IP地址
hostname -I
這里我的IP地址為192.168.1.15
樹莓派和電腦連同一個wifi
Windows操作:
通過win+r打開cmd進行測試,檢查Windows是否能ping通
ping通后就可以復制文件了
# 復制 Windows 文件到 Linux
scp D:\data\1.txt twelve@192.168.1.15:/home/twelve
# 復制 Windows 目錄到 Linux(記得加 -r)
scp -r D:\data twelve@192.168.1.15:/home/twelve# 復制 Linux 文件到 Windows
scp twelve@192.168.1.15:/home/twelve/1.txt D:\data
# 復制 Linux 目錄到 Windows(記得加 -r)
scp -r twelve@192.168.1.15:/home/twelve D:\data
這里文件路徑可以直接復制粘貼,注意目的地址需要加上用戶名 + @IP地址 + : + 目的地址
如果scp: /home/twelve/wheeltec_ros2//src: Permission denied
說明你要粘貼的目的地址有權限,你需要修改文件權限才可以,如果沒有什么秘密的話,可以直接使用
sudo chmod 777 文件名
將文件設為可讀可寫可執行,全部用戶
如果ssh: connect to host 192.168.76.130 port 22: Connection timed out
可能是目標的防火墻阻止了,可以
sudo ufw status
sudo ufw allow 22/tcp # 若未放行,執行此命令
這個好像傳文件少的時候比較好,文件數一多就會丟東西,我傳個二百多兆的文件夾到樹莓派變七十多了:)
??參考文章:
通過ssh協議實現Windows與Linux之間的文件互傳_ssh傳輸文件 windows到linux-CSDN博客