Skip to content

Commit dc6d62b

Browse files
committed
Add commands
1 parent c3c56f2 commit dc6d62b

11 files changed

Lines changed: 749 additions & 15 deletions

assets/commands/ascii-xfr.md

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# TAGLINE
2+
3+
ASCII file transfer over serial connections
4+
5+
# TLDR
6+
7+
**Send** a file over the serial line
8+
9+
```ascii-xfr -s [path/to/file]```
10+
11+
**Receive** a file from the serial line
12+
13+
```ascii-xfr -r [path/to/file]```
14+
15+
**Send** a file with a **line delay** of 100 milliseconds
16+
17+
```ascii-xfr -s -l 100 [path/to/file]```
18+
19+
**Send** a file with a **character delay** of 10 milliseconds
20+
21+
```ascii-xfr -s -c 10 [path/to/file]```
22+
23+
**Send** a file and transmit an **end-of-file** character when done
24+
25+
```ascii-xfr -s -e [path/to/file]```
26+
27+
**Receive** a file with **verbose** output
28+
29+
```ascii-xfr -r -v [path/to/file]```
30+
31+
# SYNOPSIS
32+
33+
**ascii-xfr** **-s**|**-r** [**-ednv**] [**-l** _linedelay_] [**-c** _characterdelay_] _filename_
34+
35+
# PARAMETERS
36+
37+
**-s**
38+
> Send a file
39+
40+
**-r**
41+
> Receive a file
42+
43+
**-e**
44+
> Send the End-Of-File character (Control-Z) when uploading has finished
45+
46+
**-d**
47+
> Use Control-D instead of Control-Z as the EOF character
48+
49+
**-n**
50+
> Do not translate CR/LF; skip automatic CRLF conversion
51+
52+
**-v**
53+
> Verbose mode; display transfer statistics on stderr
54+
55+
**-l** _milliseconds_
56+
> Line delay; wait this many milliseconds after each line when transmitting
57+
58+
**-c** _milliseconds_
59+
> Character delay; wait this many milliseconds after each character when transmitting
60+
61+
# DESCRIPTION
62+
63+
**ascii-xfr** is a file transfer utility that sends or receives files over serial connections using plain ASCII line-by-line transfer. It is part of the **minicom** package and is designed as a last-resort transfer method when the remote system does not support proper file transfer protocols like ZMODEM, XMODEM, or Kermit.
64+
65+
During sending, end-of-line characters are transmitted as **CRLF**. During receiving, **CR** characters are stripped from incoming data. The tool reads from stdin when receiving and writes to stdout when sending, so it requires I/O redirection to the serial device, typically provided by minicom or a similar terminal emulator.
66+
67+
# CAVEATS
68+
69+
There is no error detection or correction. Data corruption during transfer goes undetected, making it unsuitable for binary files or unreliable links. The tool is designed for text file transfer only; binary files will be corrupted by the CRLF translation unless **-n** is used. The man page itself recommends it should only be used if the remote system does not support anything else.
70+
71+
# HISTORY
72+
73+
**ascii-xfr** was written by **Miquel van Smoorenburg** and **Jukka Lahtinen**, the authors of **minicom**. Minicom originated in the early 1990s as a free, text-based replacement for the DOS program Telix and became the de facto standard serial terminal emulator on Linux. ascii-xfr was created as a companion utility for the simplest possible file transfer scenario.
74+
75+
# SEE ALSO
76+
77+
[minicom](/man/minicom)(1)

assets/commands/bun-pm-cache.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# TAGLINE
2+
3+
Manage Bun's global package cache
4+
5+
# TLDR
6+
7+
**Print** the path to Bun's global module cache
8+
9+
```bun pm cache```
10+
11+
**Clear** the entire global module cache
12+
13+
```bun pm cache rm```
14+
15+
# SYNOPSIS
16+
17+
**bun pm cache** [**rm**]
18+
19+
# DESCRIPTION
20+
21+
**bun pm cache** manages Bun's global module cache directory where all packages downloaded from npm registries are stored. Running without arguments prints the absolute path to the cache directory. The **rm** subcommand deletes the entire cache contents.
22+
23+
The default cache location is **~/.bun/install/cache**, where packages are stored in subdirectories named **\${name}@\${version}**. When **bun install** runs, it checks this global cache first and uses cached copies via hardlink, clonefile, or copy instead of fetching from the network.
24+
25+
The cache location can be overridden via the **BUN_INSTALL_CACHE_DIR** environment variable or the **[install.cache]** section in **bunfig.toml**.
26+
27+
# CONFIGURATION
28+
29+
Cache settings in **bunfig.toml**
30+
31+
```
32+
[install.cache]
33+
dir = "~/.bun/install/cache"
34+
disable = false
35+
disableManifest = false
36+
```
37+
38+
**dir** sets a custom cache directory. **disable** prevents loading from global cache. **disableManifest** forces resolving latest versions from the registry.
39+
40+
# CAVEATS
41+
42+
There is no selective cache clearing; **bun pm cache rm** is all-or-nothing and removes the entire global cache. To remove a specific package, manually delete its directory under **~/.bun/install/cache/\<package\>@\<version\>**. The command historically required being run inside a directory containing a **package.json**, even though it operates on the global cache.
43+
44+
# SEE ALSO
45+
46+
[bun](/man/bun)(1), [bun-pm-trust](/man/bun-pm-trust)(1), [npm-cache](/man/npm-cache)(1)

