Compare commits

..

No commits in common. "main" and "v2.0" have entirely different histories.
main ... v2.0

2449 changed files with 3975 additions and 32627 deletions

32
.github/CODEOWNERS vendored
View File

@ -1,35 +1,19 @@
/pages.de/ @pixelcmtd @gutjuri
/pages.es/ @navarroaxel @kant
/pages.hi/ @kbdharun
/pages.id/ @reinhart1010
/pages.it/ @mebeim @yutyo @Magrid0
/pages.ko/ @IMHOJEONG
/pages.nl/ @sebastiaanspeck @leonvsc @Waples
/pages.de/ @pixelcmtd @marchersimon
/pages.es/ @navarroaxel
/pages.it/ @mebeim @yutyo
/pages.pl/ @acuteenvy
/pages.pt_BR/ @waldyrious @isaacvicente
/pages.pt_BR/ @waldyrious
/pages.pt_PT/ @waldyrious
/pages.ta/ @kbdharun
/pages.tr/ @yutyo
/pages.zh/ @blueskyson @einverne
/pages.zh_TW/ @blueskyson
/pages/linux/ @sbrl
/*.md @sbrl @kbdharun
/.github/workflows/* @sbrl @kbdharun @sebastiaanspeck
/scripts/* @sebastiaanspeck
/contributing-guides/maintainers-guide.md @sbrl @kbdharun
/contributing-guides/style-guide.md @sbrl @kbdharun
/contributing-guides/*.de.md @pixelcmtd @gutjuri
/contributing-guides/*.es.md @navarroaxel @kant
/contributing-guides/*.hi.md @kbdharun
/contributing-guides/*.id.md @reinhart1010
/contributing-guides/*.it.md @mebeim @yutyo @Magrid0
/contributing-guides/*.ko.md @IMHOJEONG
/contributing-guides/*.nl.md @sebastiaanspeck @leonvsc @Waples
/contributing-guides/*.de.md @pixelcmtd @marchersimon
/contributing-guides/*.es.md @navarroaxel
/contributing-guides/*.it.md @mebeim @yutyo
/contributing-guides/*.pl.md @acuteenvy
/contributing-guides/*.pt_BR.md @waldyrious @isaacvicente
/contributing-guides/*.pt_BR.md @waldyrious
/contributing-guides/*.pt_PT.md @waldyrious
/contributing-guides/*.ta.md @kbdharun
/contributing-guides/*.tr.md @yutyo

View File

@ -1,46 +0,0 @@
name: 📄 Let's document
title: "Let's document: "
description: Request creation of multiple related pages (e.g. a utility with multiple subcommands).
labels: new command, help wanted, let's document
body:
- type: textarea
attributes:
label: Command description
description: Describe the commands you want to create.
placeholder: Tell us about the commands!
validations:
required: true
- type: input
attributes:
label: Documentation
description: Link to the official documentation.
placeholder: https://example.com
- type: dropdown
attributes:
label: Platform
description: What platform does the program run on? (Select "Common" if the program works on more than one platform)
options:
- Android
- Common
- FreeBSD
- Linux
- macOS (OS X)
- NetBSD
- OpenBSD
- SunOS
- Windows
validations:
required: true
- type: textarea
attributes:
label: Additional information
description: Provide additional information if the command differs between platforms.
- type: textarea
attributes:
label: Commands
description: List out all the pages you want to create.
placeholder: |
- [] command1
- [] command2
validations:
required: true

View File

@ -1,42 +0,0 @@
name: 📄 Page modification request
title: "Page modification request: "
description: Request modification of a page.
labels: page edit, help wanted
body:
- type: textarea
attributes:
label: Command description
description: Describe the command you want the page(s) to be modified.
placeholder: Tell us about the changes in the command!
validations:
required: true
- type: input
attributes:
label: Command details
description: Describe any details related to a command.
placeholder: e.g. command version
- type: input
attributes:
label: Documentation
description: Link to the official documentation.
placeholder: https://example.com
- type: dropdown
attributes:
label: Platform
description: What platform does the program run on? (Select "Common" if the program works on more than one platform)
options:
- Android
- Common
- FreeBSD
- Linux
- macOS (OS X)
- NetBSD
- OpenBSD
- SunOS
- Windows
validations:
required: true
- type: textarea
attributes:
label: Additional information
description: Provide additional information if the command differs between platforms.

View File

@ -1,6 +1,6 @@
name: 📄 Page request
title: "Page request: "
description: Request creation of a page.
title: "page request: "
description: Page request template.
labels: new command, help wanted
body:
- type: textarea
@ -8,35 +8,19 @@ body:
label: Command description
description: Describe a command you want to be summarized.
placeholder: Tell us about the command!
validations:
required: true
- type: input
attributes:
label: Command details
description: Describe any details related to a command.
placeholder: e.g. command version
- type: input
- type: checkboxes
attributes:
label: Documentation
description: Link to the official documentation.
placeholder: https://example.com
- type: dropdown
attributes:
label: Platform
description: What platform does the program run on? (Select "Common" if the program works on more than one platform)
label: OS
description: Select which operating system(s) this command works with.
options:
- Android
- Common
- FreeBSD
- Linux
- macOS (OS X)
- NetBSD
- OpenBSD
- SunOS
- Windows
validations:
required: true
- type: textarea
attributes:
label: Additional information
description: Provide additional information if the command differs between platforms.
- label: Android
- label: Linux
- label: macOS
- label: sunOS
- label: Windows

View File

@ -1,12 +1,40 @@
name: 📄 Page translation request
title: "Page translation request: "
description: Request translation of a page.
labels: translation, help wanted
title: "page translation: "
description: Page translation request template.
labels: translation
body:
- type: textarea
attributes:
label: Command description
description: Describe the command to get translated for your language.
description: Describe a command you want to be translated.
placeholder: Tell us what TLDR page you want to see in your language!
validations:
required: true
- type: input
attributes:
label: Command details
description: Describe any details related to a command.
placeholder: e.g. command version
- type: dropdown
attributes:
label: OS
description: Select an operating system category which this command falls into.
multiple: false
options:
- Linux
- Android
- macOS
- Windows
- General
- Other
validations:
required: true
- type: input
attributes:
label: OS details
description: Describe any details related to an operating system.
placeholder: |
e.g. OS version obtained via:
`uname -a` for Linux
`sw_vers` for macOS
`ver` for Windows

View File

@ -13,15 +13,13 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-python@v5
- uses: actions/setup-python@v4
with:
python-version: '3.12'
python-version: '3.10'
cache: 'pip'
- uses: actions/setup-node@v4
- uses: actions/setup-node@v3
with:
node-version: 'lts/*'
cache: 'npm'
@ -45,7 +43,7 @@ jobs:
- name: Build PDF
if: github.repository == 'tldr-pages/tldr' && github.ref == 'refs/heads/main'
working-directory: ./scripts/pdf
run: bash build-pdf.sh
run: python render.py ../../pages -c solarized-light
- name: Deploy
if: github.repository == 'tldr-pages/tldr' && github.ref == 'refs/heads/main'

View File

@ -1,12 +1,6 @@
name: Codespell
on:
pull_request:
# Ignore all other languages except English
paths-ignore:
- 'pages.*/*/*'
- 'contributing-guides/style-guide.*.md'
- 'package-lock.json'
on: ['pull_request']
jobs:
build:
@ -17,20 +11,17 @@ jobs:
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v40.2.0
uses: tj-actions/changed-files@v39.0.0
with:
# Ignore all other languages except English
files_ignore: |
pages.*/*/*
contributing-guides/style-guide.*.md
package-lock.json
- uses: codespell-project/actions-codespell@v2
- uses: codespell-project/actions-codespell@master
with:
ignore_words_file: .github/codespell-ignore
# Exit with 0 regardless of typos.
only_warn: 1
# Skip non-English pages
skip: ./pages.*/*/*.md,./contributing-guides/style-guide.*.md
# Only check files in the PR
path: ${{ steps.changed-files.outputs.all_changed_files }}

2
.gitignore vendored
View File

@ -27,4 +27,4 @@ scripts/pdf/tldr-pages.pdf
# Python venv for testing the PDF script
# Create it with: python3 -m venv scripts/pdf/venv/
venv
scripts/pdf/venv/

View File

@ -1,11 +1,12 @@
# tldr-pages client specification
**Current Specification Version:** 2.1
**Current Specification Version:** 2.0
This document contains the official specification for tldr-pages clients. It is _not_ a specification of the format of the pages themselves - only a specification of how a user should be able to interface with an official client. For a list of previous versions of the specification, see the [changelog section](#changelog) below.
This document contains the official specification for tldr-pages clients. It is _not_ a specification of the format of the pages themselves - only a specification of how a user should be able to interface with an official client. For a list of previous versions of the specification, see the [changelog section](#Changelog) below.
The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC 2119](https://tools.ietf.org/html/rfc2119).
## Terminology
This section defines key terms that are relevant for understanding this specification document.
@ -23,6 +24,7 @@ If a page is common across multiple platforms, but slightly different on a given
For example, if the command `foo` is common to `mac`, `windows`, and `linux` but functions differently on `windows`, then the main page will be stored in `common`, and a copy will be placed in `windows` that's altered to match the different functionality.
## Command-line interface
This section describes the standardised command-line interface (CLI) for clients implementing one. Clients that do not provide a CLI can ignore this section.
@ -76,12 +78,12 @@ This section documents the directory structure that contains the pages themselve
The main version of every page is stored inside (but not directly) the `pages` directory. Inside this directory, there is a folder for each platform - for example `windows`, `linux`, and the special `common` platform:
- `pages/`
- `common/`
- `linux/`
- `windows/`
- `osx/`
- ...etc.
- `pages/`
- `common/`
- `linux/`
- `windows/`
- `osx/`
- ...etc.
It is RECOMMENDED that clients support `macos` as an alias for `osx`.
@ -95,30 +97,27 @@ Command name | Mapped name | Filename
`git checkout` | `git-checkout` | `git-checkout.md`
`tar` | `tar` | `tar.md`
### Translations
Other directories sit alongside the main `pages` directory, and contain translations of the main versions of every page - though pages MAY NOT have a translation available for a given language yet. Furthermore, a given language MAY NOT have a folder yet either. The format of these directories is `pages.<locale>`, where `<locale>` is a [POSIX Locale Name](https://www.gnu.org/software/gettext/manual/html_node/Locale-Names.html#Locale-Names) in the form of `<language>_<country>`, where:
- `<language>` is the shortest [ISO 639](https://en.wikipedia.org/wiki/ISO_639) language code for the chosen language (see [here](https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes) for a complete list).
- `<country>` is the two-letter [ISO 3166-1](https://en.wikipedia.org/wiki/ISO_3166-1) country code for the chosen region (see [here](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) for a complete list).
- `<language>` is the shortest [ISO 639](https://en.wikipedia.org/wiki/ISO_639) language code for the chosen language (see [here](https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes) for a complete list).
- `<country>` is the two-letter [ISO 3166-1](https://en.wikipedia.org/wiki/ISO_3166-1) country code for the chosen region (see [here](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) for a complete list).
Some examples:
- Chinese (Taiwan): `pages.zh_TW`.
- Portuguese (Brazil): `pages.pt_BR`.
- Italian: `pages.it`.
- Chinese (Taiwan): `pages.zh_TW`.
- Portuguese (Brazil): `pages.pt_BR`.
- Italian: `pages.it`.
The structure inside these translation folders is identical to that of the main `pages` folder.
## Page structure
Although this specification is about the interface that clients must provide, it is also worth noting that pages are written in standard [CommonMark](https://commonmark.org/), with the exception of the non-standard `{{` and `}}` placeholder syntax, which surrounds values in an example that users may edit. Clients MAY highlight the placeholders and MUST remove the surrounding curly braces. Clients MUST NOT treat them as the placeholder syntax if they are escaped using `\` (i.e. `\{\{` and `\}\}`) and MUST instead display literal braces, without backslashes. Placeholder escaping applies only when both braces are escaped (e.g. in `\{` or `\{{`, backslashes MUST be displayed). Clients MUST NOT break if the page format is changed within the _CommonMark_ specification.
Although this specification is about the interface that clients must provide, it is also worth noting that pages are written in standard [CommonMark](https://commonmark.org/), which the exception of the non-standard `{{` and `}}` syntax, which surrounds values in an example that users may edit. Clients MUST NOT break if the page format is changed within the _CommonMark_ specification.
### Examples
- `ping {{example.com}}` MUST be rendered as "ping example.com"
- `docker inspect --format '\{\{range.NetworkSettings.Networks\}\}\{\{.IPAddress\}\}\{\{end\}\}' {{container}}` MUST be rendered as "docker inspect --format '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container"
- `mount \\{{computer_name}}\{{share_name}} Z:` MUST be rendered as "mount \\\\computer_name\share_name Z:"
## Page resolution
@ -126,13 +125,12 @@ This section defines the algorithm by which a client can decide which page a use
After transparently replacing spaces (` `) with dashes (`-`) and lowercasing the name, clients have several decisions to make:
- The language of a page to display to a client
- The platform to display a page from
- The language of a page to display to a client
- The platform to display a page from
### Platform
Clients MUST default to displaying the page associated with the platform on which the client is running.
For example, a client running on _Windows 11_ will default to displaying pages from the `windows` platform.
Clients MAY provide a user-configurable option to override this behaviour, however.
@ -151,8 +149,6 @@ Steps #3 and #4 may be done in either order.
It is possible that due to this page resolution logic, the client may show a page which does not belong to the host platform because a page can reside in `common`, and not be present on the host platform. Clients must not assume that a given command is always executable on the host platform.
It is RECOMMENDED that clients detect new platforms added to the relevant `pages` directory automatically.
#### If a page is not found
If a page cannot be found in _any_ platform, then it is RECOMMENDED that clients display an error message with a link to create a new issue against the `tldr-pages/tldr` GitHub repository. Said link might take the following form:
@ -167,6 +163,7 @@ where `{command_name}` is the name of the command that was not found. Clients th
If multiple versions of a page were found for different platforms, then a client MAY choose to display a notice to the user notifying them of this.
## Language
Pages can be written in multiple languages. If a client has access to environment variables, it MUST use them to derive the preferred user language as described in the next paragraphs. If not, then clients MUST make reasonable assumptions based on the information provided by the environment in which they operate (e.g. consulting `navigator.languages` in a browser, etc.).
@ -197,19 +194,16 @@ It is also RECOMMENDED to make the language configurable, to not only rely on th
The [`LC_MESSAGES` environment variable](https://www.gnu.org/software/gettext/manual/html_node/Locale-Environment-Variables.html) MAY be present. If the client itself is localized and this environment variable is present, it MUST use its value to determine the language in which interface text is shown (separately from the language used for pages). In the absence of `LC_MESSAGES`, then `LANG` and `LANGUAGE` MUST be used for this purpose instead.
> [!IMPORTANT]
> For page lookup it is highly RECOMMENDED to give precedence to the platform over the language. In other words, look for a platform under each language, before checking the next preferred language. This ensures a meaningful and correct page resolution.
**Note that** for page lookup it is highly RECOMMENDED to give precedence to the platform over the language. In other words, look for a platform under each language, before checking the next preferred language. This ensures a meaningful and correct page resolution.
Here's an example of how the lookup should be done on `linux` having set `LANG=it` and `LANGUAGE="it:fr:en"`:
Step | Path checked | Outcome
------|--------------------------------|-----------------------
1 | pages.it/linux/some-page.md | does not exist
2 | pages.fr/linux/some-page.md | does not exist
3 | pages/linux/some-page.md | does not exist
4 | pages.it/common/some-page.md | does not exist
5 | pages.fr/common/some-page.md | does not exist
6 | pages/common/some-page.md | FOUND!
1. pages.it/linux/some-page.md -> does not exist
2. pages.fr/linux/some-page.md -> does not exist
3. pages/linux/some-page.md -> does not exist
4. pages.it/common/some-page.md -> does not exist
5. pages.fr/common/some-page.md -> does not exist
6. pages/common/some-page.md -> FOUND!
## Caching
@ -217,6 +211,7 @@ If appropriate, it is RECOMMENDED that clients implement a cache of pages. If im
Caching SHOULD be done according to the user's language configuration (if any), to not waste unneeded space for unused languages. Additionally, clients MAY automatically update the cache regularly.
## Changelog
<!--
@ -230,40 +225,35 @@ including the changes. NOTE: tagging of the commit with a new version tag (in
the form `vX.Y`) should be done immediately AFTER merging the version bump, as
the commit hash changes when merging with squash or rebase.
-->
- Unreleased
- Unreleased
- [v2.0, September 10th 2023](https://github.com/tldr-pages/tldr/blob/v2.0/CLIENT-SPECIFICATION.md) ([#10148](https://github.com/tldr-pages/tldr/pull/10148))
- Add recommendation to support `macos` alias for `osx` ([#7514](https://github.com/tldr-pages/tldr/pull/7514))
- Drop the special "all" platform from the `--list` flag ([#7561](https://github.com/tldr-pages/tldr/pull/7561))
- Drop the `master` branch from the assets link. ([#9668](https://github.com/tldr-pages/tldr/pull/9668))
- Require support for long options ([#9651](https://github.com/tldr-pages/tldr/pull/9651))
- Add recommendation to support caching individual translation archives ([#10148](https://github.com/tldr-pages/tldr/pull/10148))
- [v2.1, November 30th 2023](https://github.com/tldr-pages/tldr/blob/v2.1/CLIENT-SPECIFICATION.md) ([#11523](https://github.com/tldr-pages/tldr/pull/11523))
- Add requirement to support escaping the placeholder syntax in certain pages ([#10730](https://github.com/tldr-pages/tldr/pull/10730))
- Add suggestion to detect new platforms added to the relevant `pages` directory automatically ([#11523](https://github.com/tldr-pages/tldr/pull/11523))
- [v1.5, March 17th 2021](https://github.com/tldr-pages/tldr/blob/v1.5/CLIENT-SPECIFICATION.md) ([#5428](https://github.com/tldr-pages/tldr/pull/5428))
- Add requirement for converting command names to lowercase before running the page resolution algorithm.
- Use HTTPS for archive links.
- [v2.0, September 10th 2023](https://github.com/tldr-pages/tldr/blob/v2.0/CLIENT-SPECIFICATION.md) ([#10148](https://github.com/tldr-pages/tldr/pull/10148))
- Add recommendation to support `macos` alias for `osx` ([#7514](https://github.com/tldr-pages/tldr/pull/7514))
- Drop the special "all" platform from the `--list` flag ([#7561](https://github.com/tldr-pages/tldr/pull/7561))
- Drop the `master` branch from the assets link. ([#9668](https://github.com/tldr-pages/tldr/pull/9668))
- Require support for long options ([#9651](https://github.com/tldr-pages/tldr/pull/9651))
- Add recommendation to support caching individual translation archives ([#10148](https://github.com/tldr-pages/tldr/pull/10148))
- [v1.4, August 13th 2020](https://github.com/tldr-pages/tldr/blob/v1.4/CLIENT-SPECIFICATION.md) ([#4246](https://github.com/tldr-pages/tldr/pull/4246))
- Add requirement for CLI clients to use non-zero exit code on failing to find a page.
- [v1.5, March 17th 2021](https://github.com/tldr-pages/tldr/blob/v1.5/CLIENT-SPECIFICATION.md) ([#5428](https://github.com/tldr-pages/tldr/pull/5428))
- Add requirement for converting command names to lowercase before running the page resolution algorithm.
- Use HTTPS for archive links.
- [v1.3, June 11th 2020](https://github.com/tldr-pages/tldr/blob/v1.3/CLIENT-SPECIFICATION.md) ([#4101](https://github.com/tldr-pages/tldr/pull/4101))
- Clarified fallback to English in the language resolution algorithm.
- Update the `LANG` and `LANGUAGE` environment variables to conform to the GNU spec.
- [v1.4, August 13th 2020](https://github.com/tldr-pages/tldr/blob/v1.4/CLIENT-SPECIFICATION.md) ([#4246](https://github.com/tldr-pages/tldr/pull/4246))
- Add requirement for CLI clients to use non-zero exit code on failing to find a page.
- [v1.2, July 3rd 2019](https://github.com/tldr-pages/tldr/blob/v1.2/CLIENT-SPECIFICATION.md) ([#3168](https://github.com/tldr-pages/tldr/pull/3168))
- Addition of a new `-L, --language` recommended command-line option.
- Rewording of the language section, also encouraging the use of configuration files for language.
- Shift from BCP-47 to POSIX style locale tags, with consequent **deprecation of previous versions of the spec**.
- Clearer clarification about the recommended caching functionality.
- Correction of the usage of the term "arguments" in the homonym section.
- [v1.3, June 11th 2020](https://github.com/tldr-pages/tldr/blob/v1.3/CLIENT-SPECIFICATION.md) ([#4101](https://github.com/tldr-pages/tldr/pull/4101))
- Clarified fallback to English in the language resolution algorithm.
- Update the `LANG` and `LANGUAGE` environment variables to conform to the GNU spec.
- [v1.1, April 1st 2019](https://github.com/tldr-pages/tldr/blob/v1.1/CLIENT-SPECIFICATION.md) (deprecated) ([#2859](https://github.com/tldr-pages/tldr/pull/2859))
- Clarified platform section.
- [v1.2, July 3rd 2019](https://github.com/tldr-pages/tldr/blob/v1.2/CLIENT-SPECIFICATION.md) ([#3168](https://github.com/tldr-pages/tldr/pull/3168))
- Addition of a new `-L, --language` recommended command-line option.
- Rewording of the language section, also encouraging the use of configuration files for language.
- Shift from BCP-47 to POSIX style locale tags, with consequent **deprecation of previous versions of the spec**.
- Clearer clarification about the recommended caching functionality.
- Correction of the usage of the term "arguments" in the homonym section.
- [v1.1, April 1st 2019](https://github.com/tldr-pages/tldr/blob/v1.1/CLIENT-SPECIFICATION.md) (deprecated) ([#2859](https://github.com/tldr-pages/tldr/pull/2859))
- Clarified platform section.
- [v1.0, January 23rd 2019](https://github.com/tldr-pages/tldr/blob/v1.0/CLIENT-SPECIFICATION.md) (deprecated) ([#2706](https://github.com/tldr-pages/tldr/pull/2706))
- Initial release.
- [v1.0, January 23rd 2019](https://github.com/tldr-pages/tldr/blob/v1.0/CLIENT-SPECIFICATION.md) (deprecated) ([#2706](https://github.com/tldr-pages/tldr/pull/2706))
- Initial release.

View File

@ -46,9 +46,8 @@ exceptions can always be considered, via open community discussion.)
This means they will be able to
push commits to all of the organization's repositories,
merge PRs, label and close issues, among other things.
> [!NOTE]
> All members of the tldr-pages organization
> must make their membership public.
_Note_: All members of the tldr-pages organization
must make their membership public.
- **Organization members who remain active for a while should become organization owners.**
Specifically: members of the tldr-pages organization
@ -79,9 +78,8 @@ exceptions can always be considered, via open community discussion.)
## How to change roles
> [!NOTE]
> This section is aimed at owners in the tldr-pages organization
> (i.e. the group of people who are able to perform these changes).
*Note: This section is aimed at owners in the tldr-pages organization
(i.e. the group of people who are able to perform these changes).*
If you notice a contributor being particularly active,
review their recent contributions to check whether a role transition is due,
@ -131,7 +129,7 @@ using one of the template messages below as a base.
If you accept the invitation, we ask you to make your membership public, and (in case you don't already) start hanging out in our [Matrix chat room](https://matrix.to/#/#tldr-pages:matrix.org).
Additionally, consider subscribing to the notifications from the various repositories under the [tldr-pages organization](https://github.com/tldr-pages).
As one of the public faces of the tldr-pages project, it's also especially important that you follow and encourage the [project
governance principles](https://github.com/tldr-pages/tldr/blob/main/GOVERNANCE.md).
governance principles](https://github.com/tldr-pages/tldr/blob/main/COMMUNITY-ROLES.md).
How does that sound? Are you up for it?
```
@ -203,17 +201,3 @@ Any member of the community can (and is encouraged to) propose role changes
by following the process outlined [above](#how-to-change-roles).
[Owners of the tldr-pages organization](MAINTAINERS.md#organization-owners)
can then perform the actual role changes.
## CODEOWNERS
The [`.github/CODEOWNERS` file](https://github.com/tldr-pages/tldr/blob/main/.github/CODEOWNERS) allows contributors with write access to the [tldr-pages/tldr repository](https://github.com/tldr-pages/tldr) to get automatic review request notifications for given files and directories.
If they wish to, contributors can open a pull request to add themselves to this file as desired.
Example uses include (but are not limited to):
- Contributors who speak a specific language and want to assist with reviewing translations in those specific languages.
- Contributors with specific expertise who wish to review pull requests for specific platforms.
- Contributors interested in reviewing [client specification](https://github.com/tldr-pages/tldr/blob/main/CLIENT-SPECIFICATION.md) updates.
> [!NOTE]
> This mechanism is purely for automatic review requests for PRs and doesn't grant collaborators additional copyright over the code-owned files. View the [LICENSE](https://github.com/tldr-pages/tldr/blob/main/LICENSE.md) file for more information.

View File

@ -18,30 +18,28 @@
[license-image]: https://img.shields.io/badge/license-CC_BY_4.0-blue.svg?label=License
Contributions to the tldr-pages project are [most welcome](GOVERNANCE.md)!
All `tldr` pages are stored in Markdown right here on GitHub. Just open an issue or send a pull request, and we'll incorporate it as soon as possible.
All `tldr` pages are stored in Markdown right here on GitHub.
Just open an issue or send a pull request and we'll incorporate it as soon as possible.
To get started, please [sign](https://cla-assistant.io/tldr-pages/tldr) the
[Contributor License Agreement](https://gist.github.com/waldyrious/e50feec13683e565769fbd58ce503d4e).
> [!NOTE]
> When submitting a new command, please base your PR against the `main` branch and check if there's already a pull request in progress for it.
*Note*: when submitting a new command, please base your PR against the `main` branch, and check if there's already a pull request in progress for it.
## Guidelines
The basic format of a `tldr` page is a set of concrete usage examples.
Here are a few guidelines to get started:
1. Try to keep pages at around 5 examples. Pages can be longer or shorter when appropriate, but don't exceed the maximum of eight examples.
1. Try to keep pages at around 5 examples. Pages can be longer or shorter when appropriate, but don't exceed 8 examples.
Remember, it's OK if the page doesn't cover everything; that's what `man` is for.
2. When in doubt, keep new command-line users in mind. Err on the side of clarity rather than terseness.
For example, commands that require `sudo` should include it directly in the examples.
3. Try to incorporate the spelled-out version of single-letter options in the example's description.
The goal is to allow people to *understand* the syntax of the commands, not just *memorize* it.
4. Introduce options gradually, starting with the simplest command invocations and using more complex examples progressively.
5. Focus on details specific to the command and avoid explaining general UNIX concepts that could apply to any command
(i.e. relative/absolute paths, glob patterns/wildcards, special character escaping, ...).
4. Introduce options gradually, starting with the simplest command invocations,
and using more complex examples progressively.
5. Focus on details specific to the command, and avoid explaining general UNIX concepts that could apply to any command
(ex: relative/absolute paths, glob patterns/wildcards, special character escaping...).
These are all guidelines, not strict rules.
Use proper judgement, keeping simplicity and user-friendliness as the top priorities.
@ -52,7 +50,7 @@ When in doubt, have a look at a few existing pages :).
As a quick reference, the format of each page should match the following template:
```md
```
# command-name
> Short, snappy description.
@ -68,18 +66,12 @@ As a quick reference, the format of each page should match the following templat
`command --option1 --option2 {{arg_value}}`
```
For page descriptions, you can additionally use ``See also: `command`.`` and [subcommand reference](#subcommands).
> [!NOTE]
> While we suggest only two lines for the page description, it is acceptable to have more than two lines if it necessary to add additional information (i.e. [`pacman`](https://github.com/tldr-pages/tldr/blob/main/pages/linux/pacman.md)).
To see some examples of preexisting pages, you can look at:
- [pwd](https://github.com/tldr-pages/tldr/blob/main/pages/common/pwd.md) - one of the simplest command examples
- [tar](https://github.com/tldr-pages/tldr/blob/main/pages/common/tar.md) - page with placeholders
In our pages, we use placeholders defined as being tokens within curly brackets. For example, in `sleep {{5}}`, the user can change 5 to any number.
- [tar](https://github.com/tldr-pages/tldr/blob/main/pages/common/tar.md) - page with placeholders
In our pages, we use placeholders which are defined as being tokens within curly brackets, for example `sleep {{5}}`, in this case the user can change 5 to any number.
Other examples but not limited to of our placeholder syntax are:
- `{{path/to/directory}}`
@ -91,129 +83,84 @@ refer to the [style guide](contributing-guides/style-guide.md).
## Subcommands
Many programs use subcommands for separating functionality, which may require their own separate pages.
For instance, `git commit` has its own page, as well as `git push` and many others.
To create a page for a subcommand, the program and subcommand need to be separated with a dash (`-`), so `git-commit.md` is shown when calling `tldr git commit`.
You should always add a base page (e.g. `git`) that describes the program and basic switches like `--version` or `--help`.
To let others know about the subcommand, add a note saying ``Some subcommands such as `example command` have their own usage documentation`` to the base page.
To let users know about the subcommand, add a note saying ``Some subcommands such as `example command` have their own usage documentation`` to the base page.
See these examples for reference:
- [git](pages/common/git.md)
- [git-commit](pages/common/git-commit.md)
- [aws](pages/common/aws.md)
- [aws-s3](pages/common/aws-s3.md)
* [git](pages/common/git.md)
* [git-commit](pages/common/git-commit.md)
* [aws](pages/common/aws.md)
* [aws-s3](pages/common/aws-s3.md)
## Translations
Translation of pages can be done by simply creating the corresponding page within the appropriate language-specific directory, creating that as well if it does not already exist.
> [!IMPORTANT]
> Translations of pages should be done based on the English (US) page in the `pages` directory. If the English pages doesn't exist for the command, it should be added first in a PR before creating a translation.
Language specific directories must follow the pattern `pages.<locale>`, where `<locale>` is a [POSIX Locale Name](https://www.gnu.org/software/gettext/manual/html_node/Locale-Names.html#Locale-Names) in the form of `<language>[_<country>]`, where:
- `<language>` is the shortest [ISO 639](https://en.wikipedia.org/wiki/ISO_639) language code for the chosen language (see [here](https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes) for a complete list).
- `<country>` is the two-letter [ISO 3166-1](https://en.wikipedia.org/wiki/ISO_3166-1) country code for the chosen region (see [here](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) for a complete list).
- `<language>` is the shortest [ISO 639](https://en.wikipedia.org/wiki/ISO_639) language code for the chosen language (see [here](https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes) for a complete list).
- `<country>` is the two-letter [ISO 3166-1](https://en.wikipedia.org/wiki/ISO_3166-1) country code for the chosen region (see [here](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) for a complete list).
The `<country>` code is optional and should only be added when it is needed. In other words, only when there is a valid reason to distinguish between a language (`ll`) and its regional dialects (`ll_CC1`, `ll_CC2`, etc.). For example, both `fr_FR` and `fr_BE` should fall under the same `pages.fr` directory since there virtually is no difference in writing between standard French and Belgian French.
> [!IMPORTANT]
> When adding a new language to `tldr`, it is suggested to add it to the [translation templates](contributing-guides/translation-templates) along with any page additions.
The `<country>` code is optional and should only be added when it is needed. In other words, only when there is a valid reason to distinguish between a language (`ll`) and its regional dialects (`ll_CC1`, `ll_CC2`, etc.). As an example, both `fr_FR` and `fr_BE` should fall under the same `pages.fr` directory, since there virtually is no difference in writing between standard French and Belgian French.
To see the current progress of all translations, you can visit <https://lukwebsforge.github.io/tldri18n/>, which provides a dynamically updated table of all pages and their translations.
Some examples of valid locale tags:
- French: `fr`.
- Chinese: `zh`.
- Chinese (Singapore): `zh_SG`.
- Portuguese (Brazil): `pt_BR`.
- French: `fr`.
- Chinese: `zh`.
- Chinese (Singapore): `zh_SG`.
- Portuguese (Brazil): `pt_BR`.
A list of translated templates for alias pages can be found [here](contributing-guides/translation-templates/alias-pages.md).
A list of translated templates for alias pages can be found in [here](contributing-guides/translation-templates/alias-pages.md).
It is acceptable for several pages to get translated in one pull request.
Pull requests that introduce translations are the exception to the single file change per Pull Request rule. It is
acceptable for several pages to be translated in one pull request.
For more information about language specific rules, refer to the [style guide](contributing-guides/style-guide.md#language-specific-rules).
### Default language for newly added pages
The default language used for pages is English (US). Pages written in English are stored in the default `pages` directory (notice the absence of a specific language tag). Although not strictly required, if you'd like to add a new page in a different language, please consider creating the English page too.
## Inclusive language
Where possible, use inclusive language in the content of pages. For example, prefer terms like "denylist"/"allowlist" instead of "blacklist"/"whitelist", "primary"/"secondary" instead of "master"/"slave", "they" instead of "him"/"her", etc.
Of course, this shouldn't sacrifice content clarity, such as when documenting tools where this terminology has specific technical meanings and its usage is central to explaining the involved concepts.
Of course, this shouldn't sacrifice content clarity, such as when documenting tools where this terminology has specific technical meanings, and its usage is central to explaining the involved concepts.
## Submitting a pull request
### Testing pages locally
Once you have written a `tldr` page, you can test its syntax locally using [`tldr-lint`](https://github.com/tldr-pages/tldr-lint).
The latest version of [NodeJS](https://nodejs.org) is required to install `tldr-lint` with the following command:
```sh
npm install --global tldr-lint
```
Once its installed, you can test your page by running the following command:
```sh
tldr-lint {{path/to/page.md}}
```
Now, you are ready to submit a pull request!
> [!TIP]
> Additionally, inside the `tldr` directory you can install the dependencies using `npm install` command and now when you commit your changes, the tests will run automatically via the pre-commit hook.
### Submitting changes
The easiest way to submit a change is to edit the page directly on the GitHub interface.
The easiest way to submit a change is to just edit the page directly on the GitHub interface.
Check out the step-by-step instructions (with screenshots) on
[GitHub Help](https://help.github.com/articles/editing-files-in-another-user-s-repository/).
Alternatively, you can do most of the process
[using Git on the command-line](contributing-guides/git-terminal.md).
> [!TIP]
> After creating a pull request, it is suggested to enable the "Allow edits by maintainers" option (This only needs to be done once the first time you create a PR). It allows maintainers to make changes to your pull request and assist you in getting it merged.
### Accepting suggestions within a pull request
The easiest way to apply suggested changes is to accept the suggestion made on your pull request. Refer to the [GitHub docs](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/incorporating-feedback-in-your-pull-request) for more details.
The easiest way to apply suggested changes is to accept the suggestion made on your pull request. Refer to the [GitHub docs](https://docs.github.com/en/enterprise-server@3.2/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/incorporating-feedback-in-your-pull-request) for more details.
To commit a suggestion to your pull request, click on `Commit suggestion`:
To commit a suggestion to your pull request, simply click on `Commit suggestion`:
![Commit suggestion button in Github](./images/commit-suggestion-button.png)
If you want to commit multiple suggestions, go to the "Files changed" tab and batch all suggestions. Now, click `Commit suggestions` button and enter a commit message to create a single commit.
### Commit message
For the commit message of page changes, use the following format:
For the commit message, use the following format:
`{{command}}: type of change`
<command>: type of change
Where `{{command}}` is the name of the command being modified, and `type of change` can be (but not limited to) one of the following examples:
- For a new page addition: `ls: add page`, `docker-container-rm: add alias page`
- For a page edit: `cat: fix typo`, `git-push: add --force example`
- For a new translation of an existing page: `cp: add Tamil translation`
- For a modification to the translation of an existing page: `cp: fix typo in Tamil translation`
- For related changes to several pages: `grep, find, locate: synchronize format of wildcards`
- For multiple subcommand page additions: `git-{add, push, ...}: add page`
- For modifying multiple pages in a language: `pages.<locale>/*: update pages`
---
For other cases, its suggested to follow <https://www.conventionalcommits.org/> as much as possible.
Examples:
- For a new page addition: `ls: add page`
- For a page edit: `cat: fix typo`, `git-push: add --force example`
- For a new translation of an existing page: `cp: add Tamil translation`
- For related changes to several pages: `grep, find, locate: synchronize format of wildcards`
## Licensing
This repository is licensed under the [Creative Commons Attribution 4.0 International License](LICENSE.md).
The contents of the `scripts/` directory are licensed under the [MIT license](LICENSE.md).
Any contributions to this project are governed by the

View File

@ -1,10 +1,8 @@
# Maintainers
This file contains a list of the maintainers of the tldr-pages project.
> [!NOTE]
> Only the people marked with **bold** are currently in the indicated role.
> The other entries are kept for historical record.
Note: only the people marked with **bold** are currently in the indicated role.
The other entries are kept for historical record.
There are three types of maintainers, as described in
[COMMUNITY-ROLES.md](https://github.com/tldr-pages/tldr/blob/main/COMMUNITY-ROLES.md#when-to-change-roles):
@ -47,7 +45,7 @@ If you are an owner of the organization, you can see an automated list
- **Patrice Denis ([@patricedenis](https://github.com/patricedenis))**:
[10 May 2021](https://github.com/tldr-pages/tldr/issues/5919) — present
- **Reinhart Previano Koentjoro ([@reinhart1010](https://github.com/reinhart1010))**:
[23 November 2021](https://github.com/tldr-pages/tldr/issues/7404) — present
[23 Nov 2021](https://github.com/tldr-pages/tldr/issues/7404) — present
- **258204 ([@258204](https://github.com/258204))**:
[10 December 2021](https://github.com/tldr-pages/tldr/issues/7522) — present
- **Nicolas Hansse ([@Nico385412](https://github.com/Nico385412))**:
@ -60,22 +58,6 @@ If you are an owner of the organization, you can see an automated list
[4 September 2023](https://github.com/tldr-pages/tldr/issues/10611) — present
- **Lucas Schneider ([@schneiderl](https://github.com/schneiderl))**:
[11 April 2019](https://github.com/tldr-pages/tldr/issues/2898) — [17 January 2020](https://github.com/tldr-pages/tldr/issues/3764), [7 February 2023](https://github.com/tldr-pages/tldr/issues/10674) — present
- **Isaac Vicente ([@isaacvicente](https://github.com/isaacvicente))**:
[20 September 2023](https://github.com/tldr-pages/tldr/issues/10737) — present
- **Darío Hereñú ([@kant](https://github.com/kant))**:
[20 September 2023](https://github.com/tldr-pages/tldr/issues/10738) — present
- **Magrid0 ([@Magrid0](https://github.com/Magrid0))**:
[22 October 2023](https://github.com/tldr-pages/tldr/issues/11159) — present
- **HoJeong Im ([@IMHOJEONG](https://github.com/IMHOJEONG))**:
[24 October 2023](https://github.com/tldr-pages/tldr/issues/11200) — present
- **Shashank Hebbar ([@quantumflo](https://github.com/quantumflo))**:
[13 November 2023](https://github.com/tldr-pages/tldr/issues/11460) — present
- **Leon ([@leonvsc](https://github.com/leonvsc))**:
[14 November 2023](https://github.com/tldr-pages/tldr/issues/11495) — present
- **Matthew Peveler ([@MasterOdin](https://github.com/MasterOdin))**:
[9 January 2021](https://github.com/tldr-pages/tldr/issues/5122) — [18 March 2021](https://github.com/tldr-pages/tldr/issues/5473), [15 November 2023](https://github.com/tldr-pages/tldr/issues/11509) — present
- **Marcher Simon ([@marchersimon](https://github.com/marchersimon))**:
[9 March 2021](https://github.com/tldr-pages/tldr/issues/5390) — [9 April 2021](https://github.com/tldr-pages/tldr/issues/5722), [20 November 2023](https://github.com/tldr-pages/tldr/issues/11381) — present
- Owen Voke ([@owenvoke](https://github.com/owenvoke))
[11 January 2018](https://github.com/tldr-pages/tldr/issues/1885) — [26 August 2018](https://github.com/tldr-pages/tldr/issues/2258)
- Marco Bonelli ([@mebeim](https://github.com/mebeim)):
@ -90,8 +72,12 @@ If you are an owner of the organization, you can see an automated list
[24 August 2020](https://github.com/tldr-pages/tldr/issues/4291) — [5 October 2020](https://github.com/tldr-pages/tldr/issues/4504)
- bl-ue ([@bl-ue](https://github.com/bl-ue)):
[30 December 2020](https://github.com/tldr-pages/tldr/issues/5056) — [2 February 2021](https://github.com/tldr-pages/tldr/issues/5219)
- Matthew Peveler ([@MasterOdin](https://github.com/MasterOdin)):
[9 January 2021](https://github.com/tldr-pages/tldr/issues/5122) — [18 March 2021](https://github.com/tldr-pages/tldr/issues/5473)
- Tan Siret Akıncı ([@yutyo](https://github.com/yutyo)):
[3 March 2021](https://github.com/tldr-pages/tldr/issues/5345) — [7 April 2021](https://github.com/tldr-pages/tldr/issues/5702)
- Marcher Simon ([@marchersimon](https://github.com/marchersimon)):
[9 March 2021](https://github.com/tldr-pages/tldr/issues/5390) — [9 April 2021](https://github.com/tldr-pages/tldr/issues/5722)
- Florian Benscheidt ([@Waples](https://github.com/Waples)):
[16 April 2021](https://github.com/tldr-pages/tldr/issues/5774) — [19 May 2021](https://github.com/tldr-pages/tldr/issues/5989)
- CleanMachine1 ([@CleanMachine1](https://github.com/CleanMachine1)):
@ -101,19 +87,15 @@ If you are an owner of the organization, you can see an automated list
- Seth Falco ([@SethFalco](https://github.com/SethFalco)):
[19 May 2021](https://github.com/tldr-pages/tldr/issues/5993) - [21 June 2021](https://github.com/tldr-pages/tldr/issues/6149)
- Pixel Häußler ([@pixelcmtd](https://github.com/pixelcmtd)):
[27 August 2021](https://github.com/tldr-pages/tldr/issues/6415) — [16 October 2022](https://github.com/tldr-pages/tldr/pull/9072#issuecomment-1279847932)
[27 Aug 2021](https://github.com/tldr-pages/tldr/issues/6415) — [16 October 2022](https://github.com/tldr-pages/tldr/pull/9072#issuecomment-1279847932)
- Emily Grace Seville ([@EmilySeville7cfg](https://github.com/EmilySeville7cfg)):
[19 January 2022](https://github.com/tldr-pages/tldr/issues/1209#issuecomment-285924778) — [24 April 2022](https://github.com/tldr-pages/tldr/issues/8053)
- K.B.Dharun Krishna ([@kbdharun](https://github.com/kbdharun)):
[06 August 2022](https://github.com/tldr-pages/tldr/issues/8309) — [14 December 2022](https://github.com/tldr-pages/tldr/issues/9625)
- Lin Cheng Chieh ([@blueskyson](https://github.com/blueskyson)):
[12 August 2021](https://github.com/tldr-pages/tldr/issues/6330) — [4 January 2023](https://github.com/tldr-pages/tldr/issues/9671)
[12 Aug 2021](https://github.com/tldr-pages/tldr/issues/6330) — [4 Jan 2023](https://github.com/tldr-pages/tldr/issues/9671)
- Lena ([@acuteenvy](https://github.com/acuteenvy)):
[13 May 2023](https://github.com/tldr-pages/tldr/issues/10187) — [21 June 2023](https://github.com/tldr-pages/tldr/issues/10406)
- Juri ([@gutjuri](https://github.com/gutjuri)):
[06 October 2023](https://github.com/tldr-pages/tldr/issues/10874) — [24 October 2023](https://github.com/tldr-pages/tldr/issues/11201)
- Sebastiaan Speck ([@sebastiaanspeck](https://github.com/sebastiaanspeck)):
[19 October 2023](https://github.com/tldr-pages/tldr/issues/11075) — [24 October 2023](https://github.com/tldr-pages/tldr/issues/11202)
## Organization members
@ -126,6 +108,8 @@ An automated list can be found [here](https://github.com/orgs/tldr-pages/people)
[5 January 2020](https://github.com/tldr-pages/tldr/issues/3736) — present
- **Ein Verne ([@einverne](https://github.com/einverne))**:
[6 January 2020](https://github.com/tldr-pages/tldr/issues/3738) — present
- **Matthew Peveler ([@MasterOdin](https://github.com/MasterOdin))**:
[18 March 2021](https://github.com/tldr-pages/tldr/issues/5473) — present
- **Tan Siret Akıncı ([@yutyo](https://github.com/yutyo))**:
[7 April 2021](https://github.com/tldr-pages/tldr/issues/5702) — present
- **Florian Benscheidt ([@Waples](https://github.com/Waples))**:
@ -134,10 +118,6 @@ An automated list can be found [here](https://github.com/orgs/tldr-pages/people)
[21 June 2021](https://github.com/tldr-pages/tldr/issues/6149) — present
- **Lena ([@acuteenvy](https://github.com/acuteenvy))**:
[21 June 2023](https://github.com/tldr-pages/tldr/issues/10406) — present
- **Juri ([@gutjuri](https://github.com/gutjuri))**:
[24 October 2023](https://github.com/tldr-pages/tldr/issues/11201) — present
- **Sebastiaan Speck ([@sebastiaanspeck](https://github.com/sebastiaanspeck))**:
[24 October 2023](https://github.com/tldr-pages/tldr/issues/11202) - present
- Owen Voke ([@owenvoke](https://github.com/owenvoke))
[26 August 2018](https://github.com/tldr-pages/tldr/issues/2258) — [8 May 2019](https://github.com/tldr-pages/tldr/issues/2989)
- Marco Bonelli ([@mebeim](https://github.com/mebeim)):
@ -163,9 +143,7 @@ An automated list can be found [here](https://github.com/orgs/tldr-pages/people)
- K.B.Dharun Krishna ([@kbdharun](https://github.com/kbdharun)):
[14 December 2022](https://github.com/tldr-pages/tldr/issues/9625) — [19 June 2023](https://github.com/tldr-pages/tldr/issues/10057)
- Lin Cheng Chieh ([@blueskyson](https://github.com/blueskyson)):
[4 January 2023](https://github.com/tldr-pages/tldr/issues/9671) — [7 July 2023](https://github.com/tldr-pages/tldr/issues/10054)
- Matthew Peveler ([@MasterOdin](https://github.com/MasterOdin)):
[18 March 2021](https://github.com/tldr-pages/tldr/issues/5473) — [15 November 2023](https://github.com/tldr-pages/tldr/issues/11509)
[4 Jan 2023](https://github.com/tldr-pages/tldr/issues/9671) — [7 July 2023](https://github.com/tldr-pages/tldr/issues/10054)
## Organization owners
@ -187,6 +165,8 @@ An automated list can be found [here](https://github.com/orgs/tldr-pages/people)
[7 April 2021](https://github.com/tldr-pages/tldr/issues/5703) — present
- **CleanMachine1 ([@CleanMachine1](https://github.com/CleanMachine1))**:
[14 December 2021](https://github.com/tldr-pages/tldr/issues/7541) — present
- **Marcher Simon ([@marchersimon](https://github.com/marchersimon))**:
[9 August 2022](https://github.com/tldr-pages/tldr/issues/7540) — present
- **Pixel Häußler ([@pixelcmtd](https://github.com/pixelcmtd))**:
[10 May 2023](https://github.com/tldr-pages/tldr/pull/10056) — present
- **Muhammad Falak R Wani ([@mfrw](https://github.com/mfrw))**:
@ -215,5 +195,3 @@ An automated list can be found [here](https://github.com/orgs/tldr-pages/people)
until [14 December 2021](https://github.com/tldr-pages/tldr/issues/7538)
- Lucas Schneider ([@schneiderl](https://github.com/schneiderl)):
until [7 February 2023](https://github.com/tldr-pages/tldr/issues/10674)
- Marcher Simon ([@marchersimon](https://github.com/marchersimon)):
until [20 November 2023](https://github.com/tldr-pages/tldr/issues/11381)

View File

@ -27,23 +27,19 @@ to traditional [man pages](https://en.wikipedia.org/wiki/Man_page).
Maybe you're new to the command-line world? Perhaps you're just a little rusty or can't always recall the arguments for commands like `lsof`, or `tar`?
It certainly doesn't help that, in the past, the first option explained in `man tar` was:
It certainly doesn't help that the first option explained in `man tar` is:
```console
$ man tar
...
```
-b blocksize
Specify the block size, in 512-byte records, for tape drive I/O.
As a rule, this argument is only needed when reading from or writing to tape drives,
and usually not even then as the default block size of 20 records (10240 bytes) is very common.
...
```
There seems to be room for simpler help pages, focused on practical examples.
How about:
![Screenshot of the tldr client displaying the tar command in light mode.](images/tldr-light.png#gh-light-mode-only)
![Screenshot of the tldr client displaying the tar command in dark mode.](images/tldr-dark.png#gh-dark-mode-only)
![Animated SVG of the tldr client displaying the tar command.](images/tldr.svg)
This repository is just that: an ever-growing collection of examples
for the most common UNIX, Linux, macOS, SunOS, Android and Windows command-line tools.
@ -58,16 +54,16 @@ which is supported by the tldr-pages project maintainers:
npm install -g tldr
```
Alternatively, you can also use the official [Python client](https://github.com/tldr-pages/tldr-python-client), which can be installed via [pip3](https://pypi.org/project/tldr/).
Alternatively, you can also use the [Python client](https://github.com/tldr-pages/tldr-python-client), which can be installed via `pip3`.
```shell
```sh
pip3 install tldr
```
Or Linux and Mac users can also install the official [Rust Client](https://github.com/tldr-pages/tlrc) using [Homebrew](https://formulae.brew.sh/formula/tlrc):
Or Mac users can also install our [C Client](https://github.com/tldr-pages/tldr-c-client) using Homebrew.
```shell
brew install tlrc
```sh
brew install tldr
```
Then you have direct access to simplified, easy-to-read help for commands, such as `tar`,

View File

@ -14,8 +14,7 @@ The overall process should look somewhat like this:
3. Create a feature branch, e.g. named after the command you plan to edit:
`git checkout -b {{branch_name}}`
> [!WARNING]
> It is bad practice to submit a PR from the `main` branch of your forked repository. Please create pull requests from a well named feature branch.
> :warning: It is bad practice to submit a PR from the `main` branch of your forked repository. Please create pull requests from a well named feature branch.
4. Make your changes (edit existing files or create new ones)
@ -25,8 +24,7 @@ The overall process should look somewhat like this:
6. Push the commit(s) to your fork:
`git push origin {{branch_name}}`
> [!WARNING]
> Please avoid force-pushing since it makes the review process harder.
> :warning: Please avoid force-pushing since it makes the review process harder.
7. Go to the GitHub page for your fork and click the green "Compare & pull request" button.

View File

@ -3,15 +3,14 @@
The following guidelines are meant to provide a general basis
for the behavior expected of tldr-pages maintainers.
> [!NOTE]
> This text is a living standard;
> that is, it is meant to *describe* the project's maintenance practices,
> rather than *prescribe* them.
> As a maintainer, you're expected to refer to it for clarification
> about the collaborative workflows of the project,
> but also to propose changes to it
> that you feel would make it more useful
> as a guideline for current and future maintainers.
*Note:* This text is a living standard;
that is, it is meant to *describe* the project's maintenance practices,
rather than *prescribe* them.
As a maintainer, you're expected to refer to it for clarifications
about the collaborative workflows of the project,
but also to propose changes to it
that you feel would make it more useful
as a guideline for current and future maintainers.
## I. Responding to contributions
@ -27,7 +26,7 @@ for the behavior expected of tldr-pages maintainers.
or ask other members to provide their thoughts/opinions.
In addition, if possible, try to hang around in the
[Matrix chat room](https://matrix.to/#/#tldr-pages:matrix.org)
regularly as well, or at least show up every now and then.
on a regular basis as well, or at least show up every now and then.
- **Know when and how to say no**.
Sometimes requests or contributions need to be declined,
@ -40,7 +39,7 @@ for the behavior expected of tldr-pages maintainers.
- Always remember to **thank every contribution**,
even when it can't be accepted (in fact, especially then).
Keep in mind that
[every form of contribution](https://github.com/all-contributors/all-contributors)
[every form of contribution](https://github.com/kentcdodds/all-contributors)
(pull request, feature request, bug report, etc.)
is a voluntary gift of time offered to the tldr-pages project
by someone who cares about it,
@ -58,20 +57,21 @@ for the behavior expected of tldr-pages maintainers.
- PRs should be merged once they
(1) **pass the automated tests** (GitHub Actions, CLA signing, etc.),
(2) have the **review comments addressed**,
(3) get **approved reviews by two maintainers** (the second maintainer can merge immediately after approving).
(3) get **approved reviews by two maintainers**, (the second maintainer can merge immediately after approving) and
(4) have been open for at least **24 hours** unless the changes are trivial
- If a PR fails to get a review from a second maintainer after a few days,
the first maintainer should ping others for review. If it still lingers around
for **over a week without a second maintainers approval**,
the first maintainer (if Owner) can go ahead and merge it. Otherwise, a message
can be sent in the chatroom asking other maintainers to review the PR.
the first maintainer can go ahead and merge it.
- If the only issues holding up a merge are **trivial fixes**
(typos, syntax errors, etc.), and the author doesn't respond in a day or two,
**maintainers can make the necessary changes themselves**,
and proceed with the merge process.
- If a PR **stops getting feedback from the submitter** for more than a month,
- If a PR **stops getting feedback from the submitter** and is marked as stale
by [probot-stale](../.github/workflows/stale.yml),
any maintainer can choose to take over the PR
and make the necessary changes to get the content ready for merging.
@ -85,7 +85,7 @@ for the behavior expected of tldr-pages maintainers.
or if the multiple commits are not semantically independent changes,
use the `Squash and merge` method.
(Don't forget to clean up the body of the squashed commit message.)
If instead, the PR author took the time to craft
If instead the PR author took the time to craft
individual, informative messages for each commit,
then use the `Rebase and merge` method,
to honor that work and preserve the history of the changes.
@ -93,19 +93,10 @@ for the behavior expected of tldr-pages maintainers.
is that if there are more "dirty" commits than "clean" commits,
then prefer squash, else do a rebase.
- Although having push access allows committing directly to the repository to all branches (except main),
please **create pull requests for all of your changes**.
- Although having push access allows committing directly to the repository,
please **create pull requests for all of your changes**,
except the simplest ones (e.g. typo fixes).
This ensures that the entire process that regular contributors go through
is also exposed to maintainers,
who can then identify and address bottlenecks or inconveniences.
Similarly, **avoid merging your own PRs** unless approved by other maintainers.
- At the last week of October, all applicable PRs that wouldn't get merged
in time can be labeled as `hacktoberfest-accepted`.
## III. Transparency
- All non-confidential requests/mail made/sent on behalf of the project
should be documented as an issue with the [archive](https://github.com/tldr-pages/tldr/issues?q=label%3Aarchive) label
and must be communicated with other maintainers.
- All repository/organization settings changes must be documented as an issue with the [archive](https://github.com/tldr-pages/tldr/issues?q=label%3Aarchive) label.

View File

@ -29,7 +29,7 @@ Example:
```md
# krita
> A sketching and painting program designed for digital artists.
> Krita is a sketching and painting program designed for digital artists.
> See also: `gimp`.
> More information: <https://docs.krita.org/en/reference_manual/linux_command_line.html>.
@ -54,8 +54,7 @@ Example:
`krita --fullscreen`
```
> [!NOTE]
> The help page can be any documentation/project/tutorial page, not just a man page,
> :bulb: The help page can be any documentation/project/tutorial page, not just a man page,
> but documentation pages are preferred.
There is a linter that enforces the format above.
@ -76,25 +75,7 @@ Your client may be able to preview a page locally using the `--render` flag:
tldr --render path/to/tldr_page.md
```
### PowerShell-Specific Rules
When documenting PowerShell commands, please take note of the following naming conventions.
- The name of the file name must be written in lowercase, such as `invoke-webrequest.md` instead of `Invoke-WebRequest.md`.
- The page title/heading must be written as-is (matching the spelling intended by Microsoft or the PowerShell module author), such as `Invoke-WebRequest` instead of `invoke-webrequest`.
- The command name and options in the examples should also be written as-is, such as `Command-Name {{input}} -CommandParameter {{value}}` instead of `command-name {{input}} -commandparameter {{value}}`.
Due to [various compatibility differences](https://learn.microsoft.com/powershell/scripting/whats-new/differences-from-windows-powershell) and removed Windows-specific commands in PowerShell 6.x, Ensure that the command works on between **PowerShell 5.1** (aka. the "Legacy Windows PowerShell" as installed in Windows 10 and 11), and the **latest version of the Cross-Platform PowerShell** (formerly known as PowerShell Core). If the command or its options is unavailable or contains different behavior between each version, please kindly note them in the descriptions. For example,
```md
# Clear-RecycleBin
> Clear items from the Recycle Bin.
> This command can only be used through PowerShell versions 5.1 and below, or 7.1 and above.
> More information: <https://learn.microsoft.com/powershell/module/microsoft.powershell.management/clear-recyclebin>.
```
## Aliases
### Aliases
If a command can be called with alternative names (like `vim` can be called by `vi`), alias pages can be created to point the user to the original command name.
@ -124,96 +105,10 @@ Example:
- Pre-translated alias page templates can be found [here](https://github.com/tldr-pages/tldr/blob/main/contributing-guides/translation-templates/alias-pages.md).
### PowerShell-Specific Aliases
Some PowerShell commands may introduce aliases which fall into one of these three categories:
**1. Substituting an existing Windows Command Prompt (`cmd`) command**, such as `cd` aliasing to `Set-Location` with different command options. In this case, add the following alias note into the second line of the original Command Prompt command's tldr description, for example:
```md
# cd
> Display the current working directory or move to a different directory.
> In PowerShell, this command is an alias of `Set-Location`. This documentation is based on the Command Prompt (`cmd`) version of `cd`.
> More information: <https://learn.microsoft.com/windows-server/administration/windows-commands/cd>.
- View documentation of the equivalent PowerShell command:
`tldr set-location`
```
> [!TIP]
> The "View documentation of the equivalent PowerShell command" example is optional and may be excluded if the page already has the maximum number (8) of examples.
**2. Provides a new alias but only executable in PowerShell**, such as `ni` for `New-Item`. In this case, use the [standard alias template](https://github.com/tldr-pages/tldr/blob/main/contributing-guides/translation-templates/alias-pages.md), but add the word "In Powershell," (or equivalent) to indicate that the command is exclusive to PowerShell. For example,
```md
# ni
> In PowerShell, this command is an alias of `New-Item`.
> More information: <https://learn.microsoft.com/powershell/module/microsoft.powershell.management/new-item>.
- View documentation for the original command:
`tldr new-item`
```
**3. Provides a new alias that conflicts with other programs**, most notoriously the inclusion of `curl` and `wget` as aliases of `Invoke-WebRequest` (with a non-compatible set of command options). Note that PowerShell system aliases that fall into this category are commonly exclusive to Windows.
In this case, provide a note and method to determine whether the command currently refers to a PowerShell command (by alias) or others. For example,
```md
# curl
> In PowerShell, this command may be an alias of `Invoke-WebRequest` when the original `curl` program (<https://curl.se>) is not properly installed.
> More information: <https://learn.microsoft.com/powershell/module/microsoft.powershell.utility/invoke-webrequest>.
- Check whether `curl` is properly installed by printing its version number. If this command evaluates into an error, PowerShell may have substituted this command with `Invoke-WebRequest`:
`curl --version`
- View documentation for the original `curl` command:
`tldr curl -p common`
- View documentation for PowerShell's `Invoke-WebRequest` command:
`tldr invoke-webrequest`
```
## Option syntax
- Use **GNU-style long options** (like `--help` rather than `-h`) when they are cross-platform compatible (intended to work the same across multiple platforms).
- When documenting PowerShell commands, use **PowerShell-style long options** (like `-Help` instead of `-H`).
- When long options aren't available for a command, use **short options** instead.
- While we prefer long options, we allow special cases in commands like `pacman` where short options are widely used and preferred over the long options (for cases like these decisions will be made by the maintainers on a case-by-case basis).
- We prefer using a space instead of the equals sign (`=`) to separate options from their arguments (i.e. use `--opt arg` instead of `--opt=arg`) unless the program does not support it.
> [!NOTE]
> The goal of using long options is to make the commands easier to read and understand for non-techincal users. While it is ideal for most users, some users prefer short option for better ease of use. If the command supports both the options, we can highlight the short options using mnemonics instead.
### Short option mnemonics
Short option mnemonics are optional hints which can be added to help users understand the meaning of these short options. The assigned mnemonics should match with the ones in the command's official documentation (e.g. from `man` or `Get-Help`). For example:
```md
- [d]isplay the ins[t]allation [i]D for the current device. Useful for offline license activation:
`slmgr.vbs /dti`
- Display the current license's e[xp]i[r]ation date and time:
`slmgr.vbs /xpr`
```
Note that, in the first example, the `[d]`, `[t]`, and `[i]` characters are enclosed with square brackets to indicate that the `/dti` option of the command is a combination of "display", "installation", and "ID", respectively. Consecutive mnemonic characters can be grouped under the same square brackets, such as `e[xp]i[r]ation` instead of `e[x][p]i[r]ation`.
**Mnemonic characters must be written in a case-sensitive manner**, even when it is placed as the first character of the sentence (i.e. use `[d]isplay` instead of `[D]isplay`). This is to avoid conflicts with GNU-style command options which may interpret uppercase options differently than the lowercase ones, such as `-v` for displaying the command's `[v]ersion` number and `-V` to run the command in `[V]erbose` mode.
Option mnemonics may also be used in translations as long as the highlighted word contains similar meanings to the language (commonly English) which the command is written for. For example, `[d]ownload` in English may be translated into `[d]escargar` in Spanish, `[i]nstall` in English may be translated to `[i]nstallieren` in German, and `[a]pp` in English may be translated into `[a]plikasi` in Indonesian and Malay.
> [!NOTE]
> In cases where the character isn't present in the translated word, you can highlight the option before/next to the equivalent word or you can add the English work beside the translation inside a bracket. For example, `E[x]tract` in English maybe translated into `[x] ekstrak` or `ekstrak [x]` or `ekstrak (E[x]tract)` in Indonesian.
- Use GNU-style **long options** (like `--help` rather than `-h`) when they are cross-platform compatible (intended to work the same across multiple platforms).
- In other cases, use short options (like `-h`).
## Placeholder syntax
@ -246,9 +141,6 @@ Keep the following guidelines in mind when choosing placeholders:
- In case of a possible reference both to a file or a directory,
use `{{path/to/file_or_directory}}`.
> [!NOTE]
> If the command is specific to Windows, use backslashes (`\`) instead, such as `{{path\to\file_or_directory}}`. Drive letters such as `C:` are optional unless if the command input requires an absolute path or specific drive letter range, such as `cd /d {{C}}:{{path\to\directory}}`.
### Extensions
- If a particular extension is expected for the file, append it.
@ -263,7 +155,7 @@ Keep the following guidelines in mind when choosing placeholders:
- If a command can take 0 or more arguments of the same kind, use an ellipsis: `{{placeholder1 placeholder2 ...}}`.
For instance, if multiple paths are expected `{{path/to/directory1 path/to/directory2 ...}}` can be used.
- If a command can take 0 or more arguments of different kinds, use an ellipsis: `{{placeholder1|placeholder2|...}}`.
If there are more than 5 possible values, you can use `|...` after the last item.
If there are more than 5 possible values use `|...` after the last item.
- It's impossible to restrict the minimum or (and) maximum placeholder count via `ellipsis`.
It's up to the program to decide how to handle duplicating values, provided syntax
@ -283,50 +175,15 @@ to figure out how to use the command and fill it in with values.
Technical wording on description lines should use the `backtick` syntax.
Use backticks on the following:
- Paths, e.g. `package.json`, `/etc/package.json`.
- Extensions, e.g. `.dll`.
- Commands, e.g. `ls`.
- Standard streams: `stdout`, `stdin`, `stderr`. **Do not** use the full names (e.g. standard output).
- Paths, ex. `package.json`, `/etc/package.json`.
- Extensions, ex. `.dll`.
- Commands, ex. `ls`.
## Descriptions
## Imperative Mood
- Avoid using the page title in the description (e.g. use `A sketching and painting program designed for digital artists` instead of `Krita is a sketching and painting program designed for digital artists`) unless the program name differs from the executable name (e.g. `rg` and Ripgrep).
- Avoid mentioning that the program is used on the command-line (e.g. use `Ripgrep is a recursive line-oriented search tool` instead of `Ripgrep is a recursive line-oriented CLI search tool`).
### Imperative Mood
- **All descriptions must be concise and phrased in the imperative mood.**
- Example descriptions have to be phrased in imperative mood.
- For example, use `List all files` instead of `Listing all files` or `File listing`.
- This also applies to all translations by default unless otherwise specified in the language-specific section below.
- For example, when writing documentation for `cd`, a tool to check out and work on a specific directory in the Terminal or Command Prompt, **do not** write a lengthy description such as:
```md
> `cd` is a system tool, available in Windows, macOS, and Linux, to check out a specific directory to get things done in the Command Prompt, Terminal, and PowerShell.
```
It should instead be simplified to make it easier for everyone to read:
```md
> Change the current working directory.
```
If you are afraid the commands may differ between platforms or operating systems (e.g. Windows vs macOS), most [tldr pages clients](https://github.com/tldr-pages/tldr/wiki/tldr-pages-clients) will choose the most suitable version of the command.
In this case, the information of the Windows version of `cd` (stored in `pages/windows/cd.md`) will be displayed by default to Windows users, and a generic/common version (stored in `pages/common/cd.md`) will be displayed for Linux, macOS, and other platforms.
When writing descriptions for command examples, **check for any grammatical errors**. `Go to the specified directory` is preferred instead of:
- `Going to the specified directory` (should not be in present participle form)
- `This command will go to the specified directory` (it is clear that this example works for *this* comment)
- `Let's go to the specified directory!`
- `Directory change` (use the active form instead of passive, if possible)
For instance, instead of `Listing all files:`, `List all files:` can be be used as the example's description below:
```md
- Listing all files:
`ls`
```
## Serial Comma
@ -348,30 +205,9 @@ This can be resolved by inserting a comma before the "and" or "or" in the final
## More information links
On the `More information` link line, we prefer linking to the author's provided documentation of the command line reference or man page. When not available, use <https://manned.org> as the default fallback for all platforms (except `osx` and some BSD platforms).
On the `More information` line, prefer linking to the author's provided documentation.
**All links must be enclosed inside angular brackets (`<` and `>`) for proper rendering in clients.**
We prefer translations to use the more information link of the English page by default.
### Versioned links
When a utility or distribution has versioned links for the packages, we prefer linking to the most recent version of documentation (i.e. `latest`) or none if the website automatically redirects to the latest version of the documentation.
For example, use:
- <https://manpages.debian.org/latest/apt/apt.8.html> instead of <https://manpages.debian.org/bookworm/apt/apt.8.en.html>.
- <https://docs.aws.amazon.com/cdk/latest/guide/cli.html> instead of <https://docs.aws.amazon.com/cdk/v2/guide/cli.html>.
### Microsoft Learn links
When linking pages to the Microsoft Learn links, remove the locale from the address as the website will automatically redirect to the reader's preferred locale setting. For example, Use <https://learn.microsoft.com/windows-server/administration/windows-commands/cd> instead of
<https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/cd>.
Additionally, if the link is related to PowerShell command documentation, remove the **documentation version indicator** (in which the version of PowerShell/module that the documentation is derived from), aka. the part of the address that starts with `?view=`.
- Use <https://learn.microsoft.com/powershell/module/microsoft.powershell.utility/select-string> instead of <https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/select-string?view=powershell-7.4>.
- Use <https://learn.microsoft.com/powershell/module/powershellget/install-module> instead of <https://learn.microsoft.com/en-us/powershell/module/powershellget/install-module?view=powershellget-1.x>.
When not available, use <https://manned.org> as the default fallback.
## Language-Specific Rules
@ -383,111 +219,35 @@ The following guidelines are applied to Chinese (`zh`) and traditional Chinese (
1. Place one space before/after English words and numbers.
- For example, use `列出所有 docker 容器` rather than `列出所有docker容器`.
- For example, use `宽度为 50 个字` rather than `宽度为50个字`.
- For example, use `列出所有 docker 容器` rather than `列出所有docker容器`.
- For example, use `宽度为 50 个字` rather than `宽度为50个字`.
2. Place one space between numbers and units **except** degrees and percentages.
- For example, use `容量 50 MB` rather than `容量 50MB`.
- For instances of degree and percentage, use `50°C` and `50%` rather than `50 °C` and `50 %`.
- For example, use `容量 50 MB` rather than `容量 50MB`.
- For instances of degree and percentage, use `50°C` and `50%` rather than `50 °C` and `50 %`.
3. No additional spaces before/after full-width punctuations.
- For example, use `开启 shell进入交互模式` rather than `开启 shell ,进入交互模式`
- For example, use `开启 shell进入交互模式` rather than `开启 shell ,进入交互模式`
4. Use full-width punctuations except for long Latin clauses.
- For example, use `嗨,你好。` rather than `嗨, 你好.`
- For example, use `嗨,你好。` rather than `嗨, 你好.`
5. Use a half-width punctuation to end a sentence when the last character is half-width.
- For example, use `将代码转化为 Python 3.` rather than `将代码转化为 Python 3。`
- For example, use `将代码转化为 Python 3.` rather than `将代码转化为 Python 3。`
6. Use precise form for technical terms, and do not use unofficial Chinese abbreviations.
- For example, use `Facebook` rather than `facebook`, `fb` or `脸书`.
- For example, use `Facebook` rather than `facebook`, `fb` or `脸书`.
In order to maintain readability and normalization, please comply with the 6 rules above as much as possible when translating pages into Chinese.
For more information and examples of Chinese-specific rules, check out [*Chinese Copywriting Guidelines*](https://github.com/sparanoid/chinese-copywriting-guidelines/blob/master/README.en.md).
### Indonesian-Specific Rules
When translating pages to Indonesian, please keep in mind that we expect `tldr` pages to be easy to read for **both types of Indonesian audiences**, which are:
1. People who prefer to use standard Indonesian technical terms as possible, such as `unduh` for `download`, `awakutu` for `debugging`, and `muat ulang` for `reboot`.
- One of the most comprehensive lists of technical terms can be found under the [BlankOn Linux project](https://dev.blankonlinux.or.id/TimPengembang/Dokumentasi/Panduan/PanduanWiki/KamusBlankOn/).
2. People who prefer to use English words as-is to describe technical terms: `download` for `download`, `debugging` for `debugging`, and `reboot` for `reboot`.
The segmentation of these audiences is clearly noted on [Firefox Public Data Report](https://data.firefox.com/dashboard/usage-behavior):
> For most countries in the top 10, the majority (>90%) of users have their language set to the local language, **with a notable exception in Indonesia, which has about 80% English (US) and 20% Indonesian.**
First, command and example descriptions on pages in Indonesian must be written **without using active verb forms (i.e. those with `ber-` and `me-` prefixes)**. This means that sentences such as:
> **Mengunduh** sebuah file ke dalam suatu direktori
> (i.e. Downloading a file into a directory)
is considered incorrect. The correct form of the sentence should be:
> **Unduh** sebuah file ke dalam suatu direktori
Second, we recommend using the following forms of technical terms to make translated pages easier to read for both types of Indonesian audiences. Some of them may be used as-is, but others must be rewritten using Indonesian standard terms.
| English | Indonesian | Consideration(s) |
|---|---|---|
| App / Application | Aplikasi | The abbreviated word `apl.` is not common to some readers. |
| Boot, Reboot | Muat, Muat ulang | These words are the same for `load` and `reload`. See notes on the bottom section. |
| Client | Klien | |
| Command-line | Command-line | Using the word as-is is preferred over `baris perintah` or `alat berbasis mekanisme baris perintah` (`command-line tool`). |
| Commit (Git) | Commit | |
| Compile, Compiler | Kompilasikan, Pengompilasi | [`kompilasi`](https://kbbi.kemdikbud.go.id/entri/kompilasi) is officially considered as noun. Requires a `-kan` suffix to convert into a verb. |
| Debugger | Debugger | Preferred over `pengawakutu` (`peng`-[`awakutu`](https://kbbi.kemdikbud.go.id/entri/awakutu)) which is unfamiliar to some readers. |
| Device | Perangkat | Preferred over [`peranti`](https://kbbi.kemdikbud.go.id/entri/peranti). |
| Disc | Disc | Preferred over [`cakram`](https://kbbi.kemdikbud.go.id/entri/cakram) which is unfamiliar by some readers. Use specific words if possible (e.g. CD or DVD). |
| Execute / Run (a program...) | Jalankan | Preferred over [`eksekusikan`](https://kbbi.kemdikbud.go.id/entri/eksekusikan) which is longer to read and write. |
| File | File | Preferred over [`berkas`](https://kbbi.kemdikbud.go.id/entri/berkas) which may be unfamiliar by some readers. |
| Generate | Buat | Preferred over [`hasilkan`](https://kbbi.kemdikbud.go.id/entri/hasilkan). Example context: `Buat laporan baru`. |
| Hardware | Perangkat Keras | Preferred over [`peranti`](https://kbbi.kemdikbud.go.id/entri/peranti). |
| Image (as picture or visual image) | Gambar | Do not confuse with `image` as means of storage. |
| Image (as means of storage, such as CD, ISO, and Docker) | Image | Another recommended word, [`citra`](https://kbbi.kemdikbud.go.id/entri/citra), is not officially recognized for computing. |
| Initialize, Reinitialize | Inisialisasikan, Inisialisasikan Ulang | The word [`inisialisasi`](https://kbbi.kemdikbud.go.id/entri/inisialisasi) is officially considered as noun. Requires a `-kan` suffix to convert into a verb. |
| Interpreter | Interpreter | Preferred over [`penerjemah`](https://kbbi.kemdikbud.go.id/entri/penerjemah) which is also commonly used to describe `translator`. |
| Install, Reinstall | Pasang, Pasang Ulang | Preferred over `instal` [which is not considered a standard word](https://kbbi.kemdikbud.go.id/entri/instal). |
| Load, Reload | Muat, Muat ulang | These words are the same for `boot` and `reboot`. See notes in the bottom section. |
| Options / Preferences (macOS) / Settings | Pengaturan | Preferred over [`opsi`](https://kbbi.kemdikbud.go.id/entri/opsi). |
| Server | Server | Preferred over [`peladen`](https://kbbi.kemdikbud.go.id/entri/peladen) or [`pelayan`](https://kbbi.kemdikbud.go.id/entri/pelayan), which are less common when used in computing contexts. |
| Service | Layanan | The Indonesian standard word is acceptable here. |
| Shell (command-line interface) | Syel | The Indonesian standard word is acceptable here. |
| Software | Perangkat Lunak | Preferred over [`peranti`](https://kbbi.kemdikbud.go.id/entri/peranti). |
| Start, Restart | Mulai, Mulai Ulang / Nyalakan, Nyalakan Ulang | See notes on the bottom section. |
| Update | Perbarui | Do not confuse with `upgrade`. |
| Upgrade | Tingkatkan | Do not confuse with `update`. |
When translating sentences that contain the word `boot` and `load` together, please add the context of the item that is being booted and/or loaded, so the use of the `muat` word may not be ambiguous. For example, when translating:
> Load configuration from a specific file after reboot
Instead of translating the sentence into:
> Muat konfigurasi dari file yang ditentukan setelah muat ulang
Add detailed contexts to remove ambiguity (notice the highlighted word):
> Muat konfigurasi dari file yang ditentukan setelah **pengguna** memuat ulang **sistem operasi**
Similarly, for the word `start` / `mulai`
> Mulai proses server web
> (Start the web server process)
To ensure that the sentence may not be confused with `start processing the web server`, you can use other words such as `nyalakan`:
> Nyalakan proses server web
### French-Specific Rules
Command and example descriptions on pages in French must use the third person singular present indicative tense (présent de l'indicatif à la troisième personne du singulier).
Example descriptions on pages in French must use the third person singular present indicative tense (présent de l'indicatif à la troisième personne du singulier).
For example, use `Extrait une archive` rather than `Extraire une archive` or `Extrais une archive`.

View File

@ -11,12 +11,10 @@ The templates can be changed when necessary.
[bn](#bn) •
[bs](#bs) •
[ca](#ca) •
[cs](#cs) •
[da](#da) •
[de](#de) •
[es](#es) •
[fa](#fa) •
[fi](#fi) •
[fr](#fr) •
[hi](#hi) •
[id](#id) •
@ -76,15 +74,7 @@ The templates can be changed when necessary.
### bn
```markdown
# example
> এই কমান্ড একটি উপনাম `example`.
- মূল কমান্ডের জন্য ডকুমেন্টেশন দেখুন:
`tldr example`
```
Not translated yet.
---
@ -116,20 +106,6 @@ The templates can be changed when necessary.
---
### cs
```markdown
# example
> Tento příkaz je aliasem pro `example`.
- Podívejte se na dokumentaci původního příkazu:
`tldr example`
```
---
### da
```markdown
@ -179,21 +155,7 @@ The templates can be changed when necessary.
> این دستور یک نام مستعار از `example` است.
- مشاهده مستندات دستور اصلی :
`tldr example`
```
---
### fi
```markdown
# example
> Tämä komento on `example`:n alias.
- Katso alkuperäisen komennon dokumentaatiossa:
- مشاهده مستندات دستور اصلی
`tldr example`
```
@ -398,15 +360,7 @@ The templates can be changed when necessary.
### ro
```markdown
# example
> Această comandă este un alias al `example`.
- Vizualizați documentația pentru comanda originală:
`tldr example`
```
Not translated yet.
---
@ -432,15 +386,7 @@ Not translated yet.
### sr
```markdown
# example
> Ова наредба је псеудоним `example`.
- Погледајте документацију за оригиналну команду:
`tldr example`
```
Not translated yet.
---
@ -516,15 +462,7 @@ Not translated yet.
### uz
```markdown
# example
> Ushbu buyruq taxallus `example`.
- Asl buyruq uchun hujjatlarni ko'rish:
`tldr example`
```
Not translated yet.
---

View File

@ -8,15 +8,13 @@ Only the left-alignment of the header gets lost and has to be re-added again (`|
| en | path/to/file | path/to/directory | path/to/file_or_directory | package | username |
|:------|:---------------------|:-----------------------|:----------------------------------|:----------|:------------------|
| ar | المسار/إلى/الملف | المسار/إلى/الدليل | المسار/إلى/الملف_أو_الدليل | حزمة | اسم_المستخدم |
| bn | পাথ/টু/ফাইল | পাথ/টু/ডিরেক্টরি | পথ/থেকে/ফাইল_অথবা_ডিরেক্টরি | প্যাকেজ | ইউজারনেম |
| bn | | | | | |
| bs | | | | | |
| ca | camí/al/fitxer | camí/al/directori | camí/al/fitxer_o_directori | paquet | nom_usuari |
| cs | cesta/k/souboru | cesta/k/adresari | cesta/k/souboru_ci_adresari | balíček | jmeno_uzivatele |
| da | sti/til/fil | sti/til/mappe | sti/til/fil_eller_mappe | pakke | brugernavn |
| de | pfad/zu/datei | pfad/zu/verzeichnis | pfad/zu/datei_oder_verzeichnis | paket | benutzername |
| es | ruta/al/archivo | ruta/al/directorio | ruta/al/archivo_o_directorio | paquete | nombre_de_usuario |
| fa | مسیر/به/فایل | مسیر/به/پوشه | مسیر/به/فایل_یا_پوشه | بسته | نام کاربری |
| fi | polku/tiedostoon | polku/hakemistoon | polku/tiedostoon_vai_hakemistoon | paketti | tunnus |
| fr | chemin/vers/fichier | chemin/vers/dossier | chemin/vers/fichier_ou_dossier | paquet | nom_d_utilisateur |
| hi | फ़ाइल/का/पथ | निर्देशिका/का/पथ | फ़ाइल_या_निर्देशिका/का/पथ | पैकेज | उपयोगकर्ता_नाम |
| id | jalan/menuju/file | jalan/menuju/direktori | jalan/menuju/file_atau_direktori | paket | nama_pengguna |
@ -25,7 +23,7 @@ Only the left-alignment of the header gets lost and has to be re-added again (`|
| ko | 경로/대상/파일 | 경로/대상/폴더 | 경로/대상/파일_또는_폴더 | 패키지 | 사용자 명 |
| ml |ഫയലിലേക്കുള്ള/പാത |ഡയറക്ടറിയിലേക്കുള്ള/പാത |ഫയലിലേക്കോ_ഡയറക്ടറിയിലേക്കോ/ഉള്ള/പാത |പാക്കേജ് |ഉപയോക്തൃനാമം |
| ne | फाइल/को/पथ | निर्देशिका/को/पथ | फाइल_वा_निर्देशिका/को/पथ | प्याकेज | प्रयोगकर्ता_नाम |
| nl | pad/naar/bestand | pad/naar/map | pad/naar/bestand_of_map | pakket | gebruikersnaam |
| nl | pad/naar/bestand | pad/naar/directory | pad/naar/bestand_of_directory | | |
| no | | | | | |
| pl | ścieżka/do/pliku | ścieżka/do/katalogu | ścieżka/do/pliku_lub_katalogu | pakiet | nazwa_użytkownika |
| pt_BR | caminho/para/arquivo | caminho/para/diretorio | caminho/para/arquivo_ou_diretorio | pacote | nome_do_usuario |
@ -35,7 +33,7 @@ Only the left-alignment of the header gets lost and has to be re-added again (`|
| sh | | | | | |
| sr | | | | | |
| sv | sökväg/till/fil | sökväg/till/katalog | sökväg/till/fil_eller_katalog | paket | användarnamn |
| ta | கோப்பு/பாதை | அடைவிற்குப்/பாதை | கோப்பு_அல்லது_அடைவு/பாதை | நிரல்தொகுப்பு | பயனர்ப்பெயர் |
| ta |பாதை/டு/கோப்பு |அடைவிற்குப்/பாதை |பாதை/டு/கோப்பு_அல்லது_அடைவு|நிரல்தொகுப்பு|பயனர்ப்பெயர் |
| th | ทาง/ไป/ไฟล์ | ทาง/ไป/สารบบ | ทาง/ไป/สารบบหรือไฟล์ | แพคเกจ | ชื่อผู้ใช้ |
| tr | dosya/yolu | dizin/yolu | dosya_veya_dizin/yolu | paket | kullanıcı_adı |
| uk | шлях/до/файлу | шлях/до/директорії | шлях/до/файлу_чи_директорії | пакунок | ім'я_користувача |

View File

@ -10,12 +10,10 @@ This file contains the translation templates of this notice.
[bn](#bn) •
[bs](#bs) •
[ca](#ca) •
[cs](#cs) •
[da](#da) •
[de](#de) •
[es](#es) •
[fa](#fa) •
[fi](#fi) •
[fr](#fr) •
[hi](#hi) •
[id](#id) •
@ -63,17 +61,13 @@ Some subcommands such as `example command` have their own usage documentation.
### bn
```markdown
কিছু উপ-কমান্ড যেমন `example command` স্বতন্ত্র ব্যবহার নির্দেশনা রয়েছে.
```
Not translated yet.
---
### bs
```markdown
Neke podnaredbe kao što je `example command` imaju vlastitu dokumentaciju o korištenju.
```
Not translated yet.
---
@ -85,14 +79,6 @@ Alguns subcomandaments com `example command` tenen la seva pròpia documentació
---
### cs
```markdown
Některé dílčí příkazy jako je `example command` mají svou vlastní dokumentaci.
```
---
### da
```markdown
@ -125,14 +111,6 @@ Algunos subcomandos, como `example command`, tienen su propia documentación de
---
### fi
```markdown
Joillakin alakomennoilla, kuten `example command`, on omat käyttöoppaansa.
```
---
### fr
```markdown
@ -175,25 +153,19 @@ Alcuni comandi aggiuntivi, come `example command`, hanno la propria documentazio
### ko
```markdown
`example command`와 같은 일부 하위 명령에는 자체 사용 설명서가 있습니다.
```
Not translated yet.
---
### lo
```markdown
ບາງຄໍາສັ່ງຍ່ອຍເຊັ່ນ `example command` ມີເອກະສານການນໍາໃຊ້ຂອງຕົນເອງ.
```
Not translated yet.
---
### ml
```markdown
`example command` പോലുള്ള ചില ഉപകമാൻഡുകൾക്ക് അവരുടേതായ ഉപയോഗ ഡോക്യുമെന്റേഷൻ ഉണ്ട്.
```
Not translated yet.
---
@ -215,17 +187,13 @@ Sommige subcommando's zoals `example command` hebben een eigen documentatie pagi
### no
```markdown
Noen underkommandoer som `example command` har sin egen bruksdokumentasjon.
```
Not translated yet.
---
### pl
```markdown
Niektóre podkomendy takie jak `example command` mają osobną dokumentację.
```
Not translated yet.
---
@ -247,9 +215,7 @@ Alguns subcomandos, como `example command`, tem a sua própria documentação de
### ro
```markdown
Unele subcomenzi precum `example command` au propria lor documentație de utilizare.
```
Not translated yet.
---
@ -269,9 +235,7 @@ Not translated yet.
### sr
```markdown
Неке подкоманде као што је `example command` имају своју документацију о коришћењу.
```
Not translated yet.
---
@ -293,9 +257,7 @@ En del underkommandon som t.ex: `example command` har sin egen användningsdokum
### th
```markdown
คำสั่งย่อยบางคำสั่ง เช่น `example command` มีเอกสารการใช้งานของตัวเอง
```
Not translated yet.
---
@ -317,9 +279,7 @@ En del underkommandon som t.ex: `example command` har sin egen användningsdokum
### uz
```markdown
`example command` kabi baʼzi kichik buyruqlar oʻzlarining foydalanish hujjatlariga ega.
```
Not translated yet.
---

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

494
images/tldr.svg Normal file
View File

@ -0,0 +1,494 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1250" height="738.14">
<rect width="1250" height="738.14" rx="0" ry="0" class="a" />
<svg height="738.14" viewBox="0 0 125 73.814" width="1250" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<style>@keyframes l{0%{transform:translateX(0)}10.3%{transform:translateX(-125px)}10.5%{transform:translateX(-375px)}19%{transform:translateX(-500px)}20.2%{transform:translateX(-625px)}22.1%{transform:translateX(-750px)}24.9%{transform:translateX(-875px)}27.8%{transform:translateX(-1000px)}29.6%{transform:translateX(-1125px)}31.4%{transform:translateX(-1250px)}32.9%{transform:translateX(-1375px)}35.7%{transform:translateX(-1750px)}44%{transform:translateX(-2000px)}44.2%{transform:translateX(-2250px)}44.5%{transform:translateX(-2625px)}to{transform:translateX(-2750px)}}.a{fill:#000000}.c,.d{fill:#00ff00;font-weight:700;white-space:pre}.d{fill:#00ffff}.e,.g,.h,.i{fill:#ffffff;white-space:pre}.g,.h,.i{fill:#00ff00}.h,.i{fill:#ff0000}.i{fill:#0ff}</style>
<g font-family="Monaco,Consolas,Menlo,'Bitstream Vera Sans Mono','Powerline Symbols',monospace" font-size="1.67">
<defs>
<symbol id="1">
<text y="1.67" class="c"></text>
<text x="3.006" y="1.67" class="d">~</text>
</symbol>
<symbol id="2">
<text y="1.67" class="c"></text>
<text x="3.006" y="1.67" class="d">~</text>
<text x="5.01" y="1.67" class="e">tldr</text>
</symbol>
<symbol id="3">
<text y="1.67" class="c"></text>
<text x="3.006" y="1.67" class="d">~</text>
<text x="5.01" y="1.67" class="e">tldr</text>
<text x="10.02" y="1.67" class="e">tar</text>
</symbol>
<symbol id="4">
<text x="2.004" y="1.67" style="white-space:pre" fill="#fff" font-weight="700">tar</text>
</symbol>
<symbol id="5">
<text x="2.004" y="1.67" class="e">Archiving</text>
<text x="12.024" y="1.67" class="e">utility.</text>
</symbol>
<symbol id="6">
<text x="2.004" y="1.67" class="e">Often</text>
<text x="8.016" y="1.67" class="e">combined</text>
<text x="17.034" y="1.67" class="e">with</text>
<text x="22.044" y="1.67" class="e">a</text>
<text x="24.048" y="1.67" class="e">compression</text>
<text x="36.072" y="1.67" class="e">method,</text>
<text x="44.088" y="1.67" class="e">such</text>
<text x="49.098" y="1.67" class="e">as</text>
<text x="52.104" y="1.67" class="e">gzip</text>
<text x="57.114" y="1.67" class="e">or</text>
<text x="60.12" y="1.67" class="e">bzip2.</text>
</symbol>
<symbol id="7">
<text x="2.004" y="1.67" class="e">More</text>
<text x="7.014" y="1.67" class="e">information:</text>
<text x="20.04" y="1.67" class="e">https://www.gnu.org/software/tar.</text>
</symbol>
<symbol id="8">
<text x="2.004" y="1.67" class="g">-</text>
<text x="4.008" y="1.67" class="g">[c]reate</text>
<text x="13.026" y="1.67" class="g">an</text>
<text x="16.032" y="1.67" class="g">archive</text>
<text x="24.048" y="1.67" class="g">from</text>
<text x="29.058" y="1.67" class="g">[f]iles:</text>
</symbol>
<symbol id="9">
<text x="4.008" y="1.67" class="h">tar</text>
<text x="8.016" y="1.67" class="h">cf</text>
<text x="11.022" y="1.67" class="i">target.tar</text>
<text x="22.044" y="1.67" class="i">file1</text>
<text x="28.056" y="1.67" class="i">file2</text>
<text x="34.068" y="1.67" class="i">file3</text>
</symbol>
<symbol id="10">
<text x="2.004" y="1.67" class="g">-</text>
<text x="4.008" y="1.67" class="g">[c]reate</text>
<text x="13.026" y="1.67" class="g">a</text>
<text x="15.03" y="1.67" class="g">g[z]ipped</text>
<text x="25.05" y="1.67" class="g">archive</text>
<text x="33.066" y="1.67" class="g">from</text>
<text x="38.076" y="1.67" class="g">[f]iles:</text>
</symbol>
<symbol id="11">
<text x="4.008" y="1.67" class="h">tar</text>
<text x="8.016" y="1.67" class="h">czf</text>
<text x="12.024" y="1.67" class="i">target.tar.gz</text>
<text x="26.052" y="1.67" class="i">file1</text>
<text x="32.064" y="1.67" class="i">file2</text>
<text x="38.076" y="1.67" class="i">file3</text>
</symbol>
<symbol id="12">
<text x="2.004" y="1.67" class="g">-</text>
<text x="4.008" y="1.67" class="g">[c]reate</text>
<text x="13.026" y="1.67" class="g">a</text>
<text x="15.03" y="1.67" class="g">g[z]ipped</text>
<text x="25.05" y="1.67" class="g">archive</text>
<text x="33.066" y="1.67" class="g">from</text>
<text x="38.076" y="1.67" class="g">a</text>
<text x="40.08" y="1.67" class="g">directory</text>
<text x="50.1" y="1.67" class="g">using</text>
<text x="56.112" y="1.67" class="g">relative</text>
<text x="65.13" y="1.67" class="g">paths:</text>
</symbol>
<symbol id="13">
<text x="4.008" y="1.67" class="h">tar</text>
<text x="8.016" y="1.67" class="h">czf</text>
<text x="12.024" y="1.67" class="i">target.tar.gz</text>
<text x="26.052" y="1.67" class="h">--directory=</text>
<text x="38.076" y="1.67" class="i">path/to/directory</text>
<text x="56.112" y="1.67" class="h">.</text>
</symbol>
<symbol id="14">
<text x="2.004" y="1.67" class="g">-</text>
<text x="4.008" y="1.67" class="g">E[x]tract</text>
<text x="14.028" y="1.67" class="g">a</text>
<text x="16.032" y="1.67" class="g">(compressed)</text>
<text x="29.058" y="1.67" class="g">archive</text>
<text x="37.074" y="1.67" class="g">[f]ile</text>
<text x="44.088" y="1.67" class="g">into</text>
<text x="49.098" y="1.67" class="g">the</text>
<text x="53.106" y="1.67" class="g">current</text>
<text x="61.122" y="1.67" class="g">directory:</text>
</symbol>
<symbol id="15">
<text x="4.008" y="1.67" class="h">tar</text>
<text x="8.016" y="1.67" class="h">xf</text>
<text x="11.022" y="1.67" class="i">source.tar[.gz|.bz2|.xz]</text>
</symbol>
<symbol id="16">
<text x="2.004" y="1.67" class="g">-</text>
<text x="4.008" y="1.67" class="g">E[x]tract</text>
<text x="14.028" y="1.67" class="g">a</text>
<text x="16.032" y="1.67" class="g">(compressed)</text>
<text x="29.058" y="1.67" class="g">archive</text>
<text x="37.074" y="1.67" class="g">[f]ile</text>
<text x="44.088" y="1.67" class="g">into</text>
<text x="49.098" y="1.67" class="g">the</text>
<text x="53.106" y="1.67" class="g">target</text>
<text x="60.12" y="1.67" class="g">directory:</text>
</symbol>
<symbol id="17">
<text x="4.008" y="1.67" class="h">tar</text>
<text x="8.016" y="1.67" class="h">xf</text>
<text x="11.022" y="1.67" class="i">source.tar[.gz|.bz2|.xz]</text>
<text x="36.072" y="1.67" class="h">--directory=</text>
<text x="48.096" y="1.67" class="i">directory</text>
</symbol>
<symbol id="18">
<text x="2.004" y="1.67" class="g">-</text>
<text x="4.008" y="1.67" class="g">[c]reate</text>
<text x="13.026" y="1.67" class="g">a</text>
<text x="15.03" y="1.67" class="g">compressed</text>
<text x="26.052" y="1.67" class="g">archive</text>
<text x="34.068" y="1.67" class="g">from</text>
<text x="39.078" y="1.67" class="g">[f]iles,</text>
<text x="48.096" y="1.67" class="g">using</text>
<text x="54.108" y="1.67" class="g">[a]rchive</text>
<text x="64.128" y="1.67" class="g">suffix</text>
<text x="71.142" y="1.67" class="g">to</text>
<text x="74.148" y="1.67" class="g">determine</text>
<text x="84.168" y="1.67" class="g">the</text>
<text x="88.176" y="1.67" class="g">compression</text>
<text x="100.2" y="1.67" class="g">program:</text>
</symbol>
<symbol id="19">
<text x="4.008" y="1.67" class="h">tar</text>
<text x="8.016" y="1.67" class="h">caf</text>
<text x="12.024" y="1.67" class="i">target.tar.xz</text>
<text x="26.052" y="1.67" class="i">file1</text>
<text x="32.064" y="1.67" class="i">file2</text>
<text x="38.076" y="1.67" class="i">file3</text>
</symbol>
<symbol id="20">
<text x="2.004" y="1.67" class="g">-</text>
<text x="4.008" y="1.67" class="g">Lis[t]</text>
<text x="11.022" y="1.67" class="g">the</text>
<text x="15.03" y="1.67" class="g">contents</text>
<text x="24.048" y="1.67" class="g">of</text>
<text x="27.054" y="1.67" class="g">a</text>
<text x="29.058" y="1.67" class="g">tar</text>
<text x="33.066" y="1.67" class="g">[f]ile</text>
<text x="40.08" y="1.67" class="g">[v]erbosely:</text>
</symbol>
<symbol id="21">
<text x="4.008" y="1.67" class="h">tar</text>
<text x="8.016" y="1.67" class="h">tvf</text>
<text x="12.024" y="1.67" class="i">source.tar</text>
</symbol>
<symbol id="22">
<text x="2.004" y="1.67" class="g">-</text>
<text x="4.008" y="1.67" class="g">E[x]tract</text>
<text x="14.028" y="1.67" class="g">[f]iles</text>
<text x="22.044" y="1.67" class="g">matching</text>
<text x="31.062" y="1.67" class="g">a</text>
<text x="33.066" y="1.67" class="g">pattern:</text>
</symbol>
<symbol id="23">
<text x="4.008" y="1.67" class="h">tar</text>
<text x="8.016" y="1.67" class="h">xf</text>
<text x="11.022" y="1.67" class="i">source.tar</text>
<text x="22.044" y="1.67" class="h">--wildcards</text>
<text x="34.068" y="1.67" class="h">&quot;</text>
<text x="35.07" y="1.67" class="i">*.html</text>
<text x="41.082" y="1.67" class="h">&quot;</text>
</symbol>
<symbol id="a">
<path fill="transparent" d="M0 0h125v34H0z" />
</symbol>
<symbol id="b">
<path fill="#6f7683" d="M0 0h1.102v2.171H0z" />
</symbol>
</defs>
<path class="a" d="M0 0h125v73.814H0z" />
<g style="animation-duration:6.274285s;animation-iteration-count:infinite;animation-name:l;animation-timing-function:steps(1,end)">
<svg width="2875">
<svg>
<use xlink:href="#a" />
<use xlink:href="#b" x="-.004" />
</svg>
<svg x="125">
<use xlink:href="#a" />
<use xlink:href="#b" x="-.004" />
</svg>
<svg x="250">
<use xlink:href="#a" />
<use xlink:href="#b" x="4.996" />
<use xlink:href="#1" />
</svg>
<svg x="375">
<use xlink:href="#a" />
<use xlink:href="#b" x="4.996" />
<use xlink:href="#1" />
</svg>
<svg x="500">
<use xlink:href="#a" />
<use xlink:href="#b" x="5.996" />
<text y="1.67" class="c"></text>
<text x="3.006" y="1.67" class="d">~</text>
<text x="5.01" y="1.67" class="e">t</text>
</svg>
<svg x="625">
<use xlink:href="#a" />
<use xlink:href="#b" x="6.996" />
<text y="1.67" class="c"></text>
<text x="3.006" y="1.67" class="d">~</text>
<text x="5.01" y="1.67" class="e">tl</text>
</svg>
<svg x="750">
<use xlink:href="#a" />
<use xlink:href="#b" x="7.996" />
<text y="1.67" class="c"></text>
<text x="3.006" y="1.67" class="d">~</text>
<text x="5.01" y="1.67" class="e">tld</text>
</svg>
<svg x="875">
<use xlink:href="#a" />
<use xlink:href="#b" x="8.996" />
<use xlink:href="#2" />
</svg>
<svg x="1000">
<use xlink:href="#a" />
<use xlink:href="#b" x="9.996" />
<use xlink:href="#2" />
</svg>
<svg x="1125">
<use xlink:href="#a" />
<use xlink:href="#b" x="10.996" />
<text y="1.67" class="c"></text>
<text x="3.006" y="1.67" class="d">~</text>
<text x="5.01" y="1.67" class="e">tldr</text>
<text x="10.02" y="1.67" class="e">t</text>
</svg>
<svg x="1250">
<use xlink:href="#a" />
<use xlink:href="#b" x="11.996" />
<text y="1.67" class="c"></text>
<text x="3.006" y="1.67" class="d">~</text>
<text x="5.01" y="1.67" class="e">tldr</text>
<text x="10.02" y="1.67" class="e">ta</text>
</svg>
<svg x="1375">
<use xlink:href="#a" />
<use xlink:href="#b" x="12.996" />
<use xlink:href="#3" />
</svg>
<svg x="1500">
<use xlink:href="#a" />
<use xlink:href="#b" x="12.996" />
<use xlink:href="#3" />
</svg>
<svg x="1625">
<use xlink:href="#a" />
<use xlink:href="#b" x="-.004" y="2.146" />
<use xlink:href="#3" />
</svg>
<svg x="1750">
<use xlink:href="#a" />
<use xlink:href="#b" x="-.004" y="2.146" />
<use xlink:href="#3" />
</svg>
<svg x="1875">
<use xlink:href="#a" />
<use xlink:href="#b" x="47.996" y="45.566" />
<use xlink:href="#3" />
<use xlink:href="#4" y="4.342" />
<use xlink:href="#5" y="8.684" />
<use xlink:href="#6" y="10.855" />
<use xlink:href="#7" y="13.026" />
<use xlink:href="#8" y="17.368" />
<use xlink:href="#9" y="19.539" />
<use xlink:href="#10" y="23.881" />
<use xlink:href="#11" y="26.052" />
<use xlink:href="#12" y="30.394" />
<use xlink:href="#13" y="32.565" />
<use xlink:href="#14" y="36.907" />
<use xlink:href="#15" y="39.078" />
<use xlink:href="#16" y="43.42" />
<text x="4.008" y="47.261" class="h">tar</text>
<text x="8.016" y="47.261" class="h">xf</text>
<text x="11.022" y="47.261" class="i">source.tar[.gz|.bz2|.xz]</text>
<text x="36.072" y="47.261" class="h">--directory=</text>
</svg>
<svg x="2000">
<use xlink:href="#a" />
<use xlink:href="#b" x="-.004" y="71.618" />
<use xlink:href="#3" />
<use xlink:href="#4" y="4.342" />
<use xlink:href="#5" y="8.684" />
<use xlink:href="#6" y="10.855" />
<use xlink:href="#7" y="13.026" />
<use xlink:href="#8" y="17.368" />
<use xlink:href="#9" y="19.539" />
<use xlink:href="#10" y="23.881" />
<use xlink:href="#11" y="26.052" />
<use xlink:href="#12" y="30.394" />
<use xlink:href="#13" y="32.565" />
<use xlink:href="#14" y="36.907" />
<use xlink:href="#15" y="39.078" />
<use xlink:href="#16" y="43.42" />
<use xlink:href="#17" y="45.591" />
<use xlink:href="#18" y="49.933" />
<use xlink:href="#19" y="52.104" />
<use xlink:href="#20" y="56.446" />
<use xlink:href="#21" y="58.617" />
<use xlink:href="#22" y="62.959" />
<use xlink:href="#23" y="65.13" />
</svg>
<svg x="2125">
<use xlink:href="#a" />
<use xlink:href="#b" x="-.004" y="71.618" />
<use xlink:href="#3" />
<use xlink:href="#4" y="4.342" />
<use xlink:href="#5" y="8.684" />
<use xlink:href="#6" y="10.855" />
<use xlink:href="#7" y="13.026" />
<use xlink:href="#8" y="17.368" />
<use xlink:href="#9" y="19.539" />
<use xlink:href="#10" y="23.881" />
<use xlink:href="#11" y="26.052" />
<use xlink:href="#12" y="30.394" />
<use xlink:href="#13" y="32.565" />
<use xlink:href="#14" y="36.907" />
<use xlink:href="#15" y="39.078" />
<use xlink:href="#16" y="43.42" />
<use xlink:href="#17" y="45.591" />
<use xlink:href="#18" y="49.933" />
<use xlink:href="#19" y="52.104" />
<use xlink:href="#20" y="56.446" />
<use xlink:href="#21" y="58.617" />
<use xlink:href="#22" y="62.959" />
<use xlink:href="#23" y="65.13" />
</svg>
<svg x="2250">
<use xlink:href="#a" />
<use xlink:href="#b" x="-.004" y="71.618" />
<use xlink:href="#3" />
<use xlink:href="#4" y="4.342" />
<use xlink:href="#5" y="8.684" />
<use xlink:href="#6" y="10.855" />
<use xlink:href="#7" y="13.026" />
<use xlink:href="#8" y="17.368" />
<use xlink:href="#9" y="19.539" />
<use xlink:href="#10" y="23.881" />
<use xlink:href="#11" y="26.052" />
<use xlink:href="#12" y="30.394" />
<use xlink:href="#13" y="32.565" />
<use xlink:href="#14" y="36.907" />
<use xlink:href="#15" y="39.078" />
<use xlink:href="#16" y="43.42" />
<use xlink:href="#17" y="45.591" />
<use xlink:href="#18" y="49.933" />
<use xlink:href="#19" y="52.104" />
<use xlink:href="#20" y="56.446" />
<use xlink:href="#21" y="58.617" />
<use xlink:href="#22" y="62.959" />
<use xlink:href="#23" y="65.13" />
</svg>
<svg x="2375">
<use xlink:href="#a" />
<use xlink:href="#b" x="4.996" y="71.618" />
<use xlink:href="#3" />
<use xlink:href="#4" y="4.342" />
<use xlink:href="#5" y="8.684" />
<use xlink:href="#6" y="10.855" />
<use xlink:href="#7" y="13.026" />
<use xlink:href="#8" y="17.368" />
<use xlink:href="#9" y="19.539" />
<use xlink:href="#10" y="23.881" />
<use xlink:href="#11" y="26.052" />
<use xlink:href="#12" y="30.394" />
<use xlink:href="#13" y="32.565" />
<use xlink:href="#14" y="36.907" />
<use xlink:href="#15" y="39.078" />
<use xlink:href="#16" y="43.42" />
<use xlink:href="#17" y="45.591" />
<use xlink:href="#18" y="49.933" />
<use xlink:href="#19" y="52.104" />
<use xlink:href="#20" y="56.446" />
<use xlink:href="#21" y="58.617" />
<use xlink:href="#22" y="62.959" />
<use xlink:href="#23" y="65.13" />
<use xlink:href="#1" y="71.643" />
</svg>
<svg x="2500">
<use xlink:href="#a" />
<use xlink:href="#b" x="4.996" y="71.618" />
<use xlink:href="#3" />
<use xlink:href="#4" y="4.342" />
<use xlink:href="#5" y="8.684" />
<use xlink:href="#6" y="10.855" />
<use xlink:href="#7" y="13.026" />
<use xlink:href="#8" y="17.368" />
<use xlink:href="#9" y="19.539" />
<use xlink:href="#10" y="23.881" />
<use xlink:href="#11" y="26.052" />
<use xlink:href="#12" y="30.394" />
<use xlink:href="#13" y="32.565" />
<use xlink:href="#14" y="36.907" />
<use xlink:href="#15" y="39.078" />
<use xlink:href="#16" y="43.42" />
<use xlink:href="#17" y="45.591" />
<use xlink:href="#18" y="49.933" />
<use xlink:href="#19" y="52.104" />
<use xlink:href="#20" y="56.446" />
<use xlink:href="#21" y="58.617" />
<use xlink:href="#22" y="62.959" />
<use xlink:href="#23" y="65.13" />
<use xlink:href="#1" y="71.643" />
</svg>
<svg x="2625">
<use xlink:href="#a" />
<use xlink:href="#b" x="4.996" y="71.618" />
<use xlink:href="#3" />
<use xlink:href="#4" y="4.342" />
<use xlink:href="#5" y="8.684" />
<use xlink:href="#6" y="10.855" />
<use xlink:href="#7" y="13.026" />
<use xlink:href="#8" y="17.368" />
<use xlink:href="#9" y="19.539" />
<use xlink:href="#10" y="23.881" />
<use xlink:href="#11" y="26.052" />
<use xlink:href="#12" y="30.394" />
<use xlink:href="#13" y="32.565" />
<use xlink:href="#14" y="36.907" />
<use xlink:href="#15" y="39.078" />
<use xlink:href="#16" y="43.42" />
<use xlink:href="#17" y="45.591" />
<use xlink:href="#18" y="49.933" />
<use xlink:href="#19" y="52.104" />
<use xlink:href="#20" y="56.446" />
<use xlink:href="#21" y="58.617" />
<use xlink:href="#22" y="62.959" />
<use xlink:href="#23" y="65.13" />
<use xlink:href="#1" y="71.643" />
</svg>
<svg x="2750">
<use xlink:href="#a" />
<use xlink:href="#b" x="-.004" y="71.618" />
<use xlink:href="#4" y="2.171" />
<use xlink:href="#5" y="6.513" />
<use xlink:href="#6" y="8.684" />
<use xlink:href="#7" y="10.855" />
<use xlink:href="#8" y="15.197" />
<use xlink:href="#9" y="17.368" />
<use xlink:href="#10" y="21.71" />
<use xlink:href="#11" y="23.881" />
<use xlink:href="#12" y="28.223" />
<use xlink:href="#13" y="30.394" />
<use xlink:href="#14" y="34.736" />
<use xlink:href="#15" y="36.907" />
<use xlink:href="#16" y="41.249" />
<use xlink:href="#17" y="43.42" />
<use xlink:href="#18" y="47.762" />
<use xlink:href="#19" y="49.933" />
<use xlink:href="#20" y="54.275" />
<use xlink:href="#21" y="56.446" />
<use xlink:href="#22" y="60.788" />
<use xlink:href="#23" y="62.959" />
<use xlink:href="#1" y="69.472" />
</svg>
</svg>
</g>
</g>
</svg>
</svg>

After

Width:  |  Height:  |  Size: 28 KiB

183
package-lock.json generated
View File

@ -7,8 +7,8 @@
"name": "tldr-pages",
"license": "SEE LICENSE IN LICENSE.md",
"dependencies": {
"glob": "10.3.10",
"markdownlint-cli": "^0.37.0",
"glob": "10.3.4",
"markdownlint-cli": "^0.35.0",
"tldr-lint": "^0.0.13"
},
"devDependencies": {
@ -173,18 +173,18 @@
}
},
"node_modules/glob": {
"version": "10.3.10",
"resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz",
"integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==",
"version": "10.3.4",
"resolved": "https://registry.npmjs.org/glob/-/glob-10.3.4.tgz",
"integrity": "sha512-6LFElP3A+i/Q8XQKEvZjkEWEOTgAIALR9AO2rwT8bgPhDd1anmqDJDZ6lLddI4ehxxxR1S5RIqKe1uapMQfYaQ==",
"dependencies": {
"foreground-child": "^3.1.0",
"jackspeak": "^2.3.5",
"jackspeak": "^2.0.3",
"minimatch": "^9.0.1",
"minipass": "^5.0.0 || ^6.0.2 || ^7.0.0",
"path-scurry": "^1.10.1"
},
"bin": {
"glob": "dist/esm/bin.mjs"
"glob": "dist/cjs/src/bin.js"
},
"engines": {
"node": ">=16 || 14 >=14.17"
@ -217,11 +217,11 @@
}
},
"node_modules/ini": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz",
"integrity": "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==",
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/ini/-/ini-3.0.1.tgz",
"integrity": "sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==",
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
"node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
"node_modules/is-fullwidth-code-point": {
@ -238,9 +238,9 @@
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
},
"node_modules/jackspeak": {
"version": "2.3.6",
"resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz",
"integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==",
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.1.tgz",
"integrity": "sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==",
"dependencies": {
"@isaacs/cliui": "^8.0.2"
},
@ -302,31 +302,31 @@
}
},
"node_modules/markdownlint": {
"version": "0.31.1",
"resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.31.1.tgz",
"integrity": "sha512-CKMR2hgcIBrYlIUccDCOvi966PZ0kJExDrUi1R+oF9PvqQmCrTqjOsgIvf2403OmJ+CWomuzDoylr6KbuMyvHA==",
"version": "0.29.0",
"resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.29.0.tgz",
"integrity": "sha512-ASAzqpODstu/Qsk0xW5BPgWnK/qjpBQ4e7IpsSvvFXcfYIjanLTdwFRJK1SIEEh0fGSMKXcJf/qhaZYHyME0wA==",
"dependencies": {
"markdown-it": "13.0.1",
"markdownlint-micromark": "0.1.7"
"markdownlint-micromark": "0.1.5"
},
"engines": {
"node": ">=16"
}
},
"node_modules/markdownlint-cli": {
"version": "0.37.0",
"resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.37.0.tgz",
"integrity": "sha512-hNKAc0bWBBuVhJbSWbUhRzavstiB4o1jh3JeSpwC4/dt6eJ54lRfYHRxVdzVp4qGWBKbeE6Pg490PFEfrKjqSg==",
"version": "0.35.0",
"resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.35.0.tgz",
"integrity": "sha512-lVIIIV1MrUtjoocgDqXLxUCxlRbn7Ve8rsWppfwciUNwLlNS28AhNiyQ3PU7jjj4Qvj+rWTTvwkqg7AcdG988g==",
"dependencies": {
"commander": "~11.0.0",
"get-stdin": "~9.0.0",
"glob": "~10.3.4",
"glob": "~10.2.7",
"ignore": "~5.2.4",
"js-yaml": "^4.1.0",
"jsonc-parser": "~3.2.0",
"markdownlint": "~0.31.1",
"minimatch": "~9.0.3",
"run-con": "~1.3.2"
"markdownlint": "~0.29.0",
"minimatch": "~9.0.1",
"run-con": "~1.2.11"
},
"bin": {
"markdownlint": "markdownlint.js"
@ -335,10 +335,31 @@
"node": ">=16"
}
},
"node_modules/markdownlint-cli/node_modules/glob": {
"version": "10.2.7",
"resolved": "https://registry.npmjs.org/glob/-/glob-10.2.7.tgz",
"integrity": "sha512-jTKehsravOJo8IJxUGfZILnkvVJM/MOfHRs8QcXolVef2zNI9Tqyy5+SeuOAZd3upViEZQLyFpQhYiHLrMUNmA==",
"dependencies": {
"foreground-child": "^3.1.0",
"jackspeak": "^2.0.3",
"minimatch": "^9.0.1",
"minipass": "^5.0.0 || ^6.0.2",
"path-scurry": "^1.7.0"
},
"bin": {
"glob": "dist/cjs/src/bin.js"
},
"engines": {
"node": ">=16 || 14 >=14.17"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/markdownlint-micromark": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/markdownlint-micromark/-/markdownlint-micromark-0.1.7.tgz",
"integrity": "sha512-BbRPTC72fl5vlSKv37v/xIENSRDYL/7X/XoFzZ740FGEbs9vZerLrIkFRY0rv7slQKxDczToYuMmqQFN61fi4Q==",
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/markdownlint-micromark/-/markdownlint-micromark-0.1.5.tgz",
"integrity": "sha512-HvofNU4QCvfUCWnocQP1IAWaqop5wpWrB0mKB6SSh0fcpV0PdmQNS6tdUuFew1utpYlUvYYzz84oDkrD76GB9A==",
"engines": {
"node": ">=16"
}
@ -349,9 +370,9 @@
"integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g=="
},
"node_modules/minimatch": {
"version": "9.0.3",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
"integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
"version": "9.0.1",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz",
"integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==",
"dependencies": {
"brace-expansion": "^2.0.1"
},
@ -402,13 +423,13 @@
}
},
"node_modules/run-con": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/run-con/-/run-con-1.3.2.tgz",
"integrity": "sha512-CcfE+mYiTcKEzg0IqS08+efdnH0oJ3zV0wSUFBNrMHMuxCtXvBCLzCJHatwuXDcu/RlhjTziTo/a1ruQik6/Yg==",
"version": "1.2.11",
"resolved": "https://registry.npmjs.org/run-con/-/run-con-1.2.11.tgz",
"integrity": "sha512-NEMGsUT+cglWkzEr4IFK21P4Jca45HqiAbIIZIBdX5+UZTB24Mb/21iNGgz9xZa8tL6vbW7CXmq7MFN42+VjNQ==",
"dependencies": {
"deep-extend": "^0.6.0",
"ini": "~4.1.0",
"minimist": "^1.2.8",
"ini": "~3.0.0",
"minimist": "^1.2.6",
"strip-json-comments": "~3.1.1"
},
"bin": {
@ -500,9 +521,9 @@
}
},
"node_modules/strip-ansi": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
"integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz",
"integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==",
"dependencies": {
"ansi-regex": "^6.0.1"
},
@ -779,12 +800,12 @@
"integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA=="
},
"glob": {
"version": "10.3.10",
"resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz",
"integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==",
"version": "10.3.4",
"resolved": "https://registry.npmjs.org/glob/-/glob-10.3.4.tgz",
"integrity": "sha512-6LFElP3A+i/Q8XQKEvZjkEWEOTgAIALR9AO2rwT8bgPhDd1anmqDJDZ6lLddI4ehxxxR1S5RIqKe1uapMQfYaQ==",
"requires": {
"foreground-child": "^3.1.0",
"jackspeak": "^2.3.5",
"jackspeak": "^2.0.3",
"minimatch": "^9.0.1",
"minipass": "^5.0.0 || ^6.0.2 || ^7.0.0",
"path-scurry": "^1.10.1"
@ -802,9 +823,9 @@
"integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ=="
},
"ini": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz",
"integrity": "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g=="
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/ini/-/ini-3.0.1.tgz",
"integrity": "sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ=="
},
"is-fullwidth-code-point": {
"version": "3.0.0",
@ -817,9 +838,9 @@
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
},
"jackspeak": {
"version": "2.3.6",
"resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz",
"integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==",
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.1.tgz",
"integrity": "sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==",
"requires": {
"@isaacs/cliui": "^8.0.2",
"@pkgjs/parseargs": "^0.11.0"
@ -864,34 +885,48 @@
}
},
"markdownlint": {
"version": "0.31.1",
"resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.31.1.tgz",
"integrity": "sha512-CKMR2hgcIBrYlIUccDCOvi966PZ0kJExDrUi1R+oF9PvqQmCrTqjOsgIvf2403OmJ+CWomuzDoylr6KbuMyvHA==",
"version": "0.29.0",
"resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.29.0.tgz",
"integrity": "sha512-ASAzqpODstu/Qsk0xW5BPgWnK/qjpBQ4e7IpsSvvFXcfYIjanLTdwFRJK1SIEEh0fGSMKXcJf/qhaZYHyME0wA==",
"requires": {
"markdown-it": "13.0.1",
"markdownlint-micromark": "0.1.7"
"markdownlint-micromark": "0.1.5"
}
},
"markdownlint-cli": {
"version": "0.37.0",
"resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.37.0.tgz",
"integrity": "sha512-hNKAc0bWBBuVhJbSWbUhRzavstiB4o1jh3JeSpwC4/dt6eJ54lRfYHRxVdzVp4qGWBKbeE6Pg490PFEfrKjqSg==",
"version": "0.35.0",
"resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.35.0.tgz",
"integrity": "sha512-lVIIIV1MrUtjoocgDqXLxUCxlRbn7Ve8rsWppfwciUNwLlNS28AhNiyQ3PU7jjj4Qvj+rWTTvwkqg7AcdG988g==",
"requires": {
"commander": "~11.0.0",
"get-stdin": "~9.0.0",
"glob": "~10.3.4",
"glob": "~10.2.7",
"ignore": "~5.2.4",
"js-yaml": "^4.1.0",
"jsonc-parser": "~3.2.0",
"markdownlint": "~0.31.1",
"minimatch": "~9.0.3",
"run-con": "~1.3.2"
"markdownlint": "~0.29.0",
"minimatch": "~9.0.1",
"run-con": "~1.2.11"
},
"dependencies": {
"glob": {
"version": "10.2.7",
"resolved": "https://registry.npmjs.org/glob/-/glob-10.2.7.tgz",
"integrity": "sha512-jTKehsravOJo8IJxUGfZILnkvVJM/MOfHRs8QcXolVef2zNI9Tqyy5+SeuOAZd3upViEZQLyFpQhYiHLrMUNmA==",
"requires": {
"foreground-child": "^3.1.0",
"jackspeak": "^2.0.3",
"minimatch": "^9.0.1",
"minipass": "^5.0.0 || ^6.0.2",
"path-scurry": "^1.7.0"
}
}
}
},
"markdownlint-micromark": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/markdownlint-micromark/-/markdownlint-micromark-0.1.7.tgz",
"integrity": "sha512-BbRPTC72fl5vlSKv37v/xIENSRDYL/7X/XoFzZ740FGEbs9vZerLrIkFRY0rv7slQKxDczToYuMmqQFN61fi4Q=="
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/markdownlint-micromark/-/markdownlint-micromark-0.1.5.tgz",
"integrity": "sha512-HvofNU4QCvfUCWnocQP1IAWaqop5wpWrB0mKB6SSh0fcpV0PdmQNS6tdUuFew1utpYlUvYYzz84oDkrD76GB9A=="
},
"mdurl": {
"version": "1.0.1",
@ -899,9 +934,9 @@
"integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g=="
},
"minimatch": {
"version": "9.0.3",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
"integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
"version": "9.0.1",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz",
"integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==",
"requires": {
"brace-expansion": "^2.0.1"
}
@ -931,13 +966,13 @@
}
},
"run-con": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/run-con/-/run-con-1.3.2.tgz",
"integrity": "sha512-CcfE+mYiTcKEzg0IqS08+efdnH0oJ3zV0wSUFBNrMHMuxCtXvBCLzCJHatwuXDcu/RlhjTziTo/a1ruQik6/Yg==",
"version": "1.2.11",
"resolved": "https://registry.npmjs.org/run-con/-/run-con-1.2.11.tgz",
"integrity": "sha512-NEMGsUT+cglWkzEr4IFK21P4Jca45HqiAbIIZIBdX5+UZTB24Mb/21iNGgz9xZa8tL6vbW7CXmq7MFN42+VjNQ==",
"requires": {
"deep-extend": "^0.6.0",
"ini": "~4.1.0",
"minimist": "^1.2.8",
"ini": "~3.0.0",
"minimist": "^1.2.6",
"strip-json-comments": "~3.1.1"
}
},
@ -1000,9 +1035,9 @@
}
},
"strip-ansi": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
"integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz",
"integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==",
"requires": {
"ansi-regex": "^6.0.1"
}

View File

@ -6,8 +6,8 @@
"repository": "tldr-pages/tldr",
"homepage": "https://tldr.sh/",
"dependencies": {
"glob": "10.3.10",
"markdownlint-cli": "^0.37.0",
"glob": "10.3.4",
"markdownlint-cli": "^0.35.0",
"tldr-lint": "^0.0.13"
},
"devDependencies": {

View File

@ -1,4 +1,4 @@
# apt-get
# apt
> أداة إدارة الحزم لديبيان وأوبونتو.
> ابحث عن الحزم باستخدام `apt-cache`.

View File

@ -1,7 +1,7 @@
# curl
> هذا الأمر هو اسم مستعار لـ `curl -p common`.
> لمزيد من التفاصيل: <https://learn.microsoft.com/powershell/module/microsoft.powershell.utility/invoke-webrequest>.
> لمزيد من التفاصيل: <https://curl.se>.
- إعرض التوثيقات للأمر الأصلي:

View File

@ -1,7 +1,6 @@
# iwr
> هذا الأمر هو اسم مستعار لـ `invoke-webrequest`.
> لمزيد من التفاصيل: <https://learn.microsoft.com/powershell/module/microsoft.powershell.utility/invoke-webrequest>.
- إعرض التوثيقات للأمر الأصلي:

View File

@ -1,8 +1,8 @@
# sls
> هذا الأمر هو اسم مستعار لـ `Select-String`.
> هذا الأمر هو اسم مستعار لـ `where-object`.
> لمزيد من التفاصيل: <https://learn.microsoft.com/powershell/module/microsoft.powershell.utility/select-string>.
- إعرض التوثيقات للأمر الأصلي:
`tldr select-string`
`tldr where-object`

View File

@ -1,7 +1,7 @@
# wget
> هذا الأمر هو اسم مستعار لـ `wget -p common`.
> لمزيد من التفاصيل: <https://learn.microsoft.com/powershell/module/microsoft.powershell.utility/invoke-webrequest>.
> لمزيد من التفاصيل: <https://www.gnu.org/software/wget>.
- إعرض التوثيقات للأمر الأصلي:

View File

@ -1,7 +1,7 @@
# am
> অ্যান্ড্রয়েড অ্যাক্টিভিটি ম্যানেজার।
> আরও তথ্য পাবেন: <https://developer.android.com/studio/command-line/adb#am>
> আরও তথ্য পাবেন: <https://developer.android.com/studio/command-line/adb#am>.
- একটি নির্দিষ্ট কার্যকলাপ শুরু করুন:

View File

@ -2,7 +2,7 @@
> একটি অ্যান্ড্রয়েড বাগ রিপোর্ট দেখান।
> এই কমান্ডটি শুধুমাত্র `adb shell` এর মাধ্যমে ব্যবহার করা যেতে পারে।
> আরও তথ্য পাবেন: <https://cs.android.com/android/platform/superproject/+/main:frameworks/native/cmds/bugreport>
> আরও তথ্য পাবেন: <https://cs.android.com/android/platform/superproject/+/master:frameworks/native/cmds/bugreport>.
- একটি অ্যান্ড্রয়েড ডিভাইসের একটি সম্পূর্ণ বাগ রিপোর্ট দেখান:

View File

@ -2,7 +2,7 @@
> একটি জিপ করা অ্যান্ড্রয়েড বাগ রিপোর্ট তৈরি করুন।
> এই কমান্ডটি শুধুমাত্র `adb shell` এর মাধ্যমে ব্যবহার করা যেতে পারে।
> আরও তথ্য পাবেন: <https://cs.android.com/android/platform/superproject/+/main:frameworks/native/cmds/bugreportz>
> আরও তথ্য পাবেন: <https://cs.android.com/android/platform/superproject/+/master:frameworks/native/cmds/bugreportz>.
- একটি অ্যান্ড্রয়েড ডিভাইসের একটি সম্পূর্ণ জিপ করা বাগ রিপোর্ট তৈরি করুন:

View File

@ -1,7 +1,7 @@
# cmd
> অ্যান্ড্রয়েড সার্ভিস ম্যানেজার।
> আরও তথ্য পাবেন: <https://cs.android.com/android/platform/superproject/+/main:frameworks/native/cmds/cmd/>
> আরও তথ্য পাবেন: <https://cs.android.com/android/platform/superproject/+/master:frameworks/native/cmds/cmd/>.
- প্রতিটি চলমান পরিষেবা তালিকা করুন:

View File

@ -1,7 +1,7 @@
# dalvikvm
> অ্যান্ড্রয়েড জাভা ভার্চুয়াল মেশিন।
> আরও তথ্য পাবেন: <https://source.android.com/devices/tech/dalvik>
> আরও তথ্য পাবেন: <https://source.android.com/devices/tech/dalvik>.
- একটি নির্দিষ্ট জাভা প্রোগ্রাম শুরু করুন:

View File

@ -2,7 +2,7 @@
> অ্যান্ড্রয়েড সিস্টেম পরিষেবা সম্পর্কে তথ্য প্রদান করে।
> এই কমান্ডটি শুধুমাত্র `adb shell` এর মাধ্যমে ব্যবহার করা যেতে পারে।
> আরও তথ্য পাবেন: <https://developer.android.com/studio/command-line/dumpsys>
> আরও তথ্য পাবেন: <https://developer.android.com/studio/command-line/dumpsys>.
- সমস্ত সিস্টেম পরিষেবার জন্য ডায়াগনস্টিক আউটপুট পান:

View File

@ -1,7 +1,7 @@
# getprop
> অ্যান্ড্রয়েড সিস্টেম বৈশিষ্ট্য সম্পর্কে তথ্য দেখান।
> আরও তথ্য পাবেন: <https://manned.org/getprop>
> আরও তথ্য পাবেন: <https://manned.org/getprop>.
- অ্যান্ড্রয়েড সিস্টেম বৈশিষ্ট্য সম্পর্কে তথ্য প্রদর্শন করুন:

View File

@ -2,7 +2,7 @@
> একটি Android ডিভাইসে ইভেন্ট কোড বা টাচস্ক্রিন অঙ্গভঙ্গি পাঠান।
> এই কমান্ডটি শুধুমাত্র `adb shell` এর মাধ্যমে ব্যবহার করা যেতে পারে।
> আরও তথ্য পাবেন: <https://developer.android.com/reference/android/view/KeyEvent.html#constants_1>
> আরও তথ্য পাবেন: <https://developer.android.com/reference/android/view/KeyEvent.html#constants_1>.
- একটি Android ডিভাইসে একটি একক অক্ষরের জন্য একটি ইভেন্ট কোড পাঠান:

View File

@ -1,7 +1,7 @@
# logcat
> সিস্টেম বার্তার একটি লগ ডাম্প করুন, যখন একটি ত্রুটি ঘটেছে স্ট্যাক ট্রেস সহ, এবং অ্যাপ্লিকেশন দ্বারা লগ করা তথ্য বার্তা।
> আরও তথ্য পাবেন: <https://developer.android.com/studio/command-line/logcat>
> আরও তথ্য পাবেন: <https://developer.android.com/studio/command-line/logcat>.
- সিস্টেম লগগুলি প্রদর্শন করুন:

View File

@ -1,7 +1,7 @@
# pkg
> Termux এর জন্য একটি প্যাকেজ ব্যবস্থাপনা ইউটিলিটি।
> আরও তথ্য পাবেন: <https://wiki.termux.com/wiki/Package_Management>
> আরও তথ্য পাবেন: <https://wiki.termux.com/wiki/Package_Management>.
- সমস্ত ইনস্টল করা প্যাকেজ আপগ্রেড করুন:

View File

@ -1,7 +1,7 @@
# pm
> একটি Android ডিভাইসে অ্যাপ্লিকেশন সম্পর্কে তথ্য দেখান।
> আরও তথ্য পাবেন: <https://developer.android.com/studio/command-line/adb#pm>
> আরও তথ্য পাবেন: <https://developer.android.com/studio/command-line/adb#pm>.
- সমস্ত ইনস্টল করা অ্যাপের একটি তালিকা প্রিন্ট করুন:

View File

@ -2,7 +2,7 @@
> একটি মোবাইল ডিসপ্লের স্ক্রিনশট নিন।
> এই কমান্ডটি শুধুমাত্র `adb shell` এর মাধ্যমে ব্যবহার করা যেতে পারে।
> আরও তথ্য পাবেন: <https://developer.android.com/studio/command-line/adb#screencap>
> আরও তথ্য পাবেন: <https://developer.android.com/studio/command-line/adb#screencap>.
- একটি স্ক্রিনশট নিন:

View File

@ -1,7 +1,7 @@
# settings
> Android OS সম্পর্কে তথ্য পান।
> আরও তথ্য পাবেন: <https://adbinstaller.com/commands/adb-shell-settings-5b670d5ee7958178a2955536>
> আরও তথ্য পাবেন: <https://adbinstaller.com/commands/adb-shell-settings-5b670d5ee7958178a2955536>.
- `global` নামস্থানে সেটিংসের একটি তালিকা প্রদর্শন করুন:

View File

@ -2,7 +2,7 @@
> একটি অ্যান্ড্রয়েড ডিভাইসের স্ক্রীন সম্পর্কে তথ্য দেখান।
> এই কমান্ডটি শুধুমাত্র `adb shell` এর মাধ্যমে ব্যবহার করা যেতে পারে।
> আরও তথ্য পাবেন: <https://adbinstaller.com/commands/adb-shell-wm-5b672b17e7958178a2955538>
> আরও তথ্য পাবেন: <https://adbinstaller.com/commands/adb-shell-wm-5b672b17e7958178a2955538>.
- একটি অ্যান্ড্রয়েড ডিভাইসের স্ক্রিনের শারীরিক আকার প্রদর্শন করুন:

View File

@ -1,24 +0,0 @@
# Exclamation mark
> ইতিহাসে পেয়ে যাওয়া কমান্ড দিয়ে বিকল্প বাছানোর জন্য ব্যবহৃত ব্যাশ শেলে পুনর্নির্মিত।
> আরও তথ্য পাবেন: <https://www.gnu.org/software/bash/manual/bash.html#Event-Designators>
- সুডো দিয়ে আগের কমান্ড পুনর্নির্মিত করুন:
`sudo !!`
- `history` দিয়ে পেয়ে যাওয়া লাইন নম্বরের ভিতরে একটি কমান্ড পুনর্নির্মিত করুন:
`!{{নম্বর}}`
- নির্ধারিত সংখ্যা লাইনগুলির ভিতরে একটি কমান্ড পুনর্নির্মিত করুন:
`!-{{নম্বর}}`
- সর্বশেষ কমান্ড থেকে পুনর্নির্মিত করুন যা স্ট্রিং দিয়ে শুরু হয়:
`!{{স্ট্রিং}}`
- নতুন অর্ডারের আঙ্গুলির সাথে পুনর্নির্মিত করুন:
`{{কমান্ড}} !*`

View File

@ -1,32 +0,0 @@
# 2to3
> স্বয়ংক্রিয় পাইথন ২ থেকে ৩ কোড রূপান্তর।
> আরও তথ্য পাবেন: <https://docs.python.org/3/library/2to3.html>
- পরিবর্তনগুলি প্রদর্শন করুন যা করা হবে তা না করে (ড্রাই-রান):
`2to3 {{ফাইলের/পথ.py}}`
- একটি পাইথন 2 ফাইলকে পাইথন 3 এ রূপান্তর করুন:
`2to3 --write {{ফাইলের/পথ.py}}`
- নির্দিষ্ট পাইথন 2 ভাষা বৈশিষ্ট্যগুলি পাইথন 3 এ রূপান্তর করুন:
`2to3 --write {{ফাইলের/পথ.py}} --fix={{raw_input}} --fix={{print}}`
- নির্দিষ্ট না করে সমস্ত পাইথন 2 ভাষা বৈশিষ্ট্যগুলি পাইথন 3 এ রূপান্তর করুন:
`2to3 --write {{ফাইলের/পথ.py}} --nofix={{has_key}} --nofix={{isinstance}}`
- পাইথন 2 থেকে পাইথন 3 এ রূপান্তর করা যাবত সমস্ত উপলব্ধ ভাষা বৈশিষ্ট্যের তালিকা প্রদর্শন করুন:
`2to3 --list-fixes`
- একটি ডিরেক্টরিতে সমস্ত পাইথন 2 ফাইলগুলি পাইথন 3 এ রূপান্তর করুন:
`2to3 --output-dir={{পাথ/টু/পাইথন3_ডিরেক্টরি}} --write-unchanged-files --nobackups {{পাথ/টু/পাইথন2_ডিরেক্টরি}}`
- মাল্টিপল থ্রেড সহ ২টু৩ চালান:
`2to3 --processes={{4}} --output-dir={{পাথ/টু/পাইথন3_ডিরেক্টরি}} --write --nobackups --no-diff {{পাথ/টু/পাইথন2_ডিরেক্টরি}}`

View File

@ -1,32 +0,0 @@
# 7z
> উচ্চ স্পীড অনুপাতে ফাইল সংরক্ষণকর্তা।
> আরও তথ্য পাবেন: <https://manned.org/7z>
- নতুন বা বিদ্যমান সংরক্ষণে একটি ফাইল বা ডিরেক্টরি যোগ করুন:
`7z a {{সংরক্ষণ.7z/এর/পথ}} {{ফাইল_অথবা_ডিরেক্টরি/এর/পথ}}`
- বিদ্যমান সংরক্ষণকে এনক্রিপ্ট করুন (ফাইলের নাম সহ):
`7z a {{এনক্রিপ্টেড.7z/এর/পথ}} -p{{পাসওয়ার্ড}} -mhe=on {{সংরক্ষণ.7z/এর/পথ}}`
- মৌলিক ডিরেক্টরি স্ট্রাকচার সংরক্ষণ করতে সংরক্ষণ থেকে বাহাতে:
`7z x {{সংরক্ষণ.7z/এর/পথ}}`
- বিশেষ ডিরেক্টরি এইচআউটপুটের সাথে সংরক্ষণ থেকে নেওয়া:
`7z x {{সংরক্ষণ.7z/এর/পথ}} -o{{আউটপুট/এর/পথ}}`
- `stdout` এর জন্য একটি সংরক্ষণ থেকে বাহাতে:
`7z x {{সংরক্ষণ.7z/এর/পথ}} -so`
- একটি নির্দিষ্ট সংরক্ষণ প্রকার ব্যবহার করে সংরক্ষণ করুন:
`7z a -t{{7z|bzip2|gzip|lzip|tar|zip}} {{সংরক্ষণ/এর/পথ}} {{ফাইল_অথবা_ডিরেক্টরি/এর/পথ}}`
- একটি সংরক্ষণের সামগ্রী তালিকা বদ্ধ করুন:
`7z l {{সংরক্ষণ.7z/এর/পথ}}`

View File

@ -1,33 +0,0 @@
# 7za
> একটি উচ্চ সঙ্কোচন অনুবাদক সাথে ফাইল অ্যার্কাইভার।
> `7z` এর মত, কিন্তু এটি কম ফাইল ধরণসমূহ সমর্থন করে এবং ক্রস-প্ল্যাটফর্ম।
> আরও তথ্য পাবেন: <https://manned.org/7za>
- একটি ফাইল বা ডিরেক্টরি অ্যার্কাইভ করুন:
`7za a {{পাথ/টু/আর্কাইভ.7z}} {{পাথ/টু/ফাইল_অথবা_ডিরেক্টরি}}`
- একটি বিদ্যমান আর্কাইভ এনক্রিপ্ট করুন (ফাইলের নামগুলি সহ):
`7za a {{পাথ/টু/এনক্রিপ্টেড.7z}} -p{{পাসওয়ার্ড}} -mhe={{on}} {{পাথ/টু/আর্কাইভ.7z}}`
- একটি আর্কাইভ বিন্দুবর্তন রক্ষা করে একটি আর্কাইভ নেওয়া:
`7za x {{পাথ/টু/আর্কাইভ.7z}}`
- একটি আর্কাইভটি একটি নির্দিষ্ট ডিরেক্টরিতে নেওয়া:
`7za x {{পাথ/টু/আর্কাইভ.7z}} -o{{পাথ/টু/আউটপুট}}`
- একটি আর্কাইভটি একটি `stdout` এ নেওয়া:
`7za x {{পাথ/টু/আর্কাইভ.7z}} -so`
- একটি নির্দিষ্ট আর্কাইভ ধরণ ব্যবহার করে অ্যার্কাইভ করুন:
`7za a -t{{7z|bzip2|gzip|lzip|tar|...}} {{পাথ/টু/আর্কাইভ.7z}} {{পাথ/টু/ফাইল_অথবা_ডিরেক্টরি}}`
- একটি আর্কাইভের সামগ্রী তালিকা দেখুন:
`7za l {{পাথ/টু/আর্কাইভ.7z}}`

View File

@ -1,29 +0,0 @@
# 7zr
> একটি উচ্চ সঙ্কোচন অনুবাদক সাথে ফাইল অ্যার্কাইভার।
> `7z` এর মত, কিন্তু এটি কেবলমাত্র `.7z` ফাইলগুলি সমর্থন করে।
> আরও তথ্য পাবেন: <https://manned.org/7zr>
- একটি ফাইল বা ডিরেক্টরি অ্যার্কাইভ করুন:
`7zr a {{পাথ/টু/আর্কাইভ.7z}} {{পাথ/টু/ফাইল_অথবা_ডিরেক্টরি}}`
- একটি বিদ্যমান আর্কাইভ এনক্রিপ্ট করুন (ফাইলের নামগুলি সহ):
`7zr a {{পাথ/টু/এনক্রিপ্টেড.7z}} -p{{পাসওয়ার্ড}} -mhe={{on}} {{পাথ/টু/আর্কাইভ.7z}}`
- একটি আর্কাইভ বিন্দুবর্তন রক্ষা করে একটি আর্কাইভ নেওয়া:
`7zr x {{পাথ/টু/আর্কাইভ.7z}}`
- একটি আর্কাইভটি একটি নির্দিষ্ট ডিরেক্টরিতে নেওয়া:
`7zr x {{পাথ/টু/আর্কাইভ.7z}} -o{{পাথ/টু/আউটপুট}}`
- একটি আর্কাইভটি একটি `stdout` এ নেওয়া:
`7zr x {{পাথ/টু/আর্কাইভ.7z}} -so`
- একটি আর্কাইভের সামগ্রী তালিকা দেখুন:
`7zr l {{পাথ/টু/আর্কাইভ.7z}}`

View File

@ -1,33 +0,0 @@
# [
> ফাইল প্রকার পরীক্ষা করুন এবং মান তুলনা করুন।
> শর্তটি সত্য মানে 0 স্ট্যাটাস ফিরিয়ে দেয়, এবং শর্তটি মিথ্যা মানে 1।
> আরও তথ্য পাবেন: <https://www.gnu.org/software/bash/manual/bash.html#index-test>
- পরীক্ষা করুন যদি দেওয়া ভেরিয়েবল নির্দিষ্ট স্ট্রিং এর সমান/সমান না হয়:
`[ "${{ভেরিয়েবল}}" {{=|!=}} "{{স্ট্রিং}}" ]`
- পরীক্ষা করুন যদি দেওয়া ভেরিয়েবল [ই]কুয়াল/[ন]ট [ই]কুয়াল/[জি]টে [ল]েস [ট]হ্যান/[জি]টে [ই]কুয়াল/[ল]েস ট্রু থেকে/[ল]েস থেকে বা সমান নির্দিষ্ট সংখ্যায়:
`[ "${{ভেরিয়েবল}}" -{{eq|ne|gt|lt|ge|le}} {{পূর্ণাঙ্ক}} ]`
- পরীক্ষা করুন যদি নির্দিষ্ট ভেরিয়েবলের [ন]ন-খালি মান থাকে:
`[ -n "${{ভেরিয়েবল}}" ]`
- পরীক্ষা করুন যদি নির্দিষ্ট ভেরিয়েবলের খালি মান থাকে:
`[ -z "${{ভেরিয়েবল}}" ]`
- পরীক্ষা করুন যদি নির্দিষ্ট [ফাইল] বিদ্যমান থাকে:
`[ -f {{পাথ/টু/ফাইল}} ]`
- পরীক্ষা করুন যদি নির্দিষ্ট [ডিরেক্টরি] বিদ্যমান থাকে:
`[ -d {{পাথ/টু/ডিরেক্টরি}} ]`
- পরীক্ষা করুন যদি নির্দিষ্ট ফাইল বা ডিরেক্টরি [ই]স্ট্রিং বিদ্যমান থাকে:
`[ -e {{পাথ/টু/ফাইল_অথবা_ডিরেক্টরি}} ]`

View File

@ -1,37 +0,0 @@
# [[
> ফাইল প্রকার পরীক্ষা করুন এবং মান তুলনা করুন।
> শর্তটি সত্য মানে 0 স্ট্যাটাস ফিরিয়ে দেয়, এবং শর্তটি মিথ্যা মানে 1।
> আরও তথ্য পাবেন: <https://www.gnu.org/software/bash/manual/bash.html#index-_005b_005b>
- পরীক্ষা করুন যদি দেওয়া ভেরিয়েবল নির্দিষ্ট স্ট্রিং এর সমান/সমান না হয়:
`[[ ${{ভেরিয়েবল}} {{==|!=}} "{{স্ট্রিং}}" ]]`
- পরীক্ষা করুন যদি দেওয়া স্ট্রিং নির্দিষ্ট glob/regex এর সাথে মেলে:
`[[ ${{ভেরিয়েবল}} {{==|=~}} {{প্যাটার্ন}} ]]`
- পরীক্ষা করুন যদি দেওয়া ভেরিয়েবল [ই]কুয়াল/[ন]ট [ই]কুয়াল/[জি]টে [ল]েস [ট]হ্যান/[জি]টে [ই]কুয়াল/[ল]েস ট্রু থেকে/[ল]েস থেকে বা সমান নির্দিষ্ট সংখ্যায়:
`[[ ${{ভেরিয়েবল}} -{{eq|ne|gt|lt|ge|le}} {{পূর্ণাঙ্ক}} ]]`
- পরীক্ষা করুন যদি নির্দিষ্ট ভেরিয়েবলের [ন]ন-খালি মান থাকে:
`[[ -n ${{ভেরিয়েবল}} ]]`
- পরীক্ষা করুন যদি নির্দিষ্ট ভেরিয়েবলের খালি মান থাকে:
`[[ -z ${{ভেরিয়েবল}} ]]`
- পরীক্ষা করুন যদি নির্দিষ্ট [ফাইল] বিদ্যমান থাকে:
`[[ -f {{পাথ/টু/ফাইল}} ]]`
- পরীক্ষা করুন যদি নির্দিষ্ট [ডিরেক্টরি] বিদ্যমান থাকে:
`[[ -d {{পাথ/টু/ডিরেক্টরি}} ]]`
- পরীক্ষা করুন যদি নির্দিষ্ট ফাইল বা ডিরেক্টরি [ই]স্ট্রিং বিদ্যমান থাকে:
`[[ -e {{পাথ/টু/ফাইল_অথবা_ডিরেক্টরি}} ]]`

View File

@ -1,32 +0,0 @@
# a2ping
> চিত্রগুলি কে EPS বা PDF ফাইলে রূপান্তর করুন।
> আরও তথ্য পাবেন: <https://manned.org/a2ping>
- একটি চিত্রকে PDF তে রূপান্তর করুন (নোট: আউটপুট ফাইল নাম নির্দিষ্ট করা ঐচ্ছিক):
`a2ping {{চিত্র.ext/এর/পথ}} {{আউটপুট.pdf/এর/পথ}}`
- নির্দিষ্ট শৈলীতে ডকুমেন্ট সংক্ষিপ্ত করুন:
`a2ping --nocompress {{none|zip|best|flate}} {{ফাইল/এর/পথ}}`
- যদি উচ্চ রেজোলিউশন বাক্স স্ক্যান করা থাকে তবে HiResBoundingBox (নোট: এটি ডিফল্টভাবে হ্যাঁ):
`a2ping --nohires {{ফাইল/এর/পথ}}`
- মূল পৃষ্ঠার নিচে এবং বামে পৃষ্ঠার কন্টেন্টের অনুমতি দিন (নোট: এটি ডিফল্টভাবে না):
`a2ping --below {{ফাইল/এর/পথ}}`
- `gs` এর জন্য অতিরিক্ত আর্গুমেন্ট পাস করুন:
`a2ping --gsextra {{আর্গুমেন্ট}} {{ফাইল/এর/পথ}}`
- বাহ্যিক প্রোগ্রামে অতিরিক্ত আর্গুমেন্ট পাস করুন (যেমন `pdftops`):
`a2ping --extra {{আর্গুমেন্ট}} {{ফাইল/এর/পথ}}`
- সাহায্য প্রদর্শন করুন:
`a2ping -h`

View File

@ -1,17 +0,0 @@
# aapt
> এন্ড্রয়েড এসেট প্যাকেজিং টুল।
> এন্ড্রয়েড অ্যাপের সম্পদগুলি সংকলিত এবং প্যাকেজ করুন।
> আরও তথ্য পাবেন: <https://elinux.org/Android_aapt>
- APK সংগ্রহে অন্তর্ভুক্ত ফাইলের তালিকা তৈরি করুন:
`aapt list {{অ্যাপ.apk/এর/পথ}}`
- একটি অ্যাপের মেটাডেটা (সংস্করণ, অনুমতি, ইত্যাদি) দেখানোর জন্য:
`aapt dump badging {{অ্যাপ.apk/এর/পথ}}`
- নির্দিষ্ট ডিরেক্টরি সহ ফাইলগুলির সাথে একটি নতুন APK সংগ্রহ তৈরি করুন:
`aapt package -F {{অ্যাপ.apk/এর/পথ}} {{ডিরেক্টরি/এর/পথ}}`

View File

@ -1,24 +0,0 @@
# ab
> এপাচি এইচটিটিপি সার্ভার বেঞ্চমার্কিং টুল।
> আরও তথ্য পাবেন: <https://httpd.apache.org/docs/current/programs/ab.html>
- নির্দিষ্ট URL এ ১০০টি HTTP GET অনুরোধ প্রয়ান করুন:
`ab -n {{100}} {{url}}`
- URL এ ১০০টি HTTP GET অনুরোধ, ১০টি সময়সার ব্যাচে একে অপরের পরে প্রয়ান করুন:
`ab -n {{100}} -c {{১০}} {{url}}`
- URL এ ১০০টি HTTP POST অনুরোধ প্রয়ান করুন, একটি JSON পেলোড ব্যবহার করে:
`ab -n {{100}} -T {{application/json}} -p {{পাথ/টু/ফাইল.json}} {{url}}`
- HTTP [K]eep Alive ব্যবহার করুন, অর্থাৎ একটি HTTP সেশনে মাধ্যমে একাধিক অনুরোধ প্রয়ান করুন:
`ab -k {{url}}`
- বেঞ্চমার্কিং করার জন্য সময় নির্ধারণ করার জন্য সর্বাধিক সেকেন্ড নির্ধারণ করুন:
`ab -t {{৬০}} {{url}}`

View File

@ -1,24 +0,0 @@
# abduco
> টার্মিনাল সেশন ম্যানেজার।
> আরও তথ্য পাবেন: <http://www.brain-dump.org/projects/abduco/>
- সেশনগুলির তালিকা:
`abduco`
- এটি যদি না থাকে তবে এটি তৈরি করে একটি সেশনে আটাচ করুন:
`abduco -A {{নাম}} {{ব্যাশ}}`
- এটি যদি না থাকে তবে এটি তৈরি করে `dvtm` এর সাথে একটি সেশনে আটাচ করুন:
`abduco -A {{নাম}}`
- একটি সেশন থেকে বিচ্ছিন্ন করুন:
`Ctrl + \`
- একটি সেশনে রিড-ওনলি মোডে আটাচ করুন:
`abduco -Ar {{নাম}}`

View File

@ -1,20 +0,0 @@
# ac
> ব্যবহারকারী কতক্ষণ সংযোগিত আছেন, সেই পরিস্থিতিগুলি প্রিন্ট করুন।
> আরও তথ্য পাবেন: <https://man.openbsd.org/ac>
- বর্তমান ব্যবহারকারী কত সময় ধরে সংযোগিত আছে, ঘণ্টায়:
`ac`
- ব্যবহারকারী কত সময় ধরে সংযোগিত আছে, এটি ঘণ্টায় প্রিন্ট করুন:
`ac -p`
- একজন বিশেষ ব্যবহারকারী কত সময় ধরে সংযোগিত আছে তা প্রিন্ট করুন:
`ac -p {{ব্যবহারকারী_নাম}}`
- একজন বিশেষ ব্যবহারকারী কত সময় ধরে সংযোগিত আছে তা প্রতি দিন ঘণ্টায় প্রিন্ট করুন (মোটও সহ):
`ac -dp {{ব্যবহারকারী_নাম}}`

View File

@ -1,37 +0,0 @@
# ack
> একটি গ্রেপের মত খোঁজ টুল, ডেভেলপারদের জন্য অপটিমাইজড করা.
> আরও দেখুন: `rg`, যা অধিক দ্রুত।
> আরও তথ্য পাবেন: <https://beyondgrep.com/documentation>
- বর্তমান ডিরেক্টরির অব্যাপ্তিতে স্ট্রিং বা নিয়মিত অভিব্যক্তি সম্মিলিত ফাইলগুলি জন্য খোঁজ করুন:
`ack "{{খোঁজের_প্যাটার্ন}}"`
- একটি কেস-ইনসেনসিটিভ প্যাটার্ন খোঁজ করুন:
`ack --ignore-case "{{খোঁজের_প্যাটার্ন}}"`
- একটি প্যাটার্ন মেলে সার্থকভাবে খোঁজুন, [ও]ণলি ম্যাচ টেক্সট দেখানো না:
`ack -o "{{খোঁজের_প্যাটার্ন}}"`
- নির্দিষ্ট প্রকারের ফাইলগুলিতে সীমাবদ্ধ খোঁজ করুন:
`ack --type={{ruby}} "{{খোঁজের_প্যাটার্ন}}"`
- নির্দিষ্ট প্রকারের ফাইলগুলিতে খোঁজুন না:
`ack --type=no{{ruby}} "{{খোঁজের_প্যাটার্ন}}"`
- পাওয়া মিলে সম্পূর্ণ ম্যাচের সম্পূর্ণ সংখ্যা গণনা করুন:
`ack --count --no-filename "{{খোঁজের_প্যাটার্ন}}"`
- প্রতিটি ফাইলের ফাইল নাম এবং ম্যাচের সংখ্যা শুধু প্রিন্ট করুন:
`ack --count --files-with-matches "{{খোঁজের_প্যাটার্ন}}"`
- `--type` দিয়ে ব্যবহার করা যাতে সমস্ত মানগুলি তালিকা:
`ack --help-types`

View File

@ -1,24 +0,0 @@
# acme.sh --dns
> TLS সার্টিফিকেট ইস্যু করার জন্য DNS-01 চ্যালেঞ্জ ব্যবহার করুন।
> আরও তথ্য পাবেন: <https://github.com/acmesh-official/acme.sh/wiki>
- স্বয়ংক্রিয় DNS API মোড ব্যবহার করে একটি সার্টিফিকেট ইস্যু করুন:
`acme.sh --issue --dns {{gnd_gd}} --domain {{example.com}}`
- স্বয়ংক্রিয় DNS API মোড ব্যবহার করে একটি উইল্ডকার্ড সার্টিফিকেট (যা একটি পূর্বনির্দেশিত চিহ্ন (*) দ্বারা চিহ্নিত) ইস্যু করুন:
`acme.sh --issue --dns {{dns_namesilo}} --domain {{example.com}} --domain {{*.example.com}}`
- DNS অ্যালিয়াস মোড ব্যবহার করে একটি সার্টিফিকেট ইস্যু করুন:
`acme.sh --issue --dns {{dns_cf}} --domain {{example.com}} --challenge-alias {{alias-for-example-validation.com}}`
- DNS রেকর্ড যোগ করার পর স্বয়ংক্রিয় Cloudflare/Google DNS পোলিং বন্ধ করে একটি সার্টিফিকেট ইস্যু করুন, সেকেন্ডে নির্দিষ্ট কাস্টম প্রতীক্ষার সময় স্পেসিফাই করে:
`acme.sh --issue --dns {{dns_namecheap}} --domain {{example.com}} --dnssleep {{300}}`
- ম্যানুয়াল DNS মোড ব্যবহার করে একটি সার্টিফিকেট ইস্যু করুন:
`acme.sh --issue --dns --domain {{example.com}} --yes-I-know-dns-manual-mode-enough-go-ahead-please`

View File

@ -1,33 +0,0 @@
# acme.sh
> ACME ক্লায়েন্ট প্রোটোকল প্রয়োজনীয় স্ক্রিপ্ট, `certbot` এর একটি বিকল্প।
> `acme.sh dns` দেখুন।
> আরও তথ্য পাবেন: <https://github.com/acmesh-official/acme.sh>
- ওয়েবরুট মোড ব্যবহার করে একটি সার্টিফিকেট ইস্যু করুন:
`acme.sh --issue --domain {{example.com}} --webroot {{/পাথ/টু/ওয়েবরুট}}`
- পোর্ট ৮০ ব্যবহার করে স্ট্যান্ডঅলোন মোড ব্যবহার করে একটি মাল্টিপল ডোমেনের জন্য একটি সার্টিফিকেট ইস্যু করুন:
`acme.sh --issue --standalone --domain {{example.com}} --domain {{www.example.com}}`
- পোর্ট ৪৪৩ ব্যবহার করে স্ট্যান্ডঅলোন TLS মোড ব্যবহার করে একটি সার্টিফিকেট ইস্যু করুন:
`acme.sh --issue --alpn --domain {{example.com}}`
- কাজকর্ম Nginx কনফিগারেশন ব্যবহার করে একটি সার্টিফিকেট ইস্যু করুন:
`acme.sh --issue --nginx --domain {{example.com}}`
- কাজকর্ম অ্যাপাচি কনফিগারেশন ব্যবহার করে একটি সার্টিফিকেট ইস্যু করুন:
`acme.sh --issue --apache --domain {{example.com}}`
- স্বয়ংক্রিয় DNS API মোড ব্যবহার করে একটি উইল্ডকার্ড (\*) সার্টিফিকেট ইস্যু করুন:
`acme.sh --issue --dns {{dns_cf}} --domain {{*.example.com}}`
- নির্দিষ্ট অবস্থানে সার্টিফিকেট ফাইল ইনস্টল করুন (স্বয়ংক্রিয় সার্টিফিকেট পুনরারম্ভের জন্য উপযুক্ত):
`acme.sh --install-cert -d {{example.com}} --key-file {{/পথ/থেকে/উদাহরণ.কম.কি}} --fullchain-file {{/পথ/থেকে/উদাহরণ.কম.সিআর}} --reloadcmd {{"systemctl force-reload nginx"}}`

View File

@ -1,9 +0,0 @@
# aireplay-ng
> ওয়ায়ারলেস নেটওয়ার্কে প্যাকেট ইনজেক্ট করুন।
> `aireplay-ng` এর একটি অংশ।
> আরও তথ্য পাবেন: <https://www.aircrack-ng.org/doku.php?id=aireplay-ng>
- একটি এক্সেস পয়েন্টের MAC ঠিকানা, ক্লায়েন্টের MAC ঠিকানা এবং একটি ইন্টারফেস দেখে একটি নির্দিষ্ট সংখ্যক অপ্রাপ্ত প্যাকেট পাঠান:
`sudo aireplay-ng --deauth {{গণনা}} --bssid {{ap_mac}} --dmac {{client_mac}} {{ইন্টারফেস}}`

View File

@ -1,29 +0,0 @@
# alias
> উপনাম তৈরি করে -- এই শব্দগুলি যেগুলি কমান্ড স্ট্রিং দ্বারা প্রতিস্থাপন করা হয়।
> উপনাম বর্তমান শেল সেশনে শেষ হয় যতক্ষণ না সেট করা হয়, উদাহরণ: `~/.bashrc`
> আরও তথ্য পাবেন: <https://tldp.org/LDP/abs/html/aliases.html>
- সমস্ত উপনামের তালিকা তৈরি করুন:
`alias`
- একটি সাধারণ উপনাম তৈরি করুন:
`alias {{শব্দ}}="{{কমান্ড}}"`
- দেওয়া উপনামে সংক্ষিপ্ত কমান্ড দেখুন:
`alias {{শব্দ}}`
- একটি উপনাম বাদ দিন:
`unalias {{শব্দ}}`
- `rm` কে একটি ইন্টারয়াক্টিভ কমান্ড হিসেবে পরিবর্তন করুন:
`alias {{rm}}="{{rm --interactive}}"`
- `ls -a` এর সংক্ষেপ রূপ হিসেবে `la` তৈরি করুন:
`alias {{la}}="{{ls -all}}"`

View File

@ -1,9 +0,0 @@
# arch
> সিস্টেমের আর্কিটেকচারের নাম দেখানো।
> `uname` ওয়েবসাইটে দেখানো যাক।
> আরও তথ্য পাবেন: <https://www.gnu.org/software/coreutils/arch>
- সিস্টেম আর্কিটেকচার দেখানো:
`arch`

View File

@ -2,7 +2,7 @@
> বিদ্যমান কমিট দ্বারা প্রবর্তিত পরিবর্তনগুলি বর্তমান ব্র্যাঞ্চে প্রয়োগ করুন।
> অন্য ব্র্যাঞ্চে পরিবর্তনগুলি প্রয়োগ করতে, প্রথমে পছন্দসই ব্র্যাঞ্চে স্যুইচ করতে `git checkout` ব্যবহার করুন।
> আরও তথ্য পাবেন: <https://git-scm.com/docs/git-cherry-pick>
> আরও তথ্য পাবেন: <https://git-scm.com/docs/git-cherry-pick>.
- বর্তমান ব্র্যাঞ্চে কমিট করুন:

View File

@ -2,7 +2,7 @@
> ডেবিয়ান ভিত্তিক ডিস্ট্রিবিউশনের জন্য প্যাকেজ ম্যানেজমেন্ট ইউটিলিটি।
> ইন্টারেক্টিভভাবে ব্যবহৃত হলে উবুন্টু সংস্করণ 16.04 এবং তার পরবর্তী সংস্করনের জন্য `apt-get` এর পরিবরতে রেকোমেন্ডেড প্রতিস্থাপন।
> আরও তথ্য পাবেন: <https://manpages.debian.org/latest/apt/apt.8.html>
> আরও তথ্য পাবেন: <https://manpages.debian.org/latest/apt/apt.8.html>.
- উপলভ্য প্যাকেজ এবং সংস্করণের তালিকা আপডেট করুন (অন্যান্য `apt` কমান্ডের আগে এটি চালানোর পরামর্শ দেওয়া হচ্ছে):

View File

@ -2,7 +2,7 @@
> "স্ন্যাপ" স্বয়ংসম্পূর্ণ সফটওয়্যার প্যাকেজসমুহ পরিচালনার জন্য একটি টুল।
> এটি ".deb" এর জন্য `apt` এর অনুরূপ।
> আরও তথ্য পাবেন: <https://manned.org/snap>
> আরও তথ্য পাবেন: <https://manned.org/snap>.
- একটি প্যাকেজ অনুসন্ধান করুন:

View File

@ -1,7 +1,7 @@
# ditto
> ফাইল এবং ডিরেক্টরি কপি করুন।
> আরও তথ্য পাবেন: <https://ss64.com/osx/ditto.html>
> আরও তথ্য পাবেন: <https://ss64.com/osx/ditto.html>.
- সোর্স ডিরেক্টরির বিষয়বস্তু দিয়ে গন্তব্য ডিরেক্টরির বিষয়বস্তু ওভাররাইট করুন:

View File

@ -2,7 +2,7 @@
> নেটওয়ার্ক প্যাকেট স্নিফার।
> SunOS এর জন্য tcpdump এর সমতুল্য।
> আরও তথ্য পাবেন: <https://www.unix.com/man-page/sunos/1m/snoop>
> আরও তথ্য পাবেন: <https://www.unix.com/man-page/sunos/1m/snoop>.
- একটি নির্দিষ্ট নেটওয়ার্ক ইন্টারফেসে প্যাকেটগুলি ক্যাপচার করুন:

View File

@ -1,7 +1,7 @@
# cd
> বর্তমান ওয়ার্কিং ডিরেক্টরির নাম প্রদর্শন বা পরিবর্তন করে।
> আরও তথ্য পাবেন: <https://learn.microsoft.com/windows-server/administration/windows-commands/cd>
> আরও তথ্য পাবেন: <https://learn.microsoft.com/windows-server/administration/windows-commands/cd>.
- একই ড্রাইভে একটি ডিরেক্টরিতে যান:

View File

@ -1,28 +0,0 @@
# choice
> ব্যবহারকারীকে একটি চয়েস নির্বাচন করতে উৎসাহিত করুন এবং নির্বাচিত চয়েস ইনডেক্স ফিরিয়ে দিন।
> আরও তথ্য পাবেন: <https://learn.microsoft.com/windows-server/administration/windows-commands/choice>
- বর্তমান ব্যবহারকারীকে `Y` বা `N` চয়েস নির্বাচন করতে:
`choice`
- বর্তমান ব্যবহারকারীকে একটি নির্দিষ্ট সেট থেকে [c]hoice নির্বাচন করতে:
`choice /c {{AB}}`
- বর্তমান ব্যবহারকারীকে একটি চয়েস নির্বাচন করতে একটি নির্দিষ্ট [m]essage সহ:
`choice /m "{{বার্তা}}"`
- বর্তমান ব্যবহারকারীকে একটি [c]ase-[s]ensitive [c]hoice নির্বাচন করতে একটি নির্দিষ্ট সেট থেকে:
`choice /cs /c {{Ab}}`
- বর্তমান ব্যবহারকারীকে একটি চয়েস নির্বাচন করতে এবং একটি নির্দিষ্ট [t]ime এ [d]efault চয়েস এ প্রাথমিকভাবে পছন্দ করতে:
`choice /t {{5}} /d {{N}}`
- সাহায্য দেখান:
`choice /?`

View File

@ -1,8 +0,0 @@
# chrome
> এই আদেশটির উপনাম `chromium`
> আরও তথ্য পাবেন: <https://chrome.google.com>
- মৌল আদেশের জন্য ডকুমেন্টেশন দেখুন:
`tldr chromium`

View File

@ -1,16 +0,0 @@
# color
> কনসোল পূর্বপরক্ষ এবং পৃষ্ঠভূমির রঙ নির্ধারণ করুন।
> আরও তথ্য পাবেন: <https://learn.microsoft.com/windows-server/administration/windows-commands/color>
- কনসোল রঙগুলি ডিফল্ট মানে নির্ধারণ করুন:
`color`
- উপলব্ধ রঙের মান এবং বিস্তারিত তথ্য দেখুন:
`color /?`
- হেক্সাডেসিমাল নম্বর (`1-9,a-f`) ব্যবহার করে কনসোল পূর্বপরক্ষ এবং পৃষ্ঠভূমি নির্ধারণ করুন:
`color {{ফোরগ্রাউন্ড_কোড}}{{পটভূমি_কোড}}`

View File

@ -1,16 +0,0 @@
# curl
> পাওয়ারশেলে, এই কমান্ডটি অরিজিনাল `curl` প্রোগ্রাম (<https://curl.se>) সঠিকভাবে ইনস্টল না থাকলে এটি `Invoke-WebRequest` এর এলিয়াস হতে পারে।
> আরও তথ্য পাবেন: <https://learn.microsoft.com/powershell/module/microsoft.powershell.utility/invoke-webrequest>
- চেষ্টা করুন যে কি `curl` সঠিকভাবে ইনস্টল করা হয়েছে কিনা, এর সংস্করণ নম্বর প্রিন্ট করে। যদি এই কমান্ডটি একটি ত্রুটির মধ্যে মূল `Invoke-WebRequest` দিয়ে বদলে যায়, তবে:
`curl --version`
- মৌলিক `curl` কমান্ডের জন্য নথি:
`tldr curl -p common`
- পাওয়ারশেলের `Invoke-WebRequest` কমান্ডের জন্য নথি:
`tldr invoke-webrequest`

View File

@ -1,16 +0,0 @@
# date
> সিস্টেমের তারিখ প্রদর্শন বা সেট করে।
> আরও তথ্য পাবেন: <https://learn.microsoft.com/windows-server/administration/windows-commands/date>
- বর্তমান সিস্টেম তারিখ প্রদর্শন এবং নতুন তারিখ সেট করতে (অপরিবর্তিত রাখতে খালি রাখুন):
`date`
- নতুন তারিখ সহ বর্তমান সিস্টেম তারিখ প্রদর্শন:
`date /t`
- বর্তমান সিস্টেম তারিখকে নির্দিষ্ট তারিখে পরিবর্তন করুন:
`date {{মাস}}-{{দিন}}-{{বছর}}`

View File

@ -1,32 +0,0 @@
# doskey
> ম্যাক্রোজ, উইন্ডোজ কমান্ড এবং কমান্ড-লাইন পরিচালনা করুন।
> আরও তথ্য পাবেন: <https://learn.microsoft.com/windows-server/administration/windows-commands/doskey>
- উপস্থিত ম্যাক্রোগুলির তালিকা তৈরি করুন:
`doskey /macros`
- একটি নতুন ম্যাক্রো তৈরি করুন:
`doskey {{নাম}} = "{{কমান্ড}}"`
- একটি নির্দিষ্ট সম্পাদনযোগ্য জন্য একটি নতুন ম্যাক্রো তৈরি করুন:
`doskey /exename={{সম্পাদন}} {{নাম}} = "{{কমান্ড}}"`
- ম্যাক্রো অপসারণ করুন:
`doskey {{নাম}} =`
- মেমোরিতে সংরক্ষিত সমস্ত কমান্ড দেখান:
`doskey /history`
- পোর্টেবিলিটির জন্য ম্যাক্রোগুলি ফাইলে সংরক্ষণ করুন:
`doskey /macros > {{ফাইলের\পথ}}`
- একটি ফাইল থেকে ম্যাক্রোগুলি লোড করুন:
`doskey /macrofile={{ফাইলের\পথ}}`

View File

@ -1,16 +0,0 @@
# exit
> বর্তমান CMD ইনস্ট্যান্স বা বর্তমান ব্যাচ ফাইল থেকে বাহির হোন।
> আরও তথ্য পাবেন: <https://learn.microsoft.com/windows-server/administration/windows-commands/exit>
- বর্তমান CMD উদাহরণ থেকে বাহির হোন:
`exit`
- বর্তমান ব্যাচ স্ক্রিপ্ট থেকে বাহির হোন:
`exit /b`
- নির্দিষ্ট প্রস্থান কোড ব্যবহার করে বন্ধ করুন:
`exit {{2}}`

View File

@ -1,20 +0,0 @@
# find
> এক বা একাধিক ফাইলে নির্দিষ্ট স্ট্রিং খোঁজা।
> আরও তথ্য পাবেন: <https://learn.microsoft.com/windows-server/administration/windows-commands/find>
- ঐ স্ট্রিং যুক্ত লাইন গুলি খোঁজা:
`find "{{স্ট্রিং}}" {{পথ\হতে\ফাইল_বা_ডিরেক্টরি}}`
- সেই লাইন গুলি প্রদর্শন করুন যেগুলিতে নির্দিষ্ট স্ট্রিং নেই:
`find "{{স্ট্রিং}}" {{পথ\হতে\ফাইল_বা_ডিরেক্টরি}} /v`
- নির্দিষ্ট স্ট্রিং সহ লাইন সংখ্যা দেখানো:
`find "{{স্ট্রিং}}" {{পথ\হতে\ফাইল_বা_ডিরেক্টরি}} /c`
- লাইন সংখ্যা দিয়ে লাইন এর সাথে লাইন এর তালিকা দেখানো:
`find "{{স্ট্রিং}}" {{পথ\হতে\ফাইল_বা_ডিরেক্টরি}} /n`

View File

@ -1,12 +0,0 @@
# mkdir
> একটি নির্দেশিকা তৈরি করে।
> আরও তথ্য পাবেন: <https://learn.microsoft.com/windows-server/administration/windows-commands/mkdir>
- একটি নির্দেশিকা তৈরি করুন:
`mkdir {{নির্দেশিকা\এর\পথ}}`
- পুনরাবৃত্তি হিসেবে একটি নেস্টেড নির্দেশিকা ট্রি তৈরি করুন:
`mkdir {{উপনির্দেশিকা\এর\পথ}}`

View File

@ -1,36 +0,0 @@
# net
> সিস্টেম ইউটিলিটি যাতে নেটওয়ার্ক-সম্পর্কিত সেটিংস দেখা এবং পরিবর্তন করা হয়।
> আরও তথ্য পাবেন: <https://learn.microsoft.com/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/gg651155(v=ws.11)>
- একটি Windows সার্ভিস সমকালিনভাবে চালু বা বন্ধ করুন:
`net {{শুরু|বন্ধ}} {{সার্ভিস}}`
- নিশ্চিত হোন একটি SMB শেয়ার বর্তমান কনসোলে উপলব্ধ:
`net use {{\\smb_shared_folder}} /USER:{{ব্যবহারকারীনাম}}`
- বর্তমানে SMB এর উপর ভাগ করা ফোল্ডারগুলি দেখান:
`net share`
- আপনার SMB শেয়ারগুলি ব্যবহার করছে কে তা দেখান (উচ্চতম কনসোলে চালান):
`net session`
- একটি স্থানীয় সিকিউরিটি গ্রুপে ব্যবহারকারীগুলি দেখান:
`net localgroup "{{অ্যাডমিনিস্ট্রেটরস}}"`
- একটি ব্যবহারকারীকে স্থানীয় সিকিউরিটি গ্রুপে যোগ করুন (উচ্চতম কনসোলে চালান):
`net localgroup "{{অ্যাডমিনিস্ট্রেটরস}}" {{ব্যবহারকারীনাম}} /add`
- একটি সাবকমান্ডের জন্য সাহায্য দেখান:
`net help {{সাবকমান্ড}}`
- সাহায্য দেখান:
`net help`

View File

@ -1,20 +0,0 @@
# path
> কার্যকর ফাইলগুলির জন্য পথ খোঁজা বা সেট করতে পারেন।
> আরও তথ্য পাবেন: <https://learn.microsoft.com/windows-server/administration/windows-commands/path>
- বর্তমান পথটি দেখানো:
`path`
- এক বা একাধিক নির্দিষ্ট ডিরেক্টরির জন্য পথ সেট করা:
`path {{পথ\থেকে\ডিরেক্টরি1 পথ\থেকে\ডিরেক্টরি2 ...}}`
- মৌলিক পথে একটি নতুন ডিরেক্টরি যোগ করুন:
`path {{পথ\থেকে\ডিরেক্টরি}};%path%`
- কার্যকর ফাইলগুলির জন্য কেবলমাত্র বর্তমান ডিরেক্টরি খুঁজতে কমান্ড প্রম্প্ট সেট করুন:
`path ;`

View File

@ -1,32 +0,0 @@
# scoop
> স্কুপ প্যাকেজ ম্যানেজার।
> আরও তথ্য পাবেন: <https://scoop.sh>
- একটি প্যাকেজ ইনস্টল করুন:
`scoop install {{প্যাকেজ}}`
- একটি প্যাকেজ আনইনস্টল করুন:
`scoop uninstall {{প্যাকেজ}}`
- সব ইনস্টল প্যাকেজ আপডেট করুন:
`scoop update --all`
- ইনস্টল প্যাকেজের তালিকা তৈরি করুন:
`scoop list`
- কোনও প্যাকেজ সম্পর্কে তথ্য দেখান:
`scoop info {{প্যাকেজ}}`
- একটি প্যাকেজ সন্ধান করুন:
`scoop search {{প্যাকেজ}}`
- সব প্রাচীন সংস্করণ সরানো এবং ডাউনলোড ক্যাশ পরিষ্কার করুন:
`scoop cleanup --cache --all`

View File

@ -1,20 +0,0 @@
# set
> CMD-এর বর্তমান ইনস্ট্যান্সের জন্য পরিবেশ চেরা বা সেট করুন।
> আরও তথ্য পাবেন: <https://learn.microsoft.com/windows-server/administration/windows-commands/set>
- সমস্ত বর্তমান পরিবেশ চেরা তালিকাভুক্ত করুন:
`set`
- একটি পরিবেশ চেরা বিশেষ মানের জন্য সেট করুন:
`set {{নাম}}={{মান}}`
- নির্দিষ্ট স্ট্রিং দিয়ে শুরু হওয়া পরিবেশ চেরা তালিকাভুক্ত করুন:
`set {{নাম}}`
- ব্যবহারকারীকে নির্দিষ্ট চেরার জন্য একটি মানের জন্য প্রম্প্ট করুন:
`set /p {{নাম}}={{প্রম্প্ট_স্ট্রিং}}`

View File

@ -1,12 +0,0 @@
# time
> সিস্টেম সময় প্রদর্শন বা সেট করুন।
> আরও তথ্য পাবেন: <https://learn.microsoft.com/windows-server/administration/windows-commands/time>
- বর্তমান সিস্টেম সময় প্রদর্শন এবং একটি নতুন সময় এন্টার করতে প্রম্পট করুন (অপরিবর্তিত রাখতে খালি রাখুন):
`time`
- নতুন সময়ের জন্য প্রম্পট ছাড়া বর্তমান সিস্টেম সময় প্রদর্শন:
`time /t`

View File

@ -1,8 +0,0 @@
# title
> কমান্ড প্রম্পট উইন্ডোর শিরোনাম সেট করুন।
> আরও তথ্য পাবেন: <https://learn.microsoft.com/windows-server/administration/windows-commands/title>
- বর্তমান কমান্ড প্রম্পট উইন্ডোর শিরোনাম সেট করুন:
`title {{নতুন_শিরোনাম}}`

View File

@ -1,21 +0,0 @@
# where
> অনুসন্ধান প্যাটার্নের সাথে মিলছে ফাইলগুলির অবস্থান প্রদর্শন করুন।
> ডিফল্টস্ কারেন্ট ওয়ার্ক ডিরেক্টরি এবং PATH এনভায়রনমেন্ট ভেরিয়েবলে পাথের অবস্থানগুলি।
> আরও তথ্য পাবেন: <https://learn.microsoft.com/windows-server/administration/windows-commands/where>
- ফাইল প্যাটার্নের অবস্থান প্রদর্শন করুন:
`where {{ফাইল_প্যাটার্ন}}`
- ফাইল প্যাটার্নের অবস্থান প্রদর্শন করুন যাতে ফাইলের আকার এবং তারিখও থাকে:
`where /T {{ফাইল_প্যাটার্ন}}`
- নির্দিষ্ট পথে ফাইল প্যাটার্নের জন্য পুনরাবৃত্তি অনুসন্ধান করুন:
`where /R {{পথ\টু\ডিরেক্টরি}} {{ফাইল_প্যাটার্ন}}`
- ফাইল প্যাটার্নের অবস্থানের জন্য শান্তভাবে ত্রুটি কোড ফিরিয়ে আসুন:
`where /Q {{ফাইল_প্যাটার্ন}}`

View File

@ -1,7 +1,7 @@
# curl
> Ova komanda je pseudonim za `curl -p common`.
> Više informacija: <https://learn.microsoft.com/powershell/module/microsoft.powershell.utility/invoke-webrequest>.
> Više informacija: <https://curl.se>.
- Pogledaj dokumentaciju za izvornu komandu:

View File

@ -1,7 +1,6 @@
# iwr
> Ova komanda je pseudonim za `invoke-webrequest`.
> Više informacija: <https://learn.microsoft.com/powershell/module/microsoft.powershell.utility/invoke-webrequest>.
- Pogledaj dokumentaciju za izvornu komandu:

View File

@ -1,8 +1,8 @@
# sls
> Ova komanda je pseudonim za `Select-String`.
> Ova komanda je pseudonim za `where-object`.
> Više informacija: <https://learn.microsoft.com/powershell/module/microsoft.powershell.utility/select-string>.
- Pogledaj dokumentaciju za izvornu komandu:
`tldr select-string`
`tldr where-object`

View File

@ -1,7 +1,7 @@
# wget
> Ova komanda je pseudonim za `wget -p common`.
> Više informacija: <https://learn.microsoft.com/powershell/module/microsoft.powershell.utility/invoke-webrequest>.
> Više informacija: <https://www.gnu.org/software/wget>.
- Pogledaj dokumentaciju za izvornu komandu:

View File

@ -25,8 +25,12 @@
- [a]rxiva un fitxer fent servir un tipus d'arxiu específic:
`7z a -t{{7z|bzip2|gzip|lzip|tar|zip}} {{camí/al/fitxer}} {{camí/al/fitxer_o_directori}}`
`7z a -t{{7z|bzip2|gzip|lzip|tar|zip}} {{camí/al/fitxer.7z}} {{camí/al/fitxer_o_directori}}`
- [l]lista els continguts d'un fitxer:
`7z l {{camí/al/fitxer.7z}}`
- Llista els tipus d'arxiu disponibles:
`7z i`

View File

@ -1,17 +1,8 @@
# ClamAV
# clamav
> Programa antivirus de codi obert.
> ClamAV no és una ordre, sinó un conjunt d'ordres.
> Aquest comandament és un àlies de `clamdscan`.
> Més informació: <https://www.clamav.net>.
- Mostra la pàgina tldr per escanejar fitxers amb el dimoni `clamd`:
- Veure documentació pel comandament original:
`tldr clamdscan`
- Mostra la pàgina tldr per escanejar fitxers sense que s'executi el dimoni `clamd`:
`tldr clamscan`
- Mostra la pàgina tldr per actualitzar les definicions de virus:
`tldr freshclam`

21
pages.ca/linux/clamav.md Normal file
View File

@ -0,0 +1,21 @@
# clamav
> Antivirus de codi obert.
> Dissenyat especialment per escanejar correus electrònics, però pot ser emprat en altres contextos.
> Més informació: <https://www.clamav.net>.
- Actualitza definicions de virus:
`freshclam`
- Escaneja un arxiu en busca de virus:
`clamscan {{ruta/al/arxiu}}`
- Escaneja directoris recursivament i mostra els arxius infectats:
`clamscan --recursive --infected {{ruta/al/directori}}`
- Escaneja directoris recursivament y posa els arxius infectats en quarantena:
`clamscan --recursive --move={{directori}}`

View File

@ -1,7 +1,7 @@
# halt
> Deté, apaga o reinicia la màquina.
> Més informació: <https://manned.org/halt.8>.
> Més informació: <https://www.man7.org/linux/man-pages/man8/halt.8.html>.
- Deté la màquina:
@ -17,7 +17,7 @@
- Deté la màquina inmediatament sense contactar l'administrador de sistemes:
`halt --force`
`halt --force --force`
- Escriu l'entrada de wtpm shutdown sense aturar el sistema:

View File

@ -15,9 +15,9 @@
`Super + Shift + {{número}}`
- Canvia al espai de treball número `n`:
- Canvia al espai de treball {{número}}:
`Super + {{n}}`
`Super + {{número}}`
- Obre una nova finestra en mosaic horitzontal:

View File

@ -1,7 +1,7 @@
# snake4scores
> Mostra les màximes puntuacions del joc snake4.
> Més informació: <https://manpages.debian.org/snake4/snake4.6.en.html>.
> Més informació: <https://manpages.debian.org/latest/snake4/snake4.6.en.html>.
- Mostra les màximes puntuacions:

View File

@ -1,7 +1,7 @@
# ufw
> Tallafocs sense complicacions (_Uncomplicated Firewall_).
> Interfície d'usuari de `iptables` per facilitar la configuració d'un firewall.
> Interfície d'usuari de iptables per facilitar la configuració d'un firewall.
> Més informació: <https://wiki.ubuntu.com/UncomplicatedFirewall>.
- Activa ufw:

View File

@ -1,7 +1,7 @@
# curl
> Aquest comandament és un àlies de `curl -p common`.
> Més informació: <https://learn.microsoft.com/powershell/module/microsoft.powershell.utility/invoke-webrequest>.
> Més informació: <https://curl.se>.
- Veure documentació pel comandament original:

View File

@ -1,7 +1,6 @@
# iwr
> Aquest comandament és un àlies de `invoke-webrequest`.
> Més informació: <https://learn.microsoft.com/powershell/module/microsoft.powershell.utility/invoke-webrequest>.
- Veure documentació pel comandament original:

View File

@ -1,8 +1,8 @@
# sls
> Aquest comandament és un àlies de `Select-String`.
> Aquest comandament és un àlies de `where-object`.
> Més informació: <https://learn.microsoft.com/powershell/module/microsoft.powershell.utility/select-string>.
- Veure documentació pel comandament original:
`tldr select-string`
`tldr where-object`

View File

@ -1,7 +1,7 @@
# wget
> Aquest comandament és un àlies de `wget -p common`.
> Més informació: <https://learn.microsoft.com/powershell/module/microsoft.powershell.utility/invoke-webrequest>.
> Més informació: <https://www.gnu.org/software/wget>.
- Veure documentació pel comandament original:

View File

@ -1,28 +0,0 @@
# cd
> Změnit aktuální pracovní adresář.
> Více informací: <https://manned.org/cd>.
- Přesun do zadaného adresáře:
`cd {{cesta/k/adresari}}`
- Přesun o úroveň výš do nadřazeného adresáře:
`cd ..`
- Přesun do domovského adresáře aktuálního uživatele:
`cd`
- Přesun do domovského adresáře zadaného uživatele:
`cd ~{{jmeno_uzivatele}}`
- Přesun do předchozího vybraného adresáře:
`cd -`
- Přesun do kořenového adresáře:
`cd /`

Some files were not shown because too many files have changed in this diff Show More