首頁 系統教程 Linux 快速簡單的檔案傳輸-了解Linux TFTP

快速簡單的檔案傳輸-了解Linux TFTP

Feb 12, 2024 pm 03:15 PM
linux linux教程 linux系統 linux指令 shell腳本 嵌入式linux linux入門 linux學習

在Linux系統中,我們常常需要進行檔案的傳輸。然而,使用傳統的FTP協定雖然可以實現檔案傳輸,但設定過程相對複雜,較不適合快速簡單的檔案傳輸。那麼,有沒有一種更方便快速的檔案傳輸方式呢?答案是肯定的──它就是TFTP。

您知道流行的檔案傳輸協定有一個更簡單的替代方案嗎?它就是 TFTP,以下是在 Linux 上設定它的方法。

TFTP(Trivial File Transfer Protocol,簡單檔案傳輸協定)於 1980 年首次定義。它是一個相當古老的協議,於 1981 年 6 月由 Karen R. Sollins 在 RFC 783(徵求意見)中作為 TFTP 協議修訂版 2 發布。

早期,TFTP 的主要目標是透過網路傳送和接收檔案。特別是,它用於傳輸引導期間所需的文件,以使系統能夠透過網路引導。

以下介紹如何在 Linux 機器上設定 TFTP 伺服器。

什麼是 TFTP?

TFTP 仍用於檔案傳輸目的,它支援的功能沒有根本變化。 TFTP 用於透過 UDP/IP 下載和傳送檔案。它沒有其他文件傳輸協定中常見的身份和授權控制、文件清單、刪除或重新命名等附加功能。

與在傳輸層使用 TCP 的高階檔案傳輸協定不同,它工作在 UDP 協定上,不具有檢查屬於檔案的資料包是否會傳送到另一端等功能。由於這個限制,它更適合在區域網路中使用,而不是在網際網路或廣域網路中使用。

儘管上面列出了所有這些看似不利的特性,但 TFTP 協定非常強大的一個方面是它的簡單性。與其替代方案相比,該協定的實作非常容易,即使對於沒有作業系統的環境也是如此。由於這個特性,它在嵌入式系統中有廣泛的使用領域。

在 Linux 上安裝 TFTP 伺服器

使用嵌入式裝置時,安裝 TFTP 伺服器服務很重要。在 Linux 系統上,可以運行多個 TFTP 伺服器實作。如果您使用的是基於 Debian 的發行版,您可以安裝tftpd-hpa、tftpd或atftpd軟體套件。如果您不確定選擇哪一個,請考慮安裝 tftpd-hpa 軟體套件。

┌──(linuxmi㉿linuxmi)-[~/linuxmi.com]
└─$ sudo apt-get install tftpd-hpa
快速简便的文件传输——了解Linux TFTP

安裝後,TFTP 服務將開始偵聽 UDP 連接埠 69。要透過 TFTP 伺服器將檔案提供給其他系統,您需要記住一些先決條件:
第一是將所需檔案複製到 TFTP 主目錄或該主目錄下的目錄,第二是讓檔案權限對公眾可見
要找出 TFTP 伺服器主目錄是什麼,您可以查看/etc/default/tftpd-hpa檔案中的TFTP_DIRECTORY變數。通常,您會看到/var/lib/tftpboot或/srv/tftp 之類的目錄。如果需要,您可以變更此目錄並重新啟動服務。

┌──(linuxmi㉿linuxmi)-[~/linuxmi.com]
└─$ cat /etc/default/tftpd-hpa
快速简便的文件传输——了解Linux TFTP

為了方便使用,如果您將相關 TFTP 主目錄的擁有者變更為您的使用者帳戶,則無需在執行的每個命令中新增 sudo 前綴。使用 chown 指令將所有權從 root 變更為目前使用者:

sudo chown -R $USER /srv/tftp

TFTP 伺服器套件名稱和預設主目錄可能會因使用的 Linux 發行版而異。

使用 TFTP 伺服器傳送檔案

有時在某些情況下,TFTP 是將檔案從嵌入式 Linux 系統移至外部環境的唯一選擇。例如,有時系統可能不支援任何可用於傳輸檔案的可寫入媒體。

