TurboShell
TurboShell:您 QNAP 上的完整命令列
Shell、封存工具、編輯器與程式語言,從 App Center 安裝一次即可。
TurboShell 為 NAS 的 SSH 登入加入命令列工具:zsh 和 fish、tmux、Midnight Commander、7-Zip、Perl、Python、Free Pascal 等。
每個程式都以 Bucket & Code Server IDE 從原始碼編譯。您可以直接安裝套件,也可以修改配方清單,建置自己的版本。
command -v rsync
/usr/app/TurboShell/first/rsync
rsync --version | head -1
rsync version 3.5.1 protocol version 33
tar --version | head -1
tar (GNU tar) 1.35
git --version
git version 2.55.0
python3 --version
Python 3.14.7
tmux -V
tmux 3.7c
內含項目
配方清單列出這些程式,建置時會加入它們需要的函式庫。光是封存與壓縮工具就有 16 個配方。
Shell
- bash
- GNU Bourne-Again Shell
- zsh
- Z shell,含模組
- fish
- friendly interactive shell
- mksh
- MirBSD 的 Korn shell
- ksh
- ksh 93u+m,AT&T 的 Korn shell
- bash-completion
- bash 的 Tab 補全
GNU 工具
- coreutils
- ls、cp、sort、sha256sum 等
- binutils
- as, ld, objdump, readelf, nm, strip
- findutils
- find, xargs, locate
- diffutils
- diff, diff3, sdiff, cmp
- grep
- 含 -P,支援 Perl 樣式
- sed
- 串流編輯器
- gawk
- GNU awk
- bc
- bc 和 dc,任意精度計算機
- less
- 分頁器
- file
- 判斷檔案類型
- tree
- 以樹狀顯示資料夾
- util-linux
- lsblk, lscpu, findmnt, blkid, column, flock, script, whereis, rev
- make
- GNU make
- patch
- GNU patch
- man
- mandoc:閱讀套件的手冊頁
封存與壓縮工具
- tar
- GNU tar
- gzip
- GNU gzip
- bzip2
- 區塊排序壓縮器
- xz
- LZMA2,含 xzcat 和 unxz
- zstd
- Zstandard
- lz4
- 快速 LZ4 壓縮
- lzip
- 具完整性檢查格式的 LZMA
- lzop
- 快速 LZO 壓縮
- pigz
- 在所有處理器核心上執行的 gzip
- brotli
- Brotli 壓縮器
- 7zz
- 所有 7-Zip 格式,也可用 7z 和 7za 執行
- bsdtar
- libarchive:tar、zip、7z、rar、cab 和 iso,含 bsdcpio 和 bsdunzip
- unrar-free
- 透過 libarchive 處理 RAR
- unrar
- RARLAB 的 UnRAR,支援所有 RAR 格式
- cpio
- GNU cpio
- cabextract
- Microsoft .cab 檔案
網路、遠端工作與版本控制
- curl
- 支援 TLS 的 URL 傳輸
- wget
- GNU wget
- rsync
- 檔案同步
- lftp
- 支援鏡像與佇列的 FTP、FTPS、SFTP 和 HTTP 用戶端
- socat
- 在檔案、管道、通訊端和 TLS 之間轉送位元組
- whois
- 查詢網域、IP 位址或 AS 編號
- openssh
- ssh, scp, sftp, ssh-keygen, ssh-copy-id, ssh-agent
- sshpass
- 為指令碼向 ssh 輸入密碼
- autossh
- 連線或通道中斷時重新啟動 ssh
- sshfs
- 透過 SSH 掛載另一台電腦的資料夾
- git
- 版本控制
指令碼與檔案
- jq
- 在命令列處理 JSON
- dos2unix
- 轉換換行符號和 UTF-16 文字檔
- rename
- 以 Perl 運算式重新命名檔案
- parallel
- GNU parallel:平行執行 Shell 工作
- dialog
- 供指令碼使用的文字對話方塊
- par2
- 建立 PAR2 修復檔並用其修復
- fzf
- 檔案與歷史記錄的互動式模糊搜尋
- rg
- ripgrep:在資料夾中搜尋規則運算式
- fd
- 依名稱尋找檔案
- micro
- 使用常見按鍵的終端機編輯器
- restic
- 加密且去重複的備份
救援與硬體報告
- ddrescue
- 複製故障的磁碟並記錄損壞區域
- testdisk
- TestDisk 和 PhotoRec:尋找遺失的分割區,救回已刪除的檔案
- inxi
- 以一個指令摘要硬體與系統
終端機、檔案與編輯器
- tmux
- 連線中斷後仍存在的窗格與工作階段
- screen
- GNU Screen
- mc
- Midnight Commander,含 mcedit 和 mcview
- nano
- GNU 編輯器
- vim
- 含用於十六進位傾印的 xxd
- hexedit
- 十六進位與 ASCII 並排顯示
- bvi
- 以 vi 命令編輯二進位檔,含 bmore
- Nerd Font
- 含 Powerline 與圖示字符的 DejaVu Sans Mono
程式語言
- perl
- 含核心模組
- python3
- 含 pip 與標準函式庫
- lua
- 含編譯器 luac
- fpc
- Free Pascal,含執行階段函式庫與套件
- bwbasic
- Bywater BASIC
- yabasic
- yet another BASIC
實際畫面
安裝 App Center 套件的 QNAP NAS 實際畫面。
適合對象
您透過 SSH 在 NAS 上工作
選擇 zsh 或 fish 作為 Shell,把長時間的工作放在 tmux 中,連線中斷後它們會繼續執行。
您手動整理和解壓縮檔案
Midnight Commander 在終端機中提供兩個面板。7zz、unrar 和 bsdtar 可解壓縮 7z、RAR、ISO 和 CAB 檔案。
您撰寫小型指令碼和程式
Perl、Python 3、Lua、Free Pascal 和兩種 BASIC 直接在 NAS 上執行,各自以名稱呼叫。
安裝
- 將本站儲存庫新增至 App Center 一次:三個步驟。
- 在儲存庫清單中找到 (example) TurboShell,然後按 安裝。
- 在 控制台 › 網路&檔案服務 › Telnet / SSH 中開啟 SSH。
啟動
TurboShell 沒有自己的視窗,要從終端機使用。以 admin 透過 SSH 登入,再以名稱呼叫程式。
ssh admin@192.0.2.10 # 您的 NAS 位址 mc # Midnight Commander tmux # 連線中斷後仍存在的工作階段
須知
- 在您輸入指令的 Shell 中,套件的 rsync、bash、tar、jq、python3、vim、less、grep、find、sort、dd 和 diff 會先於 QTS 的版本執行,因為 QTS 的版本不接受
tar --zstd、sort -h和grep -P這類日常選項。 - QTS 也有的其他名稱仍使用 QTS 的版本,例如 sed、awk、curl、ssh 和 screen。若要使用套件的版本,請輸入完整路徑:
/usr/app/TurboShell/bin/sed。 - 指令碼、cron 和直接交給 ssh 的指令使用 QTS 的指令。從另一台電腦請指定程式:
rsync --rsync-path=/usr/app/TurboShell/bin/rsync。 - 在 QNAP NAS 上,
nc是 QNAP 的 Notification Center 工具。請使用socat或 SysMon 的ncat。 - UnRAR 是免費軟體,不是開放原始碼軟體。它的授權允許您使用和轉發,但不允許使用其程式碼製作與 RAR 相容的封存工具。
隨時修改,重新建置
TurboShell 是 Bucket & Code Server IDE 的範例,這是我們為 QNAP 提供的免費開發環境。它會在您自己的 NAS 上從原始碼編譯每個程式,並將結果打包成 QPKG。
從面板操作
- 在 Bucket & Code 中開啟 應用程式,再開啟 範例 分頁。如果還沒有 Builder 環境,請新增 Ubuntu 24.04 builder (full)。
- 在 TurboShell (geek set 1) 上按 使用此範例。應用程式會連同配方一起出現,但尚未建置任何內容。
- 按 建置,再按 啟用。安裝 QDK 工具鏈後,匯出 就能產生 QPKG。
從終端機操作
編輯器專案 TurboShell 在 recipes.txt 中保存相同的清單。刪除一行或從配方庫新增配方,然後在編輯器終端機中執行:
make app # 從 recipes.txt 製作應用程式 make build # 建置並追蹤工作 make activate # /usr/app/TurboShell 現在指向此建置 make qpkg # 匯出 QPKG (需要 QDK 工具鏈)
第一次建置會編譯每個配方及其函式庫,需要一段時間。之後的 make build 只會重新建置原始碼或建置指令碼有變更的配方。專案還有 Powerline 風格的 tmux 狀態列:make dotfiles 會將它複製到您的家目錄,make font 會複製 Nerd Font 供您的電腦使用。
觀看在 Bucket & Code 中的操作
Compile Any App You Need Without Linux Skills: Build QPKG & Deploy Easily (Freeware)
YouTube 影片 8 分鐘

