iLinux

URL Scheme Reference URL Scheme 深度链接文档 URL Scheme 深度連結文件

iLinux supports ilinux:// (also written iLinux://) URL scheme deep links — open command detail, the Daily Quiz, Favourites or the Wrong Answer Book from Safari, another app, a QR code, a Home Screen widget tap, or Apple Shortcuts.

A parallel set of Home Screen Quick Actions (long-press the app icon) covers additional destinations such as Search, Categories, Feedback and Rate.

Important: iLinux is a reference and learning app. URL links only navigate inside the app. They do not execute Linux commands, open SSH sessions or connect to remote servers.

Protocol Specification

ilinux://<host>[/<path>][?query]
iLinux://<host>[/<path>][?query]   ← same scheme, case-insensitive
Rule Detail
Scheme ilinux / iLinux — compared case-insensitively
Host routing Primary router is the URL host; some paths also accepted (see below)
Command detail Host command or path /command
Command ID Query name=<id> or cmd=<id> — must match a bundled command key (e.g. ls, grep, kubectl)
Quiz Host quiz or path /quiz
Favourites Host favorites or path /favorites
Wrong book Host wrong, mistakes, or wrongquestions; path /wrong or /mistakes also accepted
Wrong record Query record=<UUID> on a wrong-book URL — opens that record’s command detail
Query parameters No other pre-fill parameters are supported
Parser ILinuxDeepLink.parse(_:) — consumed via onOpenURLAppRouter.pendingDeepLink

Two delivery channels

Channel Handled by Examples
Universal deep link (onOpenURL) ILinuxDeepLink.parseRootTabView command, quiz, favorites, wrong
Home Screen Quick Action ShortcutSceneDelegateShortcutObserver.dispatch search, categories, feedback, review, plus overlapping quiz / favorites / wrong

Quick-action types use contains matching on the type string, so both iLinux://search and legacy variants still route correctly.


1. Command Detail

Open the detail page for a single bundled command.

Parameter Required Description
name One of name / cmd Command ID (dictionary key in iLinux-<lang>.json)
cmd One of name / cmd Synonym for name — used by widget links

Behaviour

  • Switches to the Commands tab and pushes CommandDetailView for the resolved command.
  • If the ID is unknown or empty, the link is silently ignored (no error UI).
  • Command IDs are case-sensitive and must match the bundled JSON key exactly (typically lowercase, e.g. docker, not Docker).

Open ls

ilinux://command?name=ls

Open grep (alternate parameter)

ilinux://command?cmd=grep

Path-style host (also accepted)

ilinux://command/cmd=kubectl

Cloud-native example

ilinux://command?name=docker

2. Daily Quiz

Jump directly to the Daily Quiz tab. Does not auto-start or skip questions.

ilinux://quiz

Path form (also accepted):

ilinux:///quiz

3. Favourites

Open the Favourites list under Settings navigation.

ilinux://favorites

Path form (also accepted):

ilinux:///favorites

4. Wrong Answer Book

4.1 List

Open the Wrong Answer Book list under Settings navigation.

ilinux://wrong

Aliases (same behaviour):

ilinux://mistakes
ilinux://wrongquestions

4.2 Single record → command detail

When record is a valid UUID of a saved wrong-answer entry, the app opens the Commands tab and pushes detail for that record’s command (if the record and command still exist).

Parameter Required Format
record Yes UUID string, e.g. 550e8400-e29b-41d4-a716-446655440000
ilinux://wrong?record=550e8400-e29b-41d4-a716-446655440000

If the UUID is invalid or the record was deleted, navigation falls back to the wrong-book list or is skipped.


5. Home Screen Quick Actions

Long-press the iLinux icon → up to 4 actions. Configure in Settings → Home Screen Shortcuts (7 options, drag to reorder, reset to defaults).

Option Registered type SF Symbol Opens
Search iLinux://search magnifyingglass Commands tab + activate search bar
Daily Quiz iLinux://quiz checklist Daily Quiz tab
Favourites iLinux://favorites star.fill Favourites list
Wrong Answer Book iLinux://wrong xmark.bin.fill Wrong Answer Book list
Categories iLinux://categories rectangle.grid.2x2.fill Categories tab
Send Feedback iLinux://feedback envelope.fill In-app mail compose (or mailto: fallback)
Rate App iLinux://review star.bubble.fill StoreKit review prompt

Default selection on first install: Search · Daily Quiz · Favourites · Send Feedback.

Quick-action-only destinations (not handled by ILinuxDeepLink.parse / onOpenURL):

  • iLinux://search
  • iLinux://categories
  • iLinux://feedback
  • iLinux://review

