平板電腦上的 Termux:本地編譯 C++ 和 Python

  • Termux 可以將 Android 平板電腦變成一個完整的 Linux 環境,無需 root 權限,非常適合學習 C、C++ 和 Python。
  • 安裝 clang、gcc/g++ 和 Python 後,您可以在本機編譯程式碼並建立有用的網路和系統腳本。
  • Termux 和 Python 的結合,使得在行動環境中實現自動化和輕量級網路安全的實際專案成為可能。
  • Termux 中組織良好的環境使得以後可以輕鬆擴展到伺服器、雲端環境和專業工作流程。

Termux 平板電腦

如果你有一台簡單的安卓平板電腦或手機,並且想學習編程, 你不需要電腦就可以開始。使用 Termux,你可以在裝置上建立一個功能齊全的 Linux 環境,並使用 C、C++、Python 以及大量網路和系統工具。乍聽之下可能有點技術範兒,但一旦你嘗試過,你會發現它非常適合學習、實驗,甚至運行實際服務。

本文將一步步介紹如何在安卓平板電腦上充分利用 Termux。 在本機編譯 C 和 C++ 程式碼,使用 Python,並將其與 Linux 實用程式結合使用。您將看到如何安裝 Clang,如何用 C 和 C++ 編寫您的第一個“Hello World”,如何安裝 Python 並在實際專案中使用它,以及如何透過小的調整來完善環境,始終牢記實際應用,其中還涉及網路安全、自動化和遠端工作。

什麼是 Termux?為什麼它在安卓平板電腦上值得使用?

Termux 的最大優勢在於它幾乎可以像任何 Linux 發行版一樣運行,同時又能兼顧 Android 的限制: 您與作業系統本身共用部分檔案系統。/bin、/usr、/home 等目錄下沒有傳統的 FHS 目錄結構,而且該環境是為單一使用者設計的。即便如此,您仍然可以使用功能齊全的 $HOME 目錄,您可以在其中安裝軟體包、編譯程式碼、運行腳本以及保存專案。

Termux 為從零開始學習程式設計消除了許多常見的障礙: 你不需要功能強大的筆記型電腦,也不需要費力地使用虛擬機器。只要下載應用程序,更新軟體包,安裝幾個關鍵工具,就可以在平板電腦上編寫 C、C++、Python、HTML、CSS 程式碼,或任何你想嘗試的程式碼。

此外,Termux 的工作流程與以下領域完美契合: 基礎網路安全、流程自動化與系統管理腳本、網路工具和控制台指令會頻繁使用。你的平板電腦就變成了一個小型便攜式實驗室,你可以把它放在背包或口袋裡。

在您的安卓平板電腦上安裝並設定 Termux

第一步是取得可靠且最新版本的應用程式。 通常建議從 F-Droid 或其在 GitHub 上的官方儲存庫下載 Termux。因為 Google Play 版本通常已過時或無人維護。

應用安裝到平板電腦後,打開它並讓它準備初始環境。你會看到一個類似任何 Linux 終端機的 shell 提示字元。在進行任何重要操作之前,建議… 更新系統核心軟體包以避免版本衝突。在 Termux 中,操作方法如下:

pkg update && pkg upgrade

此命令會刷新索引並更新所有已安裝的程式。建議定期重複此操作,尤其是在添加編譯器、解釋器或開發工具之前。

之後,為了方便操作,最好安裝一些基本的控制台實用程式: 文字編輯器、壓縮工具、網路實用程式和系統監視器例如,要安裝 nano:

pkg install nano

這為您提供了一個介面簡潔、快捷鍵清晰可見的編輯器,非常適合初學者。如果您已經掌握了更多高級功能,可以選擇 Vim 或 Neovim,它們也以軟體包的形式提供。

至此,你的平板電腦上已經擁有一個功能齊全的迷你 Linux 系統。 一個可供安裝編譯器(如 clang)、解釋器(如 Python)和其他實用軟體包的現成環境你所學到的關於目錄結構、權限和命令的一切知識,以後在實際伺服器上都會派上用場。

