快速簡單的檔案傳輸-了解Linux TFTP
在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

安裝後,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

為了方便使用,如果您將相關 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中文網其他相關文章!

熱AI工具

Undress AI Tool
免費脫衣圖片

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

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

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

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

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

確認目標硬盤設備名(如/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驗證是否全為零,完成安全擦除。

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

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

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

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

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