jaywcjlove/linux-command

Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集。https://git.io/linux

36,441
Stars
over 9 years
Age
0
Published reviews
0
Questions

Reliability breakdown

What drives the reliability score

Component scores measured daily from GitHub activity (2026-07-15).

Continuity30% of headline34

Activity on 5 of 90 tracked days in the last 90 and 0 of 30 in the last 30.

Closure30% of headline82

Merged 4 of 6 PRs opened and closed 1 of 1 issues opened over the last 90 tracked days — PR flow carries 55% of this component, issue flow 45%.

Shipping20% of headline4

1 releases in the last 180 days, 0 in the last 90 and 0 in the last 30 — a steady cadence scores highest.

Liveness10% of headline100

Last push 6 days ago — freshness decays as pushes age (roughly halves every 83 days without a push).

Support burden10% of headline96

73 open issues against 36,441 stars — about 2 open issues per 1,000 stars. Lighter backlogs score higher.

Adoption confidence80

Modeled — how confidently teams are adopting this repo. Stargazers

Maintenance quality57

Modeled from PR/issue responsiveness and upkeep signals. Activity pulse

Risk score17

Modeled — lower is better; adoption and continuity risk. Repository

Stays active (30d)26%

Modeled chance the repo stays active over 30 days. Activity pulse

Stays active (90d)55%

Modeled chance the repo stays active over 90 days. Activity pulse

Release rhythm (180d)4

Regularity of releases over the last 180 days. Releases

Maintainer bus risk (90d)61%

Modeled — lower is better; concentration of commits in few maintainers. Contributors graph

Topics

Explore related topics

Jump into the topic listings this repository belongs to.

Project Overview

linux-command is a Chinese-language Linux command encyclopedia and self-hostable search tool. The repository bundles over 580 Linux command pages — each with syntax breakdowns, option tables, curated usage examples, and explanatory notes in Simplified Chinese — alongside a static web app that compiles those pages into a searchable interface you can deploy anywhere.

The project is actively maintained (as of 2026-06-13) and carries over 36,000 stars, making it one of the most-starred Chinese-language developer reference repositories on GitHub. If you're building tools or portals for Chinese-speaking engineers, this is the most comprehensive offline Linux reference available. If your team works in English, this is the wrong tool — the content is entirely in Simplified Chinese with no English translation layer.

Key Challenges Addressed

Standard man pages are precise but dense. man grep gives you every flag, but it doesn't show you which combinations matter in practice or what a real invocation looks like for common tasks. For Chinese-speaking developers, the difficulty compounds: most English-language tooling assumes fluent reading of POSIX documentation.

linux-command addresses this with specific mechanisms:

  • Curated examples per command: Each page shows practical flag combinations with realistic inputs, not isolated syntax fragments lifted from the spec.

  • Plain-Chinese explanations: Option descriptions use natural Mandarin rather than translating POSIX terse wording verbatim, which reduces the cognitive load of cross-referencing an English man page.

  • Searchable static build: The build pipeline compiles all pages to a self-contained static site. No server runtime. No database. Deploy it on Nginx, S3, or GitHub Pages with a single build step.

  • Offline fallback: The content is plain Markdown. When you don't have the web UI running, grep -r "option" command/ through the repository gets you the information without any tooling dependency.

Getting Started

Clone the repository and browse content immediately:

git clone https://github.com/jaywcjlove/linux-command.git
cd linux-command/command
cat grep.md

Each .md file in command/ corresponds to one Linux command. Open any file in a Markdown reader to see the formatted reference page with examples and option tables.

To build and run the web UI locally:

npm install
npm run build
npm start

Open http://localhost:3000. The search box accepts command names or Chinese-language keywords.

Sharp edges to handle before you commit to a deployment:

  • If you're on Node < 14, npm run build fails silently without a clear error message — run node -v first and upgrade if needed.

  • The search index is generated at build time from the Markdown files. Edit a command page and nothing changes in the UI until you run npm run build again — there is no hot-reload.

  • The demo URL linked from the project page is not pinned to a specific commit. If you reference it in internal documentation, the content can shift under you. Pin a commit and self-host the build output instead.

Features and Use Cases

Cross-keyword search in Chinese