assets/commands/bun-pm-trust.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# TAGLINE
2+
3+
Manage trusted dependencies in Bun projects
4+
5+
# TLDR
6+
7+
**Run blocked lifecycle scripts** for specific packages and add them to trusted dependencies
8+
9+
```bun pm trust [package1] [package2]```
10+
11+
**Trust all** currently untrusted dependencies at once
12+
13+
```bun pm trust --all```
14+
15+
**List** all dependencies that had their lifecycle scripts blocked
16+
17+
```bun pm untrusted```
18+
19+
**Install** a package and trust it in one step
20+
21+
```bun add --trust [package]```
22+
23+
# SYNOPSIS
24+
25+
**bun pm trust** [**--all**] [_names..._]
26+
27+
# PARAMETERS
28+
29+
**--all**
30+
> Trust all currently untrusted dependencies at once, running all their blocked lifecycle scripts and adding them to **trustedDependencies** in **package.json**
31+
32+
# DESCRIPTION
33+
34+
**bun pm trust** runs blocked lifecycle scripts (such as **postinstall**, **preinstall**, and **node-gyp** builds) for specified untrusted dependencies and adds those packages to the **trustedDependencies** array in **package.json**.
35+
36+
Unlike npm, Bun blocks arbitrary lifecycle script execution for installed dependencies by default as a security measure. When Bun blocks a script, it installs the package but silently skips its lifecycle scripts. The **bun pm trust** command is the mechanism for explicitly opting in to running those scripts for packages you have reviewed and trust.
37+
38+
Bun maintains a default allowlist of popular packages known to have safe postinstall scripts. This default list only applies to packages sourced from npm; packages from **file:**, **link:**, **git:**, or **github:** sources require explicit **trustedDependencies** entries.
39+
40+
# CAVEATS
41+
42+
Trusting a package only permits lifecycle scripts for that specific package, not for the dependencies of that dependency. Each package that needs to run lifecycle scripts must be listed individually. There is no **bun pm untrust** command; to revoke trust you must manually edit **trustedDependencies** in **package.json**. Because Bun blocks lifecycle scripts silently, packages that depend on postinstall steps (like **esbuild**, **sharp**, **@biomejs/biome**) may appear to install successfully but fail at runtime.
43+
44+
# HISTORY
45+
46+
The trusted dependencies workflow was introduced in **Bun v1.0.31** (March 2024) with the **bun add --trust** flag and the **bun pm trust** command. Early versions had bugs on Windows where **bun pm trust** could panic, which were fixed in **v1.1.18** (July 2024).
47+
48+
# SEE ALSO
49+
50+
[bun](/man/bun)(1), [bun-pm-cache](/man/bun-pm-cache)(1), [npm](/man/npm)(1)

assets/commands/disable.md

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,25 +4,29 @@ Disable shell builtins or other named elements
44

55
# TLDR
66

7-
**Disable a shell builtin**
7+
**Disable a shell builtin** so the external version is used instead
88

99
```disable [builtin_name]```
1010

1111
**Disable a shell function**
1212

1313
```disable -f [function_name]```
1414

15+
**Disable a regular alias**
16+
17+
```disable -a [alias_name]```
18+
1519
**Disable a reserved word**
1620

1721
```disable -r [reserved_word]```
1822

19-
**List all disabled builtins**
23+
**Disable a glob pattern operator** like ~ or #
2024

21-
```disable```
25+
```disable -p '[operator]'```
2226

23-
**Re-enable a disabled builtin**
27+
**List all currently disabled builtins**
2428

25-
```enable [builtin_name]```
29+
```disable```
2630

2731
# SYNOPSIS
2832

@@ -31,36 +35,36 @@ Disable shell builtins or other named elements
3135
# PARAMETERS
3236

3337
**-a**
34-
> Disable aliases
38+
> Act on regular or global aliases
3539
3640
**-f**
37-
> Disable shell functions
41+
> Act on shell functions
3842
3943
**-m**
40-
> Treat arguments as patterns for matching
44+
> Treat arguments as glob patterns for matching multiple elements at once (patterns should be quoted)
4145
4246
**-p**
43-
> Disable shell parameters (variables)
47+
> Act on elements of the shell's pattern (globbing) syntax, such as **?**, **\***, **[**, **~**, **^**, and **#**
4448
4549
**-r**
46-
> Disable reserved words
50+
> Act on reserved words
4751
4852
**-s**
49-
> Disable suffix aliases (zsh)
53+
> Act on suffix aliases
5054
5155
# DESCRIPTION
5256