Use these via long-press icon or by posting the same type through the Quick Action pipeline — opening them with Shortcuts Open URL may not work unless the app adds explicit host parsing later.

Legacy type (still routed):

Type Behaviour
iLinux://love Opens author blog in in-app Safari sheet (old static shortcut)

Widget taps use the same iLinux:// URLs built by WidgetDeepLink:

Widget Tap target URL
Daily Command Command detail iLinux://command?cmd=<id>
Category Spotlight Sample command iLinux://command?cmd=<id>
Quiz Glance Daily Quiz iLinux://quiz
Favourites Glance Favourites (or per-row command) iLinux://favorites / iLinux://command?cmd=<id>
Wrong Book Glance Wrong book (or per-row record) iLinux://wrong / iLinux://wrong?record=<UUID>

The Daily Command shuffle button (iOS 17+, App Intent) reloads the widget timeline only — it does not use a URL.


Apple Shortcuts

Open a command after copying its name

  1. Get Text from Input
  2. Open URLsilinux://command?name= + Text

Or hard-code:

ilinux://command?name=systemctl

Daily study reminder → quiz

ilinux://quiz

Add Open URLs in a Personal Automation (e.g. every weekday at 9:00).

Review wrong answers

ilinux://wrong

Open favourites from a Focus mode shortcut

ilinux://favorites

Launch Behaviour

When the app receives a URL or Quick Action:

Scenario Flow
Cold start — Quick Action ShortcutSceneDelegate.scene(_:willConnectTo:)PendingShortcutBufferShortcutObserver.onAppeardispatch(type:)
Warm start — Quick Action windowScene(_:performActionFor:).appShortcutTriggered notification → dispatch(type:)
Cold start — onOpenURL AppRouter.handleIncomingURLpendingDeepLinkRootTabView.onChange navigates
Feedback / Rate (cold start) deferSheetWork delays ~0.4 s so mail sheet / StoreKit has an active window scene
Search quick action openSearchTab()searchPulse += 1BrowseCommandsView presents search (iOS 17+: auto-focus via isPresented)
Unknown command ID Deep link parsed but navigation skipped — no alert

Keyboard Shortcuts (iPad)

Hardware keyboard shortcuts mirror some quick actions (no URL involved):

Shortcut Action
⌘F Commands tab + search (same intent as Search quick action)
⌘1 Commands tab
⌘2 Categories tab
⌘3 Daily Quiz tab
⌘4 Settings tab

Unsupported & Invalid URLs

URL Result
ilinux://command (no name / cmd) Ignored
ilinux://command?name=NotARealCmd Ignored (ID not in library)
ilinux://search via Shortcuts Open URL Not parsed by ILinuxDeepLink — use Quick Action instead
ilinux://categories via Shortcuts Open URL Same as above
ilinux://feedback / ilinux://review via Open URL Same as above
Non-ilinux schemes Ignored

Troubleshooting

Shortcut opens the app but nothing happens (cold launch)

Feedback, Rate and mail sheets need ~0.4 s after launch. Try again from inside the app, or wait a moment on cold start.

Search quick action doesn’t focus the search field (iOS 16)

Auto-focus requires iOS 17+. On iOS 16 the Commands tab still opens; tap the search field manually.

Widget tap doesn’t open the expected command

Ensure the command still exists in your installed app version. Widget links use cmd= and require an exact command ID.

Quick-action titles are in the wrong language

Change language in Settings → Language — the app re-registers shortcut items automatically.

Deep link works on device but not from a web page

Confirm the link uses scheme ilinux:// and is opened by the system (tap in Notes/Messages), not blocked by an in-app browser that strips custom schemes.


Back to iLinux Support · FAQ · Privacy Policy

爱 Linux 支持 ilinux://(亦可写作 iLinux://)URL Scheme 深度链接——从 Safari、其它应用、二维码、主屏小组件点击或苹果快捷指令,打开命令详情、每日测验、收藏或错题本。

另有一套 主屏快捷方式(长按应用图标),提供搜索、分类、反馈、评分等额外入口。

重要: 爱 Linux 是命令参考与学习应用。链接仅用于应用内导航不会执行 Linux 命令、建立 SSH 或连接远程服务器。

协议规范

