以下內容源于日常學習的整理,歡迎交流。
下圖是Windows主機、虛擬機Ubuntu、開發者三者之間文件互傳的方式示意圖:
注意,下面談及的所有方式,都要求兩者的IP地址處于同一網段,涉及到的軟件資源見felm。?
一、Windows主機、虛擬機Ubuntu
可以通過Filezilla這個軟件進行互傳。
?
二、虛擬機Ubuntu、開發板
方法1:使用NFS方式傳輸文件
首先理解一下NFS的原理。簡單地說,就是將遠端操作系統(即服務端,這里指虛擬機Ubuntu)下的某個目錄,掛接在本地操作系統(即客戶端,這里指運行著操作系統的開發板)下的某個目錄。這樣一來,就可以通過本地目錄訪問遠端目錄的內容。
然后看一下設置方法:很簡單,使用mount命令進行掛載時,-t 選項后面設置為 NFS 即可:
mount -t nfs -o nolock,vers=3 192.168.1.142:/home/book/nfs_rootfs /mn//虛擬機ubuntu的IP:將哪個目錄掛載 //掛載到開發板哪個目錄
比如上面的例子,mount 成功之后,開發板在/mnt 目錄下讀寫文件時,實際上訪問的就是Ubuntu 中的/home/book/nfs_rootfs 目錄,所以開發板和 Ubuntu 之間通過NFS 可以很方便地共享文件。
方法2:使用TFTP服務傳輸文件
開發板上可以使用 tftp 命令與 Ubuntu 互傳文件,不過需要在Ubuntu上先安裝 TFTP 服務。
1、安裝TFTP服務
(1)在 Ubuntu 中執行以下命令安裝 TFTP 服務:
sudo apt-get install tftp-hpa tftpd-hpa //在ubuntu上按照tftp服務
(2)創建 TFTP 服務器工作目錄(你自己創建,下面只是一個舉例):
mkdir -p /home/book/tftpboot
sudo chmod 777 /home/book/tftpboot
sudo vim /etc/default/tftpd-hpa
(3)修改TFTP服務配置文件 /etc/default/tftpd-hpa中,添加以下字段(將上面自己創建的工作目錄寫進配置文件中;以及其他一些配置,這配置啥意思先不管,照著學就好):
TFTP_DIRECTORY="/home/book/tftpboot"
TFTP_OPTIONS="-l -c -s"
(4)最后重啟TFTP服務(該命令和重啟網絡命令好像,把tftpd-hpa改為network就好):
sudo service tftpd-hpa restart
(5)查看 tftp 服務是否在后臺運行:
ps -aux | grep “tftp”
2、開發板從Ubuntu下載文件
(1)把待下載文件,放到Ubuntu中TFTP服務器工作目錄中,比如123.txt。
(2)使用以下命令,從Ubuntu中下載文件:
tftp -g -r 123.txt 192.168.1.142//要下載什么文件 //Ubuntu橋接方式下的IP地址
3、開發板上傳文件到Ubuntu
使用以下命令,將開發板當前目錄下的345.txt文件,上傳到Ubuntu的TFTP服務器工作目錄中:
tftp -p -l ./345.txt 192.168.1.142//要將開發板的哪個文件上傳到Ubuntu //Ubuntu橋接方式下的IP地址
4、tftp命令簡介
更多介紹,見?Linux tftp 命令 | 菜鳥教程。?
tftp命令是Linux系統中的一個用于進行文件傳輸的工具,它是基于UDP協議的、簡單文件傳輸協議(TFTP)的客戶端命令行工具。
tftp命令的主要作用是在網絡中傳輸文件。它可以通過TFTP協議與遠程主機進行通信,將文件從本地主機傳輸到遠程主機,或者從遠程主機下載文件到本地主機。比如可以將固件、配置文件、日志文件等傳輸到網絡設備,或者從網絡設備上下載這些文件進行分析和備份。
與其他文件傳輸協議(如FTP)相比,TFTP協議更加簡單和輕量級,適用于在局域網或者本地網絡中進行快速的、小體積的文件傳輸。
在使用tftp命令時,需要注意確保tftp服務器已正確配置、網絡連接正常、文件權限和路徑設置正確、注意文件名的大小寫、設置傳輸模式和超時時間、使用合適的命令選項,并注意安全性。
三、Windows主機、開發板
這兩者之間也可以使用TFTP服務傳輸文件,需要使用到一款軟件:tftpd64。
如下圖所示,在Windows主機下運行tftpd64,設置好TFTP服務的工作目錄(以后開發板從這個目錄中下載文件,或者上傳文件到這個目錄),選擇有線網卡(橋接網卡)的IP地址。
如果開發板想下載Windows主機中的文件(比如123.txt),先將文件放入Windows主機TFTP服務的工作目錄下,然后使用下面命令:
tftp -g -r 123.txt 192.168.1.10//要下載什么文件 //Windows主機有線網卡的IP地址
如果開發板想上傳文件(比如345.txt)到Windows主機,則采用下面命令:
tftp -p -l ./345.txt 192.168.1.142//將開發板哪個文件上傳到Windows //Windows有線網卡的IP地址