53-
**disable** is a zsh builtin that prevents named elements from being used. When a builtin is disabled, the shell will search **$PATH** for an external command of the same name instead. This is useful for forcing the use of an external version of a command over the shell builtin, such as using an external **echo** or **test** instead of the builtin version.
57+
**disable** is a zsh builtin that temporarily deactivates named hash table elements. By default it operates on builtins: when a builtin is disabled, the shell will search **$PATH** for an external command of the same name instead. This is useful for forcing the use of an external version of a command over the shell builtin, such as using an external **echo** or **test** instead of the builtin version.
5458

55-
Disabled elements can be re-enabled with the **enable** builtin.
59+
The command extends beyond builtins to aliases (**-a**), functions (**-f**), reserved words (**-r**), suffix aliases (**-s**), and even glob pattern operators (**-p**). When invoked without arguments, it lists all disabled elements from the corresponding hash table. Disabled elements can be re-enabled with the **enable** builtin.
5660

5761
# CAVEATS
5862

59-
Only available in zsh. In bash, the equivalent functionality is provided by **enable -n**. Disabling critical builtins like **cd** or **exit** can make the shell difficult to use. The effect does not persist across shell sessions unless added to shell configuration files.
63+
Only available in **zsh**. In **bash**, the equivalent functionality for builtins is provided by **enable -n**, but bash does not support disabling aliases, functions, reserved words, or glob operators this way. Disabling critical builtins like **cd** or **exit** can make the shell difficult to use. The effect does not persist across shell sessions unless added to **~/.zshrc** or another configuration file.
6064

6165
# HISTORY
6266

63-
The concept of disabling builtins was introduced in **bash** with the **enable -n** syntax. **Zsh** provides the dedicated **disable** command as part of its more modular approach to shell configuration, extending the concept to functions, aliases, and reserved words.
67+
The concept of selectively disabling builtins originated in **bash** with the **enable -n** syntax. **Zsh** provides the dedicated **disable** command as part of its more modular approach to shell configuration, extending the concept to functions, aliases, reserved words, suffix aliases, and glob pattern operators.
6468

6569
# SEE ALSO
6670

assets/commands/frida-ps.md

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# TAGLINE
2+
3+
List processes on local and remote devices using Frida
4+
5+
# TLDR
6+
7+
**List** all processes on the local machine
8+
9+
```frida-ps```
10+
11+
**List** processes on a **USB-connected** device
12+
13+
```frida-ps -U```
14+
15+
**List** only running **applications** on a USB device
16+
17+
```frida-ps -Ua```
18+
19+
**List** all **installed** applications on a USB device (running or not)
20+
21+
```frida-ps -Uai```
22+
23+
**List** processes on a **specific device** by ID
24+
25+
```frida-ps -D [device_id]```
26+
27+
**Output** process list as **JSON**
28+
29+
```frida-ps -Uaj```
30+
31+
# SYNOPSIS
32+
33+
**frida-ps** [_options_]
34+
35+
# PARAMETERS
36+
37+
**-a**, **--applications**
38+
> List only applications, not all system processes
39+
40+
**-i**, **--installed**
41+
> Include all installed applications (requires **-a**)
42+
43+
**-j**, **--json**
44+
> Output results as JSON
45+
46+
**-e**, **--exclude-icons**
47+
> Exclude icons in output
48+
49+
**-U**, **--usb**
50+
> Connect to USB device
51+
52+
**-R**, **--remote**
53+
> Connect to remote frida-server
54+
55+
**-H** _HOST_, **--host** _HOST_
56+
> Connect to remote frida-server on HOST
57+
58+
**-D** _ID_, **--device** _ID_
59+
> Connect to device with the given ID
60+
61+
# DESCRIPTION
62+
63+
**frida-ps** is a command-line tool for listing processes, part of the Frida dynamic instrumentation toolkit. It functions similarly to the Unix **ps** command but is designed to work with both local and remote devices (USB-connected phones, remote frida-server instances). It can list all running processes, filter to only applications, show installed but not running applications, and output results as JSON for scripting.
64+
65+
# CAVEATS
66+
67+
To list processes on a remote or USB-connected device, **frida-server** must be running on that device with appropriate permissions. The **-i** flag requires **-a**; using **--installed** without **--applications** will report an error. On the local machine, listing processes of other users may require elevated privileges.
68+
69+
# HISTORY
70+
71+
**frida-ps** has been part of the Frida toolkit since its early releases. It is included in the **frida-tools** package, installable via **pip install frida-tools**. Frida was created by **Ole Andre Vadla Ravnas** and publicly released in **2014**.
72+
73+
# SEE ALSO
74+
75+
[frida](/man/frida)(1), [frida-trace](/man/frida-trace)(1), [ps](/man/ps)(1)

0 commit comments

Comments
 (0)