ilinux://<host>[/<path>][?query]
iLinux://<host>[/<path>][?query]   ← 同一 Scheme,不区分大小写
规则 说明
Scheme ilinux / iLinux — 比较时不区分大小写
Host 路由 以 URL host 为主;部分 path 形式亦支持
命令详情 Host 为 command path 为 /command
命令 ID 查询参数 name=<id> cmd=<id> — 须与内置 JSON 键一致(如 lsgrepkubectl
测验 Host quiz path /quiz
收藏 Host favorites path /favorites
错题本 Host wrongmistakeswrongquestions;path /wrong/mistakes 亦可
错题记录 错题 URL 加 record=<UUID> — 打开该记录对应命令详情
其它参数 不支持预填或额外参数
解析器 ILinuxDeepLink.parse(_:) — 经 onOpenURLAppRouter.pendingDeepLink 消费

两种投递通道

通道 处理方 示例
通用深度链接onOpenURL ILinuxDeepLink.parseRootTabView commandquizfavoriteswrong
主屏快捷方式 ShortcutSceneDelegateShortcutObserver.dispatch searchcategoriesfeedbackreview,以及重叠的 quiz / favorites / wrong

快捷方式 type 使用 contains 宽松匹配,兼容 iLinux://search 及历史变体。


1. 命令详情

打开单条内置命令的详情页。

参数 必填 说明
name name / cmd 二选一 命令 ID(iLinux-<语言>.json 字典键)
cmd name / cmd 二选一 name 同义 — 小组件链接使用此键

行为

  • 切到命令标签并 push CommandDetailView
  • ID 不存在或为空时链接静默忽略(无错误提示)。
  • 命令 ID 区分大小写,须与 JSON 键完全一致(通常小写,如 docker 而非 Docker)。

打开 ls

ilinux://command?name=ls

打开 grep(备用参数名)

ilinux://command?cmd=grep

云原生示例

ilinux://command?name=docker

2. 每日测验

直接跳转到每日测验标签。不会自动开始或跳过题目。

ilinux://quiz

3. 收藏

打开设置导航下的收藏列表。

ilinux://favorites

4. 错题本

4.1 列表

ilinux://wrong

等效别名:

ilinux://mistakes
ilinux://wrongquestions

4.2 单条记录 → 命令详情

record 为有效 UUID 时,打开该错题对应命令的详情(记录与命令仍存在时)。

ilinux://wrong?record=550e8400-e29b-41d4-a716-446655440000

UUID 无效或记录已删除时,回退到错题列表或跳过导航。


5. 主屏快捷方式

长按 iLinux 图标 → 最多 4 项。在 设置 → 主屏快捷方式 配置(7 项可选、可排序、可恢复默认)。

选项 注册 type 图标 打开
搜索 iLinux://search magnifyingglass 命令页 + 激活搜索栏
每日测验 iLinux://quiz checklist 每日测验标签
收藏 iLinux://favorites star.fill 收藏列表
错题本 iLinux://wrong xmark.bin.fill 错题本列表
分类 iLinux://categories rectangle.grid.2x2.fill 分类标签
发送反馈 iLinux://feedback envelope.fill 应用内邮件(或 mailto: 回退)
评分 iLinux://review star.bubble.fill StoreKit 评分

首次安装默认: 搜索 · 每日测验 · 收藏 · 发送反馈。

仅快捷方式通道ILinuxDeepLink.parse / onOpenURL 不处理):

  • iLinux://search
  • iLinux://categories
  • iLinux://feedback
  • iLinux://review

请通过长按图标触发;在快捷指令中用 打开 URL 打开上述地址可能无效

遗留 type(仍路由):

Type 行为
iLinux://love 应用内 Safari 打开作者博客(旧版静态快捷项)

6. 小组件深度链接

小组件点击使用 WidgetDeepLink 构建的相同 URL:

小组件 点击目标 URL
每日命令 命令详情 iLinux://command?cmd=<id>
分类聚焦 示例命令 iLinux://command?cmd=<id>
测验一览 每日测验 iLinux://quiz
收藏速览 收藏 / 单行命令 iLinux://favorites / iLinux://command?cmd=<id>
错题速览 错题本 / 单行记录 iLinux://wrong / iLinux://wrong?record=<UUID>

每日命令随机刷新按钮(iOS 17+ App Intent)仅刷新时间线,不使用 URL


苹果快捷指令

打开指定命令

ilinux://command?name=systemctl

每日提醒 → 做测验

ilinux://quiz

在个人自动化(如工作日 9:00)中添加 打开 URL

复习错题

ilinux://wrong

打开收藏

ilinux://favorites

启动行为

