linux-commands-guide — lh
Bilingual ES/EN Linux command reference for the terminal. 51 tools covered, keyword search across all of
them, one short command: lh. Like a cheat sheet that is always one keystroke away — and works over SSH.
Guía de comandos Linux bilingüe (español / inglés) para la terminal.
✨ Features
- 🌐 Bilingual — Spanish or English, picked from your locale (
--lang es|ento force it) - 🔍 Cross-tool search —
lh -s portfinds every command mentioning "port", in both languages - 📦 51 tools — awk, grep, find, git, docker, ssh, tmux, jq, ss, rsync, tar, systemctl, iptables and more
- ✅ Checked content — every entry is tested for both translations; examples are real, working commands
- 🔇 Pipe-friendly — plain text when piped (
lh tar | less), honoursNO_COLOR
📥 Installation
pip install linux-commands-guide
Or from source:
git clone https://github.com/serber-info/linux-commands-guide.git
cd linux-commands-guide
pip install -e .
🛠 Usage
lh <tool> # Show commands for a tool
lh -s <keyword> # Search across all tools
lh --lang en <tool> # Force English (or --lang es for Spanish)
lh --help # Help and the full tool list
lh --version
Examples
lh ssh
╔══════════════════════════════════════════════╗
║ SSH Options ║
╚══════════════════════════════════════════════╝
Command Description
──────────────────────────────────────────────────────────────────────────────────────────────
ssh user@host Connect to host as the given user
ssh -p <port> user@host Connect using the specified port
ssh -i key.pem user@host Use a private key for authentication
ssh -L 8080:localhost:80 user@host Local tunnel: forward local port 8080 to host port 80
ssh -R 9090:localhost:8080 user@host Remote tunnel: forward host port 9090 to local port 8080
…
lh -s port
╔══════════════════════════════════════════════════╗
║ Search: port ║
╚══════════════════════════════════════════════════╝
34 results
▶ docker
docker run -p 8080:80 image_name
Map host port to container port
▶ firewall-cmd
firewall-cmd --zone=zone --add-port=80/tcp --permanent
Permanently open TCP port 80
firewall-cmd --zone=zone --remove-port=80/tcp --permanent
…
🔧 Available Tools
| Tool | Description |
|---|---|
awk |
Column-based text processing |
cat |
Display and concatenate file contents |
chmod |
Change file permissions |
chown |
Change file owner and group |
crontab |
Periodic task scheduling |
curl |
Transfer data with URLs |
cut |
Extract sections from each line |
df |
Display disk space usage |
docker |
Docker container management |
du |
Display directory space usage |
descriptors |
File descriptors and redirections |
find |
Search for files and directories |
firewall-cmd |
Manage the firewalld firewall |
free |
Display system memory usage |
git |
Version control with Git |
grep |
Search for patterns in files |
head |
Display the beginning of a file |
htop |
Interactive process monitor |
ifconfig |
Network interface configuration (legacy) |
ip |
Modern network interface and routing management |
iptables |
Kernel firewall rule management |
jq |
Command-line JSON processor |
logs |
Important log file paths in Linux |
lsblk |
List block devices |
lsof |
List open files by processes |
lxc |
LXC container management |
nc |
TCP/IP Swiss army knife |
netstat |
Network connection statistics |
nmap |
Network and port scanner |
ps |
Information about running processes |
regex |
Regular expression patterns |
rsync |
Efficient file synchronization |
scp |
Secure file copy over SSH |
sed |
Stream text editor |
shortcuts |
Terminal keyboard shortcuts |
sort |
Sort lines of text |
ss |
Socket statistics (replaces netstat) |
ssh |
Secure Shell client |
system |
Basic system commands |
systemctl |
Manage services with systemd |
tail |
Display the end of a file |
tar |
File archiving and compression |
tee |
Read stdin and write to stdout and files |
tmux |
Terminal multiplexer |
top |
Real-time process monitor |
tr |
Translate or delete characters |
uname |
System and kernel information |
uniq |
Filter adjacent duplicate lines |
vim |
Modal terminal text editor |
watch |
Execute a command periodically |
xargs |
Build and execute commands from stdin |
🧪 Development
pip install -e ".[dev]"
ruff check .
pytest
Each tool is a small module in guia_linux/tools/ with a COMMANDS list. To add one, copy an existing
module, register it in guia_linux/tools/__init__.py, add it to the table above, and run pytest —
the test suite checks that every entry has both translations and that the README lists every tool.
See CHANGELOG.md for release notes.
📝 License
MIT — see LICENSE.
💬 Feedback
Open an issue or reach out via GitHub.
🌐 Connect
Metadata
Release files for linux-commands-guide 2.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| linux_commands_guide-2.1.1.tar.gz | 45.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| linux_commands_guide-2.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 109.2 kB
Release files / linux_commands_guide-2.1.1.tar.gz
| Download URL | linux_commands_guide-2.1.1.tar.gz |
|---|---|
| Size | 45.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b41cce39e2104f5520c0ebce906469820de3e394f917ee871d1d187cffd5ce9d
|
|
BLAKE2b-256 checksum How to use checksums |
8e4f656d589a0f93021d440b6c06af99024800c49a5a3ee0911f040ec5748716
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"CachyOS Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / linux_commands_guide-2.1.1-py3-none-any.whl
| Download URL | linux_commands_guide-2.1.1-py3-none-any.whl |
|---|---|
| Size | 63.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
18dabd0d37774e82d4bdbe390500249ea738580d5864e8232eca579a903deaf4
|
|
BLAKE2b-256 checksum How to use checksums |
8071dc952b82c5753705ab41cf5d3c7af7e63ebd81b782c7cd30569a77104a01
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"CachyOS Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|