The web UI supports Mandarin-language keyword search across all command descriptions. Typing "文件" (file) surfaces commands across ls, find, cp, stat, and mv in a unified results view. This kind of Chinese-language concept-to-command discovery isn't something man -k handles for Mandarin speakers.

Static site deployment for internal portals

The build output is a fully self-contained directory — HTML, CSS, JavaScript, and the JSON search index. Drop it behind Nginx, push it to an S3 bucket, or serve it from GitHub Pages without configuring a backend process. This works in air-gapped environments where you can't call external services, which is a common constraint in enterprise and government infrastructure settings.

Raw Markdown as machine-readable input

Each command page follows a consistent structure: description, syntax block, option table, examples, notes. That consistency means you can script against the raw files — pull option tables into a custom tooling dashboard, generate team-specific quick-reference cards, or feed command pages into a local LLM as context for shell assistance workflows.

Editable community reference

Adding a missing command means adding one .md file. Fixing a wrong example is a one-file pull request. The contribution barrier is much lower than filing bugs against distribution man pages or waiting for upstream packaging updates.

Ecosystem and Dependencies

The build tooling is self-contained — Node.js and the listed npm dependencies are all you need. The web UI is plain JavaScript with no framework, which keeps the bundle small and the build fast.

For English-language companion tooling, tldr-pages/tldr is the closest counterpart. If your team has a mix of Chinese-preferring and English-preferring developers, you can run linux-command as your internal portal and point team members at a tldr client for terminal-based lookups — they address the same need from different angles.

The repository ships a Docker image for self-hosting. If you want to embed linux-command as a containerized internal reference in a development environment managed with Docker Compose or Kubernetes, the image gives you a clean starting point without needing to run the build step yourself.

Architectural Overview

The repository separates into two clear layers.