场景 流程
冷启动 — 快捷方式 ShortcutSceneDelegatePendingShortcutBufferShortcutObserver.onAppeardispatch
热启动 — 快捷方式 Scene 回调 → 通知 → dispatch
冷启动 — onOpenURL handleIncomingURLpendingDeepLinkRootTabView 导航
反馈/评分(冷启动) 延迟 约 0.4 秒,等待 sheet / StoreKit 就绪
搜索快捷方式 searchPulse → 展开搜索栏(iOS 17+ 自动聚焦)
未知命令 ID 解析成功但跳过导航 — 无弹窗

键盘快捷键(iPad)

快捷键 动作
⌘F 命令页 + 搜索
⌘1 – ⌘4 命令 / 分类 / 测验 / 设置

不支持与无效 URL

URL 结果
ilinux://command(无 name/cmd 忽略
ilinux://command?name=NotARealCmd 忽略
ilinux://search 经快捷指令打开 ILinuxDeepLink 解析
ilinux://categories / feedback / review 同上 请用主屏快捷方式
ilinux Scheme 忽略

故障排查

冷启动点快捷方式没反应

反馈、评分、邮件需启动后约 0.4 秒。可进应用后再试,或稍等片刻。

搜索快捷方式在 iOS 16 不自动聚焦

iOS 17+ 才支持 searchableisPresented。iOS 16 仍会打开命令页,需手动点搜索框。

小组件点击未打开预期命令

确认命令 ID 与当前版本内置库一致;小组件使用 cmd= 且 ID 须完全匹配。

快捷方式标题语言不对

设置 → 语言 切换 — 应用会自动重新注册快捷项。

网页里点链接无效

确认使用 ilinux://,且由系统打开(备忘录/信息),而非被内置浏览器拦截自定义 Scheme。


返回爱 Linux 支持页 · 常见问题 · 隐私政策

愛 Linux 支援 ilinux://(亦可寫作 iLinux://)URL Scheme 深度連結——從 Safari、其它應用、QR Code、主畫面小工具點擊或 Apple 捷徑,開啟指令詳情、每日測驗、收藏或錯題本。

另有一套 主畫面捷徑(長按應用圖示),提供搜尋、分類、回饋、評分等額外入口。

重要: 愛 Linux 是指令參考與學習應用。連結僅用於應用內導覽不會執行 Linux 指令、建立 SSH 或連接遠端伺服器。

協定規範

ilinux://<host>[/<path>][?query]
iLinux://<host>[/<path>][?query]   ← 同一 Scheme,不分大小寫
規則 說明
Scheme ilinux / iLinux — 比較時不分大小寫
Host 路由 以 URL host 為主;部分 path 形式亦支援
指令詳情 Host 為 command path 為 /command
指令 ID 查詢參數 name=<id> cmd=<id> — 須與內建 JSON 鍵一致(如 lsgrepkubectl
測驗 Host quiz path /quiz
收藏 Host favorites path /favorites
錯題本 Host wrongmistakeswrongquestions;path /wrong/mistakes 亦可
錯題紀錄 錯題 URL 加 record=<UUID> — 開啟該紀錄對應指令詳情
其它參數 不支援預填或額外參數
解析器 ILinuxDeepLink.parse(_:) — 經 onOpenURLAppRouter.pendingDeepLink 消費

兩種投遞通道

通道 處理方 範例
通用深度連結onOpenURL ILinuxDeepLink.parseRootTabView commandquizfavoriteswrong
主畫面捷徑 ShortcutSceneDelegateShortcutObserver.dispatch searchcategoriesfeedbackreview,以及重疊的 quiz / favorites / wrong

捷徑 type 使用 contains 寬鬆匹配,相容 iLinux://search 及歷史變體。


1. 指令詳情

開啟單條內建指令的詳情頁。

參數 必填 說明
name name / cmd 二選一 指令 ID(iLinux-<語言>.json 字典鍵)
cmd name / cmd 二選一 name 同義 — 小工具連結使用此鍵

行為

  • 切到指令標籤並 push CommandDetailView
  • ID 不存在或為空時連結靜默忽略(無錯誤提示)。
  • 指令 ID 區分大小寫,須與 JSON 鍵完全一致(通常小寫,如 docker 而非 Docker)。

開啟 ls

ilinux://command?name=ls

開啟 grep(備用參數名)

ilinux://command?cmd=grep

雲原生範例

ilinux://command?name=docker

2. 每日測驗

直接跳轉到每日測驗標籤。不會自動開始或跳過題目。

ilinux://quiz

3. 收藏

開啟設定導覽下的收藏列表。

ilinux://favorites

4. 錯題本

4.1 列表

ilinux://wrong

等效別名:

ilinux://mistakes
ilinux://wrongquestions

4.2 單條紀錄 → 指令詳情

record 為有效 UUID 時,開啟該錯題對應指令的詳情(紀錄與指令仍存在時)。

ilinux://wrong?record=550e8400-e29b-41d4-a716-446655440000

UUID 無效或紀錄已刪除時,回退到錯題列表或跳過導覽。


5. 主畫面捷徑

長按 iLinux 圖示 → 最多 4 項。在 設定 → 主畫面捷徑 設定(7 項可選、可排序、可恢復預設)。

選項 註冊 type 圖示 開啟
搜尋 iLinux://search magnifyingglass 指令頁 + 啟動搜尋列
每日測驗 iLinux://quiz checklist 每日測驗標籤
收藏 iLinux://favorites star.fill 收藏列表
錯題本 iLinux://wrong xmark.bin.fill 錯題本列表
分類 iLinux://categories rectangle.grid.2x2.fill 分類標籤
傳送回饋 iLinux://feedback envelope.fill 應用內郵件(或 mailto: 回退)
評分 iLinux://review star.bubble.fill StoreKit 評分

首次安裝預設: 搜尋 · 每日測驗 · 收藏 · 傳送回饋。

僅捷徑通道ILinuxDeepLink.parse / onOpenURL 不處理):

  • iLinux://search
  • iLinux://categories
  • iLinux://feedback
  • iLinux://review