在這種情況下,由於 TFTP 用戶端可能會在busybox中編譯,您可以將系統中儲存的檔案傳送到網路上的 TFTP 伺服器。

要使用 TFTP 用戶端應用程序,請發出busybox tftp命令:

busybox tftp

要將範例檔案傳送到 TFTP 伺服器,您需要使用以下命令:

busybox tftp -l example.bin -p 192.168.1.111

雖然上面的命令是正確的,但在將檔案傳輸到 TFTP 伺服器時會出錯。由於傳回的錯誤訊息不是不言自明的,因此很難理解真正的問題是什麼。

這裡的問題是因為 TFTP 伺服器上的一些安全程式。 TFTP 要求具有相同名稱的檔案應位於將寫入檔案的目錄中,作為檔案上傳的先決條件,且該檔案的寫入權限應可供所有人使用。

換言之,無法透過 TFTP 用戶端上傳 TFTP 伺服器上不存在的檔案。如果您建立同名的空白檔案並編輯其存取權限,則上述上傳過程將會成功。為此,您必須在相關的 TFTP 伺服器主目錄中執行以下命令:

cd /srv/tftp  
touch example.bin
chmod 666 example.bin

現在您可以成功執行上傳了。

也可以停用上述安全措施並讓 TFTP 伺服器建立一個不存在的檔案。為此,您可以在啟動tftpd-hpa應用程式時使用-c或–create參數。將此參數加入/etc/default/tftpd-hpa檔案中現有的TFTPD_OPTIONS變數就足夠了:

# /etc/default/tftpd-hpa  
TFTP_USERNAME="tftp"  
TFTP_DIRECTORY="/srv/tftp"  
TFTP_ADDRESS="0.0.0.0:69"  
TFTP_OPTIONS="--secure --create"

为什么使用 TFTP 服务器进行文件传输?

TFTP 最重要的优点是速度快,并且可以帮助您节省时间。它是将网络设备的配置文件传输到其他系统的理想选择。此外,它具有非常简单的使用标准。它可以与基于 Windows 和 Linux 的操作系统上的软件一起轻松运行。最后,在技术上无法使用 FTP 的情况下,TFTP 总是可以挽救局面。

当然,最大的缺点是不安全。因此,使用 TFTP 服务器传输文件时必须非常小心。

除了文件传输之外,您不能使用 TFTP 服务器执行文件删除、编辑和修改等功能。对于那些使用或寻求高级系统的人来说,此功能是一个主要缺点。最后,它不需要身份验证,如果您认真对待自己的安全性,这是一个主要缺点。

在其他操作系统上设置 TFTP

如果要在 Windows 上使用 TFTP,则无需安装任何第三方软件。您可以使用控制面板中的打开或关闭 Windows 功能选项启用 TFTP。

本文介绍了Linux系统中TFTP(Trivial File Transfer Protocol)的使用方法和特点。与FTP相比,TFTP具有更加简单、快速、轻量级的特点,既不需要繁琐的配置,也不会占用大量的系统资源。通过学习TFTP的使用方法,我们可以实现快速简便的文件传输,提高工作效率。因此,TFTP绝对是每个Linux用户都值得了解和掌握的重要工具!

以上是快速簡單的檔案傳輸-了解Linux TFTP的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

PHP教程
1587
276
如何讓PHP容器支持自動構建 PHP環境持續集成CI配置方式 如何讓PHP容器支持自動構建 PHP環境持續集成CI配置方式 Jul 25, 2025 pm 08:54 PM

要讓PHP容器支持自動構建,核心在於配置持續集成(CI)流程。 1.使用Dockerfile定義PHP環境,包括基礎鏡像、擴展安裝、依賴管理和權限設置;2.配置GitLabCI等CI/CD工具,通過.gitlab-ci.yml文件定義build、test和deploy階段,實現自動構建、測試和部署;3.集成PHPUnit等測試框架,確保代碼變更後自動運行測試;4.使用Kubernetes等自動化部署策略,通過deployment.yaml文件定義部署配置;5.優化Dockerfile,採用多階段構

如何搭建獨立PHP任務容器環境 PHP定時腳本運行容器配置方法 如何搭建獨立PHP任務容器環境 PHP定時腳本運行容器配置方法 Jul 25, 2025 pm 07:27 PM