Content layer: command/*.md files, one per Linux command. Each file follows a predictable Markdown structure — description, syntax, options, examples, notes. The build script relies on this structural consistency to parse and index the content. If you contribute a new command page, maintaining this structure is the key requirement for the page to render correctly.

App layer: A Node-based build script reads all command files, generates a JSON search index keyed by command name and description terms, and outputs a static HTML/CSS/JS bundle. At runtime the web app loads the entire JSON index into memory on page load and runs client-side fuzzy search. No external API calls are made at search time.

This architecture makes search latency a function of client hardware and index size, not network conditions. The trade-off is that every content update requires a full rebuild and redeploy — there is no incremental content update path or live preview workflow.

Pros and Cons

Pros

  • 580+ command pages with human-written examples that go beyond what auto-generated or scraped references offer

  • Zero runtime dependencies after build — deployable on any static host with no server-side process

  • Offline-capable: the raw Markdown files are greppable without the web UI

  • Consistent Markdown structure makes scripting against the content practical and reliable

  • Actively maintained with pull requests accepted for corrections, missing flags, and new commands

  • Docker image available for teams that want a ready-to-run containerized deployment

Cons

  • All content is in Simplified Chinese — not a substitute for English-language references and not useful to teams that can't read Mandarin

  • No CLI integration out of the box; access is through a browser, not your terminal prompt

  • Content updates require a full rebuild and redeploy with no incremental or hot-reload path

  • Coverage is strongest for common commands; obscure or distribution-specific utilities may have minimal or missing pages

  • Not a machine-readable man page replacement — no structured output format suitable for programmatic tooling consumption

Comparison and Alternatives

Measured 90-day trends for this project and its alternatives.

GitHub stars

Weekly star gains

144720
Full metrics details

GitHub GraphQL current stargazer cohort, reconstructed from starredAt events and totalCount retrieved in one stable pagination walk. GitHub does not expose historical unstar events, so this is not an exact ledger of past star counts.

Linux Command

GitHub GraphQL current stargazer cohort, reconstructed from starredAt events and totalCount retrieved in one stable pagination walk. GitHub does not expose historical unstar events, so this is not an exact ledger of past star counts.

180 observed daily rows. Missing days are not fabricated.

DateValue
tldr-pages/tldr

GitHub GraphQL current stargazer cohort, reconstructed from starredAt events and totalCount retrieved in one stable pagination walk. GitHub does not expose historical unstar events, so this is not an exact ledger of past star counts.

180 observed daily rows. Missing days are not fabricated.

DateValue

Issues opened

Weekly total

1260
Full metrics details

GitHub API observation. Historical values render only when the source provides a real observation for that day.

Linux Command

GitHub API observation. Historical values render only when the source provides a real observation for that day.

131 observed daily rows. Missing days are not fabricated.

DateValue
tldr-pages/tldr

GitHub API observation. Historical values render only when the source provides a real observation for that day.

178 observed daily rows. Missing days are not fabricated.

DateValue

Issues closed

Weekly total

740
Full metrics details

GitHub Search issue totals queried for exact UTC days; rolling values are sums of proven daily counts.

Linux Command

GitHub Search issue totals queried for exact UTC days; rolling values are sums of proven daily counts.

131 observed daily rows. Missing days are not fabricated.

DateValue
tldr-pages/tldr

GitHub Search issue totals queried for exact UTC days; rolling values are sums of proven daily counts.

178 observed daily rows. Missing days are not fabricated.

DateValue

Pull requests opened

Weekly total

103520
Full metrics details

GitHub API observation. Historical values render only when the source provides a real observation for that day.

Linux Command

GitHub API observation. Historical values render only when the source provides a real observation for that day.

131 observed daily rows. Missing days are not fabricated.

DateValue
tldr-pages/tldr

GitHub API observation. Historical values render only when the source provides a real observation for that day.

178 observed daily rows. Missing days are not fabricated.

DateValue

Pull requests closed

Weekly total

101510
Full metrics details

GitHub Search pull-request totals queried for exact UTC days; rolling values are sums of proven daily counts.

Linux Command

GitHub Search pull-request totals queried for exact UTC days; rolling values are sums of proven daily counts.

131 observed daily rows. Missing days are not fabricated.

DateValue
tldr-pages/tldr

GitHub Search pull-request totals queried for exact UTC days; rolling values are sums of proven daily counts.

178 observed daily rows. Missing days are not fabricated.

DateValue

Pull requests merged

Weekly total

93470
Full metrics details

GitHub API observation. Historical values render only when the source provides a real observation for that day.

Linux Command

GitHub API observation. Historical values render only when the source provides a real observation for that day.

131 observed daily rows. Missing days are not fabricated.

DateValue
tldr-pages/tldr

GitHub API observation. Historical values render only when the source provides a real observation for that day.

178 observed daily rows. Missing days are not fabricated.

DateValue

Open/closed pull request ratio

Weekly average

100500
Full metrics details

GitHub Search pull-request totals queried for exact UTC days; rolling values are sums of proven daily counts.

Linux Command

GitHub Search pull-request totals queried for exact UTC days; rolling values are sums of proven daily counts.

180 observed daily rows. Missing days are not fabricated.

DateValue
tldr-pages/tldr

GitHub Search pull-request totals queried for exact UTC days; rolling values are sums of proven daily counts.

180 observed daily rows. Missing days are not fabricated.

DateValue

Open/closed issues ratio

Weekly average

100500
Full metrics details

GitHub Search issue totals queried for exact UTC days; rolling values are sums of proven daily counts.

Linux Command

GitHub Search issue totals queried for exact UTC days; rolling values are sums of proven daily counts.

180 observed daily rows. Missing days are not fabricated.

DateValue
tldr-pages/tldr

GitHub Search issue totals queried for exact UTC days; rolling values are sums of proven daily counts.

180 observed daily rows. Missing days are not fabricated.

DateValue

Releases

Weekly total

110
Full metrics details

GitHub release published_at events bucketed by UTC day; drafts are excluded.

Linux Command

GitHub release published_at events bucketed by UTC day; drafts are excluded.

180 observed daily rows. Missing days are not fabricated.

DateValue
tldr-pages/tldr

GitHub release published_at events bucketed by UTC day; drafts are excluded.

180 observed daily rows. Missing days are not fabricated.

DateValue

Hotness score

Weekly average

100500
Full metrics details

Derived only from GitHub GraphQL starredAt events after daily star totals are reconciled.

Linux Command

Derived only from GitHub GraphQL starredAt events after daily star totals are reconciled.

180 observed daily rows. Missing days are not fabricated.

Per-day formula: 0.40 × Hot today + 0.40 × Hot week + 0.20 × Breakout.

  • Same-day multiplier = stars 1d ÷ max(1, stars 7d ÷ 7)
  • Weekly multiplier = stars 7d ÷ max(1, stars 30d ÷ 30 × 7)
  • Fortnight multiplier = stars 14d ÷ max(1, stars 90d ÷ 90 × 14)
  • Hot today = clamp(70 × log-scale(stars 1d, 1000) + 30 × breakout-scale(same-day, 4))
  • Hot week = clamp(75 × log-scale(stars 7d, 5000) + 25 × breakout-scale(weekly, 3))
  • Breakout = clamp(35 × breakout-scale(same-day, 4) + 40 × breakout-scale(weekly, 3) + 25 × breakout-scale(fortnight, 2.5))
DateStarsStars 1dStars 7dStars 14dStars 30dStars 90dSame-day multiplierWeekly multiplierFortnight multiplierHot todayHot weekBreakoutStored score
tldr-pages/tldr

Derived only from GitHub GraphQL starredAt events after daily star totals are reconciled.

180 observed daily rows. Missing days are not fabricated.

Per-day formula: 0.40 × Hot today + 0.40 × Hot week + 0.20 × Breakout.

  • Same-day multiplier = stars 1d ÷ max(1, stars 7d ÷ 7)
  • Weekly multiplier = stars 7d ÷ max(1, stars 30d ÷ 30 × 7)
  • Fortnight multiplier = stars 14d ÷ max(1, stars 90d ÷ 90 × 14)
  • Hot today = clamp(70 × log-scale(stars 1d, 1000) + 30 × breakout-scale(same-day, 4))
  • Hot week = clamp(75 × log-scale(stars 7d, 5000) + 25 × breakout-scale(weekly, 3))
  • Breakout = clamp(35 × breakout-scale(same-day, 4) + 40 × breakout-scale(weekly, 3) + 25 × breakout-scale(fortnight, 2.5))
DateStarsStars 1dStars 7dStars 14dStars 30dStars 90dSame-day multiplierWeekly multiplierFortnight multiplierHot todayHot weekBreakoutStored score

Reliability score

Weekly average

100500
Full metrics details

Derived from the displayed continuity, closure, shipping, liveness, and support-burden components.

Linux Command

Derived from the displayed continuity, closure, shipping, liveness, and support-burden components.

180 observed daily rows. Missing days are not fabricated.

Per-day formula: 0.30 × Continuity + 0.30 × Closure + 0.20 × Shipping + 0.10 × Liveness + 0.10 × Support burden.

  • Continuity = 35% active ratio 90d + 20% active ratio 30d + 15% PR efficiency 90d + 10% PR efficiency 30d + 10% liveness + 10% observed-history coverage
  • Closure = 55% PR merge efficiency 90d + 45% issue close efficiency 90d
  • Shipping = 100 × (20% × release ratio 30d + 30% × release ratio 90d + 50% × release ratio 180d); ratios are releases ÷ 2, 6, and 12, capped at 1
  • Support burden = 100 − 2 × open issues per 1,000 stars
  • Liveness = 100 × exp(−pushed days ago ÷ 120)

Stars, issues, pull requests, and releases are daily observations. Pushed-days and license are repository snapshot-derived inputs and are not independent historical GitHub events.

DateIssues openedIssues closedPRs openedPRs mergedReleasesStarsOpen issuesPushed days agoContinuityClosureShippingLivenessSupport burdenLicenseObserved daysMissing daysNeeds healingStored score
tldr-pages/tldr

Derived from the displayed continuity, closure, shipping, liveness, and support-burden components.

180 observed daily rows. Missing days are not fabricated.

Per-day formula: 0.30 × Continuity + 0.30 × Closure + 0.20 × Shipping + 0.10 × Liveness + 0.10 × Support burden.

  • Continuity = 35% active ratio 90d + 20% active ratio 30d + 15% PR efficiency 90d + 10% PR efficiency 30d + 10% liveness + 10% observed-history coverage
  • Closure = 55% PR merge efficiency 90d + 45% issue close efficiency 90d
  • Shipping = 100 × (20% × release ratio 30d + 30% × release ratio 90d + 50% × release ratio 180d); ratios are releases ÷ 2, 6, and 12, capped at 1
  • Support burden = 100 − 2 × open issues per 1,000 stars
  • Liveness = 100 × exp(−pushed days ago ÷ 120)

Stars, issues, pull requests, and releases are daily observations. Pushed-days and license are repository snapshot-derived inputs and are not independent historical GitHub events.

DateIssues openedIssues closedPRs openedPRs mergedReleasesStarsOpen issuesPushed days agoContinuityClosureShippingLivenessSupport burdenLicenseObserved daysMissing daysNeeds healingStored score

Several projects target the same "better command reference" need with different trade-offs.

Project Repo Hotness (~6mo) PRs merged (~6mo) Star growth (~6mo)
Linux Command https://github.com/jaywcjlove/linux-command 77.93 20 2672
tldr-pages https://github.com/tldr-pages/tldr 4.71 5 1390
cheat https://github.com/cheat/cheat metrics pending 0 34
navi https://github.com/denisidoro/navi metrics pending 0 metrics pending
cheat.sh https://github.com/chubin/cheat.sh metrics pending 0 metrics pending

tldr-pages/tldr is the most widely adopted English-language equivalent. It has community-maintained pages in dozens of languages, CLI clients for every major shell, and consistent update cadence. If your team reads English and wants terminal integration without a browser, tldr is the default choice.

cheat/cheat lets you create and manage cheat sheets locally in your own format, supplemented by a community-maintained sheet set. It's most useful for capturing team-specific commands and workflows rather than general Linux reference. Coverage is narrower than linux-command.

denisidoro/navi is an fzf-powered interactive cheatsheet tool that runs inside your terminal. You can navigate, select, and execute commands directly from the cheatsheet browser without switching to a browser tab. It can import tldr pages as a content backend, which gives it broad coverage without maintaining its own reference corpus. Setup is more involved than deploying a static site.

chubin/cheat.sh provides a unified interface to multiple cheat sheet sources — tldr, community cheat sheets, StackOverflow snippets — accessible via a simple curl call or a terminal client. Useful when you want one entry point that queries multiple references without separate installs. Self-hosting requires a Docker setup.

The best overall alternative is tldr-pages/tldr. It has the broadest adoption, the most active multilingual maintenance, and terminal-native CLI clients that integrate directly into your shell workflow — making it the practical first choice for any team that doesn't specifically need Chinese-language content.

Conclusion

If you're maintaining a developer portal or internal reference for a Chinese-speaking engineering team, linux-command is the right tool — it gives you 580+ command pages with practical examples in a self-hosted static site you can pin to a specific commit and control completely. See the official repository for the full command list, Docker image, and deployment instructions.

Do not point your team at the demo URL as a stable reference link — it is not versioned against specific commits and may reflect an out-of-date build, which means examples and flag documentation can silently drift. Instead, run git clone https://github.com/jaywcjlove/linux-command.git && npm install && npm run build against a pinned commit and deploy the output to your own host.

Join the conversation

Reviews · Questions · Posts

Share what you know about linux-command — write a review from your real experience, ask an implementation question, or publish a post about how you use it.

Share your experience

Write or update your review

Explain what worked, what broke down, and what another team should know before adopting linux-command.

Write your review now — it saves locally and publishes automatically after you sign in.

Rating
Positive attributes
Negative attributes

Project Q&A

Questions and answers

Browse implementation threads tied directly to jaywcjlove/linux-command. Each question links through to the full answer page.

Q&A No threads yet

Be the first to ask how teams run linux-command in production. Every question you post becomes a durable, searchable answer page other developers can find.

Ask the first question

Related posts

Posts tagged with the same topics

These posts come from the same topic surface as this repo, so readers can move from project evaluation into practical writeups and migration notes without leaving context.

Posts No topic-linked posts yet

Share how your team uses linux-command — a migration note, an architecture writeup, or a comparison. Your post reaches everyone browsing these same topics.

Write the first post
Get a weekly email with the hottest new projects in the Interactive Dashboards and Dash world.
No Spam. Unsubscribe easily at any time.

Copyright 2018-2026 Awesome Open Source.  All rights reserved.