學習編程
相關文章:
學習程式設計的必備 Android 應用

Termux 與傳統 Linux 的差別

雖然 Termux 的行為類似 Linux 環境,但仍有一些重要的細節需要注意。 首先,Termux 是一個單一使用者係統,並且不存在 sudo 指令。您直接使用與應用程式使用者關聯的權限,該使用者對 $HOME 擁有完全控制權,但對該空間之外的權限有限。

默認, 其主路徑與桌面 Linux 系統的主路徑不同。:

  • $PREFIX = /data/data/com.termux/files/usr
  • $ HOME = /data/data/com.termux/files/home

如果出於相容性考慮,您希望 $HOME 目錄看起來像 /home,您可以安裝 termux-proot:

pkg install termux-proot

然後在每次會話運行中:

termux-chroot

這模擬了一種環境,在這種環境下, $HOME 顯示為 /home,即使它實際位於 Termux 內部路徑中。當工具或安裝程式需要標準路徑時,這非常有用。

另一個關鍵點是存取設備的共享儲存空間。若要輕鬆存取 SD 卡或內部記憶體,請執行:

termux-setup-storage

此命令會新增一個 $HOME/storage 目錄,該目錄連結到不同的 Android 儲存位置。請注意。 在這些路徑下,您將無法使用 chmod 建立直接可執行文件,也無法使用 ./script 啟動它們。相反,您需要明確地呼叫解釋器,例如:

python storage/shared/scripts/mi_script.py

最後,您在 Termux 中的使用者名稱就是 Android 中的應用程式識別碼。 您可以使用 whoami 指令查看您的帳戶,並使用 passwd 指令設定密碼。如果您想從另一台電腦透過 SSH 連接到您的平板電腦,這是必不可少的。

基本工具和工作環境的安裝

Termux 平板電腦

在專注於 C、C++ 和 Python 之前,最好先準備一些程序,這將使您的生活更輕鬆。 Termux 使用 pkg(底層是 apt)作為其軟體套件管理器。因此,它的安裝過程與類似 Debian 的發行版非常相似。

推薦套餐包括:

  • 蟒蛇: pkg install python 需要安裝 Python 3 並能夠使用 pip 安裝模組。
  • : pkg install clang 編譯 C 和 C++,並允許 pip 編譯某些本機擴充。
  • openssh的: pkg install openssh 在平板電腦上啟動 SSH 伺服器,即可輕鬆從 PC 連線。
  • 屏幕: pkg install screen 用於維護後台進程和復原會話。
  • procps: pkg install procps 使用 pkill 和其他經典工具管理流程。
  • HTOP: pkg install htop 它可以作為互動式 CPU 和記憶體監視器,儘管在某些 Android 版本中可能無法完美運行。
  • 網路工具: pkg install net-tools 能夠使用 ifconfig 和其他經典的網路實用程式。
  • wget的: pkg install wget 直接從 URL 下載內容到您的環境。
  • : pkg install tree 依層級結構列出目錄結構。

安裝這些零件後,你的平板電腦就從一個簡單的多媒體消費設備變成了 一個小型開發環境,能夠運行腳本、編譯程式碼、提供內容以及接受遠端連線。.

安裝 clang 並在本地編譯 C 和 C++ 程式碼。

如果你想在平板電腦上用 C 和 C++ 編程,你需要一個能夠理解這兩種語言的編譯器。在 Termux 中,關鍵軟體包是 clang 也會建立與 gcc 和 g++ 相容的別名。這樣你就可以在不改變習慣的情況下使用傳統指令。

要安裝它,請開啟 Termux 會話並執行:

pkg install clang

該工具會要求確認;只需回覆即可。 如有需要,將下載並安裝必要的組件。從那一刻起,您就可以使用 gcc 和 g++ 執行檔分別編譯 C 和 C++ 程式碼了。

你透過這種方式所取得的成就是 Android 內的完整建置環境您編寫原始檔案(.co.cpp),在終端編譯,然後在 Termux 中執行生成的二進位。整個工作流程與桌面 Linux 系統幾乎相同,只是運行在您的平板電腦上。