搭建獨立PHP任務容器環境可通過Docker實現,具體步驟如下:1.安裝Docker與DockerCompose作為基礎;2.創建獨立目錄存放Dockerfile、crontab文件;3.編寫Dockerfile定義PHPCLI環境並安裝cron及必要擴展;4.編寫crontab文件定義定時任務;5.編寫docker-compose.yml掛載腳本目錄並配置環境變量;6.啟動容器並驗證日誌。相比Web容器內執行定時任務,獨立容器具備資源隔離、環境純粹、穩定性強、便於擴展等優勢。為確保日誌與錯誤捕

如何在Linux上安全刪除硬盤驅動器 如何在Linux上安全刪除硬盤驅動器 Jul 24, 2025 am 12:08 AM

確認目標硬盤設備名(如/dev/sda),避免誤刪系統盤;2.使用sudoddif=/dev/zeroof=/dev/sdXbs=1Mstatus=progress全盤覆寫零值,適用於大多數場景;3.敏感數據使用sudoshred-v-n3/dev/sdX進行三次隨機數據覆寫,確保無法恢復;4.可選執行sudobadblocks-wsv/dev/sdX做破壞性寫入測試;最後用sudohexdump-C/dev/sdX|head驗證是否全為零,完成安全擦除。

Linux vs Windows:哪個操作系統更適合您? Linux vs Windows:哪個操作系統更適合您? Jul 29, 2025 am 03:40 AM

Windowsisbetterforbeginnersduetoeaseofuse,seamlesshardwarecompatibility,andsupportformainstreamsoftwarelikeMicrosoftOfficeandAdobeapps.2.LinuxoutperformsWindowsonolderorlow-resourcehardwarewithfasterboottimes,lowersystemrequirements,andlessbloat.3.Li

如何使用Cron和Anacron在Linux上安排任務 如何使用Cron和Anacron在Linux上安排任務 Aug 01, 2025 am 06:11 AM

cronisusedforpreciseschedulingonalways-onsystems,whileanacronensuresperiodictasksrunonsystemsthataren'tcontinuouslypowered,suchaslaptops;1.Usecronforexacttiming(e.g.,3AMdaily)viacrontab-ewithsyntaxMINHOURDOMMONDOWCOMMAND;2.Useanacronfordaily,weekly,o

如何使用終端在Linux上安裝軟件? 如何使用終端在Linux上安裝軟件? Aug 02, 2025 pm 12:58 PM

在Linux上安裝軟件主要有三種方法:1.使用包管理器,如apt、dnf或pacman,通過更新源後執行install命令安裝,例如sudoaptinstallcurl;2.對於.deb或.rpm文件,分別使用dpkg或rpm命令安裝,並在需要時修復依賴;3.使用snap或flatpak跨平台安裝應用,如sudosnapinstall軟件名,適用於追求版本更新的用戶,推薦優先使用系統自帶包管理器以獲得更好的兼容性和性能。

Linux上高性能遊戲的最終指南 Linux上高性能遊戲的最終指南 Aug 03, 2025 am 05:51 AM

ChoosePop!_OS,Ubuntu,NobaraLinux,orArchLinuxforoptimalgamingperformancewithminimaloverhead.2.InstallofficialNVIDIAproprietarydriversforNVIDIAGPUs,ensureup-to-dateMesaandkernelversionsforAMDandIntelGPUs.3.EnabletheperformanceCPUgovernor,usealow-latenc

Linux與Windows的主要利弊是什麼? Linux與Windows的主要利弊是什麼? Aug 03, 2025 am 02:56 AM

Linux適合老舊硬件、安全性高、可定制,但軟件兼容性弱;Windows軟件豐富、易用,但資源佔用高。 1.性能上,Linux輕量高效,適合舊設備;Windows對硬件要求高。 2.軟件上,Windows兼容性更廣,尤其專業工具和遊戲;Linux需借助工具運行部分軟件。 3.安全上,Linux權限管理更嚴格,更新便捷;Windows雖有防護但仍易受攻擊。 4.使用難度上,Linux學習曲線陡峭;Windows操作直觀。根據需求選擇:重性能與安全選Linux,重兼容與易用選Windows。

See all articles