Unofficial

TurboShell

TurboShell:您 QNAP 上的完整命令列

Shell、封存工具、編輯器與程式語言,從 App Center 安裝一次即可。

TurboShell 為 NAS 的 SSH 登入加入命令列工具:zsh 和 fish、tmux、Midnight Commander、7-Zip、Perl、Python、Free Pascal 等。

每個程式都以 Bucket & Code Server IDE 從原始碼編譯。您可以直接安裝套件,也可以修改配方清單,建置自己的版本。

App Center 中:(example) TurboShell · Intel 和 AMD (x86_64) · QTS 6.0 或 QuTS hero 6.0 以上版本 · freeware

NAS 上的 SSH 登入

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 實際畫面。

Midnight Commander:兩個藍色檔案面板,顯示 /usr/app/TurboShell 及其 first 資料夾
Midnight Commander 的兩個面板顯示套件自己的資料夾。
hexedit:以十六進位與 ASCII 顯示檔案 7zz 的開頭
在 hexedit 中開啟程式 7zz。

適合對象

您透過 SSH 在 NAS 上工作

選擇 zsh 或 fish 作為 Shell,把長時間的工作放在 tmux 中,連線中斷後它們會繼續執行。

您手動整理和解壓縮檔案

Midnight Commander 在終端機中提供兩個面板。7zz、unrar 和 bsdtar 可解壓縮 7z、RAR、ISO 和 CAB 檔案。

您撰寫小型指令碼和程式

Perl、Python 3、Lua、Free Pascal 和兩種 BASIC 直接在 NAS 上執行,各自以名稱呼叫。

安裝

  1. 將本站儲存庫新增至 App Center 一次:三個步驟。
  2. 在儲存庫清單中找到 (example) TurboShell,然後按 安裝。
  3. 在 控制台 › 網路&檔案服務 › 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。

從面板操作

  1. 在 Bucket & Code 中開啟 應用程式,再開啟 範例 分頁。如果還沒有 Builder 環境,請新增 Ubuntu 24.04 builder (full)。
  2. 在 TurboShell (geek set 1) 上按 使用此範例。應用程式會連同配方一起出現,但尚未建置任何內容。
  3. 按 建置,再按 啟用。安裝 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 App Builder 的新應用程式頁面 觀看在 Bucket & Code 中的操作 Compile Any App You Need Without Linux Skills: Build QPKG & Deploy Easily (Freeware) YouTube 影片 8 分鐘

相關頁面