如果在編譯過程中出現與缺少函式庫或頭檔相關的錯誤,通常都能解決。 安裝與該依賴項相關的其他軟體包 (例如,Termux 倉庫中的特定開發庫)。仔細閱讀錯誤訊息通常足以找到缺少的軟體包。

你用平板電腦寫的第一個 C 程序

Clang 安裝完畢後,就可以開始測試了。一個好的起點是創造一個… 用 C 語言編寫的一個簡單的“Hello world”類型的程序,用於檢查編譯器和環境是否配置正確。為此你需要一個編輯器;如果你選擇 nano,請先確保你已經安裝了它:

pkg install nano

接下來,在你想要工作的目錄(例如,你的 $HOME 目錄)中,執行以下命令建立一個原始檔:

nano hola.c

將會開啟一個空緩衝區,您可以在其中輸入您的 C 程式。 主函數和 printf 函數調用,用於在螢幕上顯示文本不必拘泥於經典範例;任何訊息都可以用來驗證一切是否正常運作。

程式碼編寫完成後,使用以下組合儲存檔案: 按 Ctrl + O,按 Enter 確認名稱,然後按 Ctrl + X 退出。您將返回 Termux 提示符,hola.c 檔案已保存在目前目錄中。

現在是時候使用 gcc 編譯程式了(實際上它指向已安裝的 clang 編譯器):

gcc -o hola hola.c

該命令表示應產生可執行檔。 您好,從原始碼 hola.c 開始。如果沒有錯誤,您將傳回提示符,而不會看到任何異常訊息。剩下的就是運行該二進位檔案:

./hola

你應該能在終端機上看到你輸入的文字。這表示你的平板電腦具備以下功能: 使用 Termux 在本地完全編寫、編譯和運行 C 程式碼。.

使用 g++ 編譯和執行 C++ 程式碼

對於 C++,過程幾乎完全相同,只是您需要使用… 屬於 clang 套件的 g++ 執行檔C++ 透過增加物件導向程式設計、模板、更豐富的標準函式庫和現代生態系統,大大擴展了 C 的功能。

在某些情況下,g++ 可以輕鬆編譯純 C 檔案。例如,如果您執行:

g++ -o hola_cpp hola.c

編譯器可能會發出 使用 C++ 編譯器編譯 C 程式碼時出現的警告但它仍然會產生 hola_cpp 可執行文件,您可以使用以下命令啟動它:

./hola_cpp

雖然這種方法可行,但對於實際項目,建議的方法是: 使用 .cpp 檔案並利用 C++ 的特定功能類別、std::vector、std::string、標準函式庫演算法等。

典型的工作流程是:

  1. 建立來源文件,例如 使用 nano、Vim 或您喜歡的編輯器編輯 program.cpp 檔案。.
  2. 儲存變更並返回終端。
  3. 使用類似這樣的命令進行編譯 g++ -o programa programa.cpp根據需要添加標誌和庫。
  4. 運行生成的二進位文件 ./programa 在控制台上查看輸出。

透過這個方案,你可以 從簡單的練習過渡到處理文件、分析日誌、自動化 Termux 內部任務或對網路資料執行操作的小型實用程式。所有這些都可以在你的安卓平板電腦上完成。

2023 年成長最快的程式語言
相關文章:
成長最快的程式語言:完整指南和當前趨勢

在 Termux 中安裝並使用 Python 進行實際專案開發

雖然 C 和 C++ 提供了底層控制,但 Python 提供了一個完美的程式設計環境。 快速原型製作、任務自動化和連接服務Termux 與 Python 結合使用時尤其出色,因為您可以將 shell 命令與腳本混合使用,並在一個地方利用網路和系統工具。

要在 Termux 上安裝 Python,只需執行:

pkg install python

系統將下載最新版本的 Python 3 以及必要的元件。安裝完成後, 您可以透過在終端機中輸入 python 或 python3 來啟動互動式解釋器。根據軟體包配置的別名而定。