請透過長按圖示觸發;在捷徑中用 開啟 URL 開啟上述位址可能無效

遺留 type(仍路由):

Type 行為
iLinux://love 應用內 Safari 開啟作者部落格(舊版靜態捷徑)

6. 小工具深度連結

小工具點擊使用 WidgetDeepLink 建構的相同 URL:

小工具 點擊目標 URL
每日指令 指令詳情 iLinux://command?cmd=<id>
分類焦點 範例指令 iLinux://command?cmd=<id>
測驗一覽 每日測驗 iLinux://quiz
收藏速覽 收藏 / 單列指令 iLinux://favorites / iLinux://command?cmd=<id>
錯題速覽 錯題本 / 單列紀錄 iLinux://wrong / iLinux://wrong?record=<UUID>

每日指令隨機刷新按鈕(iOS 17+ App Intent)僅重新整理時間軸,不使用 URL


Apple 捷徑

開啟指定指令

ilinux://command?name=systemctl

每日提醒 → 做測驗

ilinux://quiz

在個人自動化(如平日 9:00)中新增 開啟 URL

複習錯題

ilinux://wrong

開啟收藏

ilinux://favorites

啟動行為

場景 流程
冷啟動 — 捷徑 ShortcutSceneDelegatePendingShortcutBufferShortcutObserver.onAppeardispatch
熱啟動 — 捷徑 Scene 回呼 → 通知 → dispatch
冷啟動 — onOpenURL handleIncomingURLpendingDeepLinkRootTabView 導覽
回饋/評分(冷啟動) 延遲 約 0.4 秒,等待 sheet / StoreKit 就緒
搜尋捷徑 searchPulse → 展開搜尋列(iOS 17+ 自動聚焦)
未知指令 ID 解析成功但跳過導覽 — 無彈窗

鍵盤快捷鍵(iPad)

快捷鍵 動作
⌘F 指令頁 + 搜尋
⌘1 – ⌘4 指令 / 分類 / 測驗 / 設定

不支援與無效 URL

URL 結果
ilinux://command(無 name/cmd 忽略
ilinux://command?name=NotARealCmd 忽略
ilinux://search 經捷徑開啟 ILinuxDeepLink 解析
ilinux://categories / feedback / review 同上 請用主畫面捷徑
ilinux Scheme 忽略

故障排查

冷啟動點捷徑沒反應

回饋、評分、郵件需啟動後約 0.4 秒。可進應用後再試,或稍等片刻。

搜尋捷徑在 iOS 16 不自動聚焦

iOS 17+ 才支援 searchableisPresented。iOS 16 仍會開啟指令頁,需手動點搜尋框。

小工具點擊未開啟預期指令

確認指令 ID 與目前版本內建庫一致;小工具使用 cmd= 且 ID 須完全匹配。

捷徑標題語言不對

設定 → 語言 切換 — 應用會自動重新註冊捷徑項。

網頁裡點連結無效

確認使用 ilinux://,且由系統開啟(備忘錄/訊息),而非被內建瀏覽器攔截自訂 Scheme。


返回愛 Linux 支援頁 · 常見問題 · 隱私政策