然後,您可以建立 .py 檔案中的腳本,並使用以下命令執行它們:

python mi_script.py

並使用 pip 安裝其他依賴項。 請注意,某些 Python 函式庫需要 clang 和其他開發套件來編譯本機擴充。因此,安裝 clang 可以省去你很多麻煩。

強烈建議採用專案式學習方法: 你不再只是進行孤立的練習,而是為自己設定具體的小目標。 如何自動執行網路檢查、分析日誌或查詢 API?在平板電腦上使用 Termux 的優點在於,您可以利用任何空閒時間嘗試所有這些操作。

在 Termux 中尋找有用的 Python 專案創意

為了防止 Python 只專注於迴圈和條件語句,設計模擬真實世界場景的專案非常重要。在像 Termux 這樣的環境中, 基礎網路安全、自動化和資訊分析等領域尤其適合。.

一些有趣的練習方法包括:

  • 網路檢查腳本一個可以 ping 多個位址或檢查開放連接埠並記錄其是否可存取的程式。這使您可以練習子進程或套接字等模組,管理命令輸出,並在不導致腳本崩潰的情況下處理錯誤。
  • 簡易密碼檢查器該腳本接收密碼,檢查其長度、大小寫、數字和符號,並傳回一個分數。您可以新增正規表示式和儲存在 Termux 檔案中的常用單字清單。
  • 日誌檔案分析器這款工具可以讀取日誌(例如,來自 Termux 上某個服務的日誌),篩選出包含錯誤、警報或特定 IP 位址的行,並產生簡要摘要。這有助於您檢測事件並進行分析。
  • 輕量級網路爬蟲利用 requests 庫和 HTML 解析庫,您可以存取網頁、提取資料並將其儲存在文件中以供後續分析。這對於追蹤網站變更、收集公開資訊或訓練您識別潛在社會工程風險的能力非常有用。
  • 即時天氣追蹤器或加密貨幣此腳本會定期查詢公共 API,並將目前值顯示在終端或儲存以供比較。這有助於練習 HTTP 請求、JSON 處理、令牌認證和網路錯誤管理。

在所有這些項目中,真正強大的地方在於如何 您可以將 Python 與 Termux 已提供的 Linux 工具結合使用。您可以安排重複性任務、使用管道、將輸出重新導向到檔案等等。您的平板電腦將變成一個小型、理想的測試環境,幫助您將想法變成現實。

透過行動裝置同時學習 Python 與網路安全

之前的許多項目都適合引入真正的網路安全概念和最佳實踐。我們的目的不是把平板電腦變成不受控制的駭客玩具,而是… 了解您的腳本如何與網路、系統和敏感資料交互.

例如,在建立密碼檢查器時,您可以藉此機會談談… 安全策略、穩健性標準、金鑰輪換以及諸如 NIST CSF 或 NIS2 指令之類的框架這些規定在特定領域確立了具體的義務。即使你只是業餘愛好者,將你的腳本置於專業背景下也能幫助你拓展思維。

對於日誌分析器而言,您的工具可能會表現得像 小型事故偵測系統尋找異常模式、登入失敗嘗試或可疑行為。這與公司安全團隊的工作方式密切相關,在公司裡,持續監控和快速事件回應至關重要。

在使用爬蟲和 API 時,你也會遇到以下主題: 負責任地使用資訊、尊重服務條款和保護個人數據現在正是培養基本道德習慣的最佳時機:不要向服務發送過多請求,不要未經許可收集敏感數據,妥善保護腳本中使用的令牌和憑證等等。

如果您也對專業級流程自動化感興趣,Termux 和 Python 或許可以… 這是通往更複雜流程的入口,您可以將其遷移到 AWS 或 Azure 等雲端環境,或遷移到 Power BI 等商業智慧解決方案。你在平板電腦上學習到的腳本設計知識,以後可以擴展到業務流程中,改變基礎設施,但保持邏輯和最佳實踐。

開發環境的基本設定與改進技巧

Termux 開箱即用,效果相當不錯,但經過一些調整,您可以創建一個這樣的環境: 程式運行數小時而無需費力操作介面。第一步是選擇一個你用起來順手的編輯器:可以先從 nano 開始,或者如果你想要更強大、可擴展的編輯器,可以選擇 Vim/Neovim。

強烈建議定義一個 清晰的專案目錄結構。 例如:

  • $HOME/c_proyectos
  • $HOME/cpp_projects
  • $HOME/python_projects

每個資料夾內還包含每個項目的子資料夾。這有助於避免字體、執行檔和資料混雜,並讓你從一開始就養成井然有序的工作習慣。

如果你的腳本會涉及網路相關主題、API 或外部服務,那麼這樣做並無壞處。 在平板電腦上使用 Termux 時,請使用 VPN。尤其是在連接公共或不穩定的 Wi-Fi 網路時。同時,也請學習如何監控資料使用情況、喚醒鎖定以及… 自動開關 或者,節能模式也是一個優點。

在Python方面,要習慣… 應該寫入日誌並捕獲異常,而不是讓程式一有機會就崩潰。處理網路錯誤、不正確的資料格式或權限問題將迫使你設計更健壯的程式碼,如果你以後想把這些想法應用到生產系統中,這將是非常寶貴的。

記住,Termux 畢竟是… 一個微縮的真實 Linux 環境在這裡學到的關於命令、管道、重定向、權限和目錄結構的所有知識幾乎都可以原封不動地應用到伺服器、VPS 或虛擬機器上。你的平板電腦將成為鞏固這些知識的理想測驗平台。

在 Android 系統中將 Termux 和 Python 與 IDE 集成

一個相當常見的問題是:這是否可能? 在 Android 上的圖形化 IDE 中使用 Termux Python這與你在桌面端使用 Visual Studio Code 或 PyCharm 的操作類似。想法很棒,但實際上,Android 生態系統使得這種整合相當複雜。

有一些像 Pydroid 之類的應用程序,它們提供自己的解釋器和帶有圖形介面的開發環境。問題在於… 這些應用程式各自管理獨立的運作環境,不與 Termux 共享軟體包或配置。換句話說,雖然你可以在它們上面用 Python 編程,但它們運行的 Python 版本和使用的模組與 Termux 中的 Python 版本或模組並不相同。

如今,擁有以下選擇… 使用與 Termux Python 環境完全相同的全功能整合開發環境 (IDE) 非常有限。你可以透過在 Termux 中使用功能強大的編輯器(例如帶有插件的 Vim/Neovim)或在可以存取共享資料夾的外部編輯器中編輯文件,同時繼續從終端運行程式碼,來更接近這種體驗。

另一種方法是將平板電腦連接到計算機,並使用可透過 SSH 或 SFTP 與 Termux 通訊的桌面 IDE。在這種情況下, 平板電腦充當伺服器,PC 充當開發客戶端。這是一個非常便捷的工作流程,但這與僅使用行動裝置的想法相反。

僅就行動應用而言,最現實的現實是: Termux 是一個基於終端的程序,它的強大之處在於結合了優秀的編輯器、有用的別名、鍵盤快捷鍵和精心的配置。這足以讓你在平板電腦上學習和開發重要的 Python 專案了。

最後,只要一台配置一般的安卓平板電腦、Termux 和合適的工具,你就可以建立自己的工作環境了。 這裡是一個學習 C、C++ 和 Python、實踐 Linux、自動化任務、探索 API、日誌和網絡,以及開始接觸網路安全和雲端服務概念的絕佳工作環境。.

特穆克斯
相關文章:
Android 上的 Termux:掌握行動裝置上 Linux 的進階命令與技巧終極指南

只要堅持不懈,這個便攜式實驗室就能成為邁向更雄心勃勃的專案的第一步,然後你可以將這些專案部署到伺服器、業務應用程式或商業智慧解決方案上,並保持同樣的思路:透過簡單的命令列進行實驗、自動化和建構有用的工具。 分享訊息,讓更多用戶了解主題。