06bec2d249
Add 25 NL-searchable task recipes (git, users, packages, docker) bringing commands-db.json from 52 to 77. Introduces two new categories (packages, docker) and fixes the disk-usage category mismatch (system -> files). Final counts: files 17, git 13, system 13, text 10, network 7, users 6, docker 6, packages 5. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3128 lines
74 KiB
JSON
3128 lines
74 KiB
JSON
{
|
|
"tasks": [
|
|
{
|
|
"id": "list-files-by-size",
|
|
"keywords": [
|
|
"list",
|
|
"files",
|
|
"size",
|
|
"largest",
|
|
"biggest",
|
|
"sort"
|
|
],
|
|
"category": "files",
|
|
"command": "ls -lhS",
|
|
"description": "List files sorted by size (largest first)",
|
|
"examples": [
|
|
{
|
|
"desc": "List all files by size",
|
|
"cmd": "ls -lhS"
|
|
},
|
|
{
|
|
"desc": "List only files (no directories)",
|
|
"cmd": "ls -lhS | grep -v '^d'"
|
|
},
|
|
{
|
|
"desc": "Show top 10 largest",
|
|
"cmd": "ls -lhS | head -11"
|
|
}
|
|
],
|
|
"related": [
|
|
"find-large-files",
|
|
"disk-usage"
|
|
],
|
|
"flags_explained": {
|
|
"-l": "Long format (detailed info)",
|
|
"-h": "Human readable sizes (KB, MB, GB)",
|
|
"-S": "Sort by size (largest first)"
|
|
}
|
|
},
|
|
{
|
|
"id": "find-large-files",
|
|
"keywords": [
|
|
"find",
|
|
"large",
|
|
"big",
|
|
"files",
|
|
"disk",
|
|
"space",
|
|
"100mb",
|
|
"size"
|
|
],
|
|
"category": "files",
|
|
"command": "find . -type f -size +100M -exec ls -lh {} \\;",
|
|
"description": "Find files larger than 100MB",
|
|
"examples": [
|
|
{
|
|
"desc": "Find files larger than 100MB",
|
|
"cmd": "find . -type f -size +100M -exec ls -lh {} \\;"
|
|
},
|
|
{
|
|
"desc": "Find files larger than 1GB",
|
|
"cmd": "find . -type f -size +1G -exec ls -lh {} \\;"
|
|
},
|
|
{
|
|
"desc": "Find and sort by size",
|
|
"cmd": "find . -type f -size +100M -exec ls -lh {} \\; | sort -k5 -hr"
|
|
}
|
|
],
|
|
"related": [
|
|
"list-files-by-size",
|
|
"disk-usage"
|
|
],
|
|
"flags_explained": {
|
|
"-type f": "Only files (not directories)",
|
|
"-size +100M": "Size greater than 100 megabytes",
|
|
"-exec": "Execute command on each found file"
|
|
}
|
|
},
|
|
{
|
|
"id": "search-in-files",
|
|
"keywords": [
|
|
"search",
|
|
"grep",
|
|
"find",
|
|
"text",
|
|
"pattern",
|
|
"recursive",
|
|
"content"
|
|
],
|
|
"category": "text",
|
|
"command": "grep -r \"pattern\" .",
|
|
"description": "Search for text pattern in files recursively",
|
|
"examples": [
|
|
{
|
|
"desc": "Search recursively in current directory",
|
|
"cmd": "grep -r \"error\" ."
|
|
},
|
|
{
|
|
"desc": "Case-insensitive search",
|
|
"cmd": "grep -ri \"error\" ."
|
|
},
|
|
{
|
|
"desc": "Show line numbers",
|
|
"cmd": "grep -rn \"error\" ."
|
|
},
|
|
{
|
|
"desc": "Search only specific file types",
|
|
"cmd": "grep -r --include=\"*.log\" \"error\" ."
|
|
}
|
|
],
|
|
"related": [
|
|
"find-and-replace",
|
|
"count-occurrences"
|
|
],
|
|
"flags_explained": {
|
|
"-r": "Recursive search in subdirectories",
|
|
"-i": "Case-insensitive matching",
|
|
"-n": "Show line numbers"
|
|
}
|
|
},
|
|
{
|
|
"id": "find-and-replace",
|
|
"keywords": [
|
|
"replace",
|
|
"sed",
|
|
"find",
|
|
"change",
|
|
"substitute",
|
|
"text"
|
|
],
|
|
"category": "text",
|
|
"command": "sed -i 's/old/new/g' file.txt",
|
|
"description": "Find and replace text in files",
|
|
"examples": [
|
|
{
|
|
"desc": "Replace in single file",
|
|
"cmd": "sed -i 's/old/new/g' file.txt"
|
|
},
|
|
{
|
|
"desc": "Replace in all files recursively",
|
|
"cmd": "find . -type f -exec sed -i 's/old/new/g' {} +"
|
|
},
|
|
{
|
|
"desc": "Replace with backup",
|
|
"cmd": "sed -i.bak 's/old/new/g' file.txt"
|
|
}
|
|
],
|
|
"related": [
|
|
"search-in-files"
|
|
],
|
|
"flags_explained": {
|
|
"-i": "Edit files in-place",
|
|
"s/old/new/g": "Substitute old with new globally",
|
|
".bak": "Create backup with .bak extension"
|
|
}
|
|
},
|
|
{
|
|
"id": "compress-folder",
|
|
"keywords": [
|
|
"compress",
|
|
"archive",
|
|
"tar",
|
|
"gzip",
|
|
"zip",
|
|
"backup",
|
|
"folder"
|
|
],
|
|
"category": "files",
|
|
"command": "tar -czf archive.tar.gz folder/",
|
|
"description": "Compress a folder into tar.gz archive",
|
|
"examples": [
|
|
{
|
|
"desc": "Create compressed archive",
|
|
"cmd": "tar -czf archive.tar.gz folder/"
|
|
},
|
|
{
|
|
"desc": "Extract archive",
|
|
"cmd": "tar -xzf archive.tar.gz"
|
|
},
|
|
{
|
|
"desc": "View archive contents",
|
|
"cmd": "tar -tzf archive.tar.gz"
|
|
}
|
|
],
|
|
"related": [
|
|
"extract-archive",
|
|
"compress-files"
|
|
],
|
|
"flags_explained": {
|
|
"-c": "Create archive",
|
|
"-z": "Compress with gzip",
|
|
"-f": "File name follows",
|
|
"-x": "Extract archive",
|
|
"-t": "List contents"
|
|
}
|
|
},
|
|
{
|
|
"id": "disk-usage",
|
|
"keywords": [
|
|
"disk",
|
|
"usage",
|
|
"space",
|
|
"du",
|
|
"size",
|
|
"directory",
|
|
"how much"
|
|
],
|
|
"category": "files",
|
|
"command": "du -sh */",
|
|
"description": "Show disk usage of directories",
|
|
"examples": [
|
|
{
|
|
"desc": "Show size of each subdirectory",
|
|
"cmd": "du -sh */"
|
|
},
|
|
{
|
|
"desc": "Show top 10 largest directories",
|
|
"cmd": "du -sh */ | sort -hr | head -10"
|
|
},
|
|
{
|
|
"desc": "Total size of current directory",
|
|
"cmd": "du -sh ."
|
|
}
|
|
],
|
|
"related": [
|
|
"find-large-files",
|
|
"list-files-by-size"
|
|
],
|
|
"flags_explained": {
|
|
"-s": "Summary only (don't show subdirectories)",
|
|
"-h": "Human readable sizes",
|
|
"*/ ": "All directories in current path"
|
|
}
|
|
},
|
|
{
|
|
"id": "find-files-by-name",
|
|
"keywords": [
|
|
"find",
|
|
"files",
|
|
"name",
|
|
"search",
|
|
"locate",
|
|
"filename"
|
|
],
|
|
"category": "files",
|
|
"command": "find . -name \"*.txt\"",
|
|
"description": "Find files by name pattern",
|
|
"examples": [
|
|
{
|
|
"desc": "Find all .txt files",
|
|
"cmd": "find . -name \"*.txt\""
|
|
},
|
|
{
|
|
"desc": "Case-insensitive search",
|
|
"cmd": "find . -iname \"*.txt\""
|
|
},
|
|
{
|
|
"desc": "Find files modified today",
|
|
"cmd": "find . -name \"*.txt\" -mtime 0"
|
|
}
|
|
],
|
|
"related": [
|
|
"search-in-files",
|
|
"find-large-files"
|
|
],
|
|
"flags_explained": {
|
|
"-name": "Match by exact name pattern",
|
|
"-iname": "Case-insensitive name matching",
|
|
"-mtime": "Modified time in days"
|
|
}
|
|
},
|
|
{
|
|
"id": "monitor-cpu",
|
|
"keywords": [
|
|
"cpu",
|
|
"monitor",
|
|
"top",
|
|
"usage",
|
|
"process",
|
|
"performance",
|
|
"watch"
|
|
],
|
|
"category": "system",
|
|
"command": "top",
|
|
"description": "Monitor CPU and process usage in real-time",
|
|
"examples": [
|
|
{
|
|
"desc": "Interactive process monitor",
|
|
"cmd": "top"
|
|
},
|
|
{
|
|
"desc": "Monitor and auto-refresh every 2 seconds",
|
|
"cmd": "watch -n 2 'top -b -n 1 | head -20'"
|
|
},
|
|
{
|
|
"desc": "Show CPU usage sorted",
|
|
"cmd": "ps aux --sort=-%cpu | head -10"
|
|
}
|
|
],
|
|
"related": [
|
|
"monitor-memory",
|
|
"list-processes"
|
|
],
|
|
"flags_explained": {
|
|
"-b": "Batch mode (non-interactive)",
|
|
"-n": "Number of iterations",
|
|
"--sort": "Sort by specified column"
|
|
}
|
|
},
|
|
{
|
|
"id": "monitor-memory",
|
|
"keywords": [
|
|
"memory",
|
|
"ram",
|
|
"usage",
|
|
"free",
|
|
"available",
|
|
"monitor"
|
|
],
|
|
"category": "system",
|
|
"command": "free -h",
|
|
"description": "Display memory usage information",
|
|
"examples": [
|
|
{
|
|
"desc": "Show memory in human-readable format",
|
|
"cmd": "free -h"
|
|
},
|
|
{
|
|
"desc": "Monitor memory continuously",
|
|
"cmd": "watch -n 1 free -h"
|
|
},
|
|
{
|
|
"desc": "Show memory in megabytes",
|
|
"cmd": "free -m"
|
|
}
|
|
],
|
|
"related": [
|
|
"monitor-cpu",
|
|
"disk-usage"
|
|
],
|
|
"flags_explained": {
|
|
"-h": "Human readable (KB, MB, GB)",
|
|
"-m": "Show in megabytes",
|
|
"-g": "Show in gigabytes"
|
|
}
|
|
},
|
|
{
|
|
"id": "download-file",
|
|
"keywords": [
|
|
"download",
|
|
"wget",
|
|
"curl",
|
|
"file",
|
|
"url",
|
|
"http",
|
|
"get"
|
|
],
|
|
"category": "network",
|
|
"command": "wget URL",
|
|
"description": "Download file from URL",
|
|
"examples": [
|
|
{
|
|
"desc": "Download file",
|
|
"cmd": "wget https://example.com/file.zip"
|
|
},
|
|
{
|
|
"desc": "Download with custom name",
|
|
"cmd": "wget -O newname.zip https://example.com/file.zip"
|
|
},
|
|
{
|
|
"desc": "Download using curl",
|
|
"cmd": "curl -O https://example.com/file.zip"
|
|
},
|
|
{
|
|
"desc": "Resume interrupted download",
|
|
"cmd": "wget -c https://example.com/file.zip"
|
|
}
|
|
],
|
|
"related": [
|
|
"check-connectivity",
|
|
"test-url"
|
|
],
|
|
"flags_explained": {
|
|
"-O": "Save with different name",
|
|
"-c": "Continue/resume download",
|
|
"curl -O": "Download file keeping original name"
|
|
}
|
|
},
|
|
{
|
|
"id": "check-ports",
|
|
"keywords": [
|
|
"port",
|
|
"network",
|
|
"listen",
|
|
"netstat",
|
|
"ss",
|
|
"open",
|
|
"check"
|
|
],
|
|
"category": "network",
|
|
"command": "ss -tulpn",
|
|
"description": "Check which ports are open and listening",
|
|
"examples": [
|
|
{
|
|
"desc": "Show all listening ports",
|
|
"cmd": "ss -tulpn"
|
|
},
|
|
{
|
|
"desc": "Show only TCP ports",
|
|
"cmd": "ss -tlpn"
|
|
},
|
|
{
|
|
"desc": "Check specific port",
|
|
"cmd": "ss -tulpn | grep :80"
|
|
},
|
|
{
|
|
"desc": "Using netstat (older method)",
|
|
"cmd": "netstat -tulpn"
|
|
}
|
|
],
|
|
"related": [
|
|
"check-connectivity",
|
|
"firewall-status"
|
|
],
|
|
"flags_explained": {
|
|
"-t": "TCP ports",
|
|
"-u": "UDP ports",
|
|
"-l": "Listening sockets",
|
|
"-p": "Show process using port",
|
|
"-n": "Numeric addresses (no DNS lookup)"
|
|
}
|
|
},
|
|
{
|
|
"id": "count-lines",
|
|
"keywords": [
|
|
"count",
|
|
"lines",
|
|
"wc",
|
|
"words",
|
|
"characters",
|
|
"file"
|
|
],
|
|
"category": "text",
|
|
"command": "wc -l file.txt",
|
|
"description": "Count lines, words, or characters in files",
|
|
"examples": [
|
|
{
|
|
"desc": "Count lines in file",
|
|
"cmd": "wc -l file.txt"
|
|
},
|
|
{
|
|
"desc": "Count words",
|
|
"cmd": "wc -w file.txt"
|
|
},
|
|
{
|
|
"desc": "Count all files in directory",
|
|
"cmd": "wc -l *.txt"
|
|
},
|
|
{
|
|
"desc": "Count total lines of code",
|
|
"cmd": "find . -name \"*.py\" -exec wc -l {} + | tail -1"
|
|
}
|
|
],
|
|
"related": [
|
|
"search-in-files"
|
|
],
|
|
"flags_explained": {
|
|
"-l": "Count lines",
|
|
"-w": "Count words",
|
|
"-c": "Count bytes"
|
|
}
|
|
},
|
|
{
|
|
"id": "file-permissions",
|
|
"keywords": [
|
|
"permissions",
|
|
"chmod",
|
|
"change",
|
|
"access",
|
|
"rights",
|
|
"owner"
|
|
],
|
|
"category": "files",
|
|
"command": "chmod 755 file.sh",
|
|
"description": "Change file permissions",
|
|
"examples": [
|
|
{
|
|
"desc": "Make script executable",
|
|
"cmd": "chmod +x script.sh"
|
|
},
|
|
{
|
|
"desc": "Set specific permissions (rwxr-xr-x)",
|
|
"cmd": "chmod 755 file.sh"
|
|
},
|
|
{
|
|
"desc": "Change recursively",
|
|
"cmd": "chmod -R 755 directory/"
|
|
},
|
|
{
|
|
"desc": "View current permissions",
|
|
"cmd": "ls -l file.sh"
|
|
}
|
|
],
|
|
"related": [
|
|
"change-owner"
|
|
],
|
|
"flags_explained": {
|
|
"+x": "Add execute permission",
|
|
"755": "rwxr-xr-x (owner: all, group: read+exec, others: read+exec)",
|
|
"-R": "Recursive (apply to all files in directory)"
|
|
}
|
|
},
|
|
{
|
|
"id": "find-duplicates",
|
|
"keywords": [
|
|
"duplicate",
|
|
"files",
|
|
"same",
|
|
"find",
|
|
"fdupes",
|
|
"identical"
|
|
],
|
|
"category": "files",
|
|
"command": "find . -type f -exec md5sum {} + | sort | uniq -w32 -dD",
|
|
"description": "Find duplicate files by content",
|
|
"examples": [
|
|
{
|
|
"desc": "Find duplicate files using checksums",
|
|
"cmd": "find . -type f -exec md5sum {} + | sort | uniq -w32 -dD"
|
|
},
|
|
{
|
|
"desc": "Find duplicate files by name",
|
|
"cmd": "find . -type f | rev | cut -d/ -f1 | rev | sort | uniq -d"
|
|
},
|
|
{
|
|
"desc": "Using fdupes (if installed)",
|
|
"cmd": "fdupes -r ."
|
|
}
|
|
],
|
|
"related": [
|
|
"find-files-by-name",
|
|
"disk-usage"
|
|
],
|
|
"flags_explained": {
|
|
"md5sum": "Calculate file checksum",
|
|
"uniq -d": "Show only duplicate lines",
|
|
"fdupes -r": "Recursive duplicate finder"
|
|
}
|
|
},
|
|
{
|
|
"id": "process-kill",
|
|
"keywords": [
|
|
"kill",
|
|
"process",
|
|
"stop",
|
|
"terminate",
|
|
"pid",
|
|
"pkill"
|
|
],
|
|
"category": "system",
|
|
"command": "kill PID",
|
|
"description": "Stop/kill a running process",
|
|
"examples": [
|
|
{
|
|
"desc": "Kill process by PID",
|
|
"cmd": "kill 1234"
|
|
},
|
|
{
|
|
"desc": "Force kill process",
|
|
"cmd": "kill -9 1234"
|
|
},
|
|
{
|
|
"desc": "Kill process by name",
|
|
"cmd": "pkill firefox"
|
|
},
|
|
{
|
|
"desc": "Kill all processes matching pattern",
|
|
"cmd": "pkill -f \"python script.py\""
|
|
}
|
|
],
|
|
"related": [
|
|
"list-processes",
|
|
"monitor-cpu"
|
|
],
|
|
"flags_explained": {
|
|
"-9": "Force kill (SIGKILL)",
|
|
"pkill": "Kill by process name",
|
|
"-f": "Match full command line"
|
|
}
|
|
},
|
|
{
|
|
"id": "list-processes",
|
|
"keywords": [
|
|
"process",
|
|
"list",
|
|
"ps",
|
|
"running",
|
|
"show",
|
|
"all"
|
|
],
|
|
"category": "system",
|
|
"command": "ps aux",
|
|
"description": "List all running processes",
|
|
"examples": [
|
|
{
|
|
"desc": "List all processes",
|
|
"cmd": "ps aux"
|
|
},
|
|
{
|
|
"desc": "Find specific process",
|
|
"cmd": "ps aux | grep firefox"
|
|
},
|
|
{
|
|
"desc": "Show process tree",
|
|
"cmd": "ps auxf"
|
|
},
|
|
{
|
|
"desc": "Sort by memory usage",
|
|
"cmd": "ps aux --sort=-%mem | head -10"
|
|
}
|
|
],
|
|
"related": [
|
|
"monitor-cpu",
|
|
"process-kill"
|
|
],
|
|
"flags_explained": {
|
|
"a": "Show processes from all users",
|
|
"u": "User-oriented format",
|
|
"x": "Include processes without controlling terminal"
|
|
}
|
|
},
|
|
{
|
|
"id": "create-symlink",
|
|
"keywords": [
|
|
"symlink",
|
|
"link",
|
|
"symbolic",
|
|
"ln",
|
|
"shortcut",
|
|
"alias"
|
|
],
|
|
"category": "files",
|
|
"command": "ln -s /path/to/file link-name",
|
|
"description": "Create symbolic link to file or directory",
|
|
"examples": [
|
|
{
|
|
"desc": "Create symbolic link",
|
|
"cmd": "ln -s /path/to/original /path/to/link"
|
|
},
|
|
{
|
|
"desc": "Link to current directory",
|
|
"cmd": "ln -s /path/to/file ."
|
|
},
|
|
{
|
|
"desc": "View where link points",
|
|
"cmd": "ls -l link-name"
|
|
}
|
|
],
|
|
"related": [
|
|
"file-permissions"
|
|
],
|
|
"flags_explained": {
|
|
"-s": "Create symbolic (soft) link",
|
|
"-f": "Force (overwrite existing link)",
|
|
"readlink": "Show where link points"
|
|
}
|
|
},
|
|
{
|
|
"id": "compare-files",
|
|
"keywords": [
|
|
"compare",
|
|
"diff",
|
|
"difference",
|
|
"files",
|
|
"changes"
|
|
],
|
|
"category": "text",
|
|
"command": "diff file1.txt file2.txt",
|
|
"description": "Compare two files and show differences",
|
|
"examples": [
|
|
{
|
|
"desc": "Show differences between files",
|
|
"cmd": "diff file1.txt file2.txt"
|
|
},
|
|
{
|
|
"desc": "Side-by-side comparison",
|
|
"cmd": "diff -y file1.txt file2.txt"
|
|
},
|
|
{
|
|
"desc": "Unified diff format (like git)",
|
|
"cmd": "diff -u file1.txt file2.txt"
|
|
},
|
|
{
|
|
"desc": "Compare directories",
|
|
"cmd": "diff -r dir1/ dir2/"
|
|
}
|
|
],
|
|
"related": [
|
|
"find-duplicates"
|
|
],
|
|
"flags_explained": {
|
|
"-y": "Side-by-side output",
|
|
"-u": "Unified format (easier to read)",
|
|
"-r": "Recursive (compare directories)"
|
|
}
|
|
},
|
|
{
|
|
"id": "check-connectivity",
|
|
"keywords": [
|
|
"ping",
|
|
"network",
|
|
"connectivity",
|
|
"test",
|
|
"connection",
|
|
"reachable"
|
|
],
|
|
"category": "network",
|
|
"command": "ping google.com",
|
|
"description": "Test network connectivity to host",
|
|
"examples": [
|
|
{
|
|
"desc": "Ping host continuously",
|
|
"cmd": "ping google.com"
|
|
},
|
|
{
|
|
"desc": "Send only 4 packets",
|
|
"cmd": "ping -c 4 google.com"
|
|
},
|
|
{
|
|
"desc": "Ping specific IP",
|
|
"cmd": "ping 8.8.8.8"
|
|
}
|
|
],
|
|
"related": [
|
|
"check-ports",
|
|
"download-file"
|
|
],
|
|
"flags_explained": {
|
|
"-c": "Count (number of packets to send)",
|
|
"-i": "Interval between packets in seconds"
|
|
}
|
|
},
|
|
{
|
|
"id": "watch-command",
|
|
"keywords": [
|
|
"watch",
|
|
"repeat",
|
|
"monitor",
|
|
"refresh",
|
|
"continuously",
|
|
"auto"
|
|
],
|
|
"category": "system",
|
|
"command": "watch -n 2 command",
|
|
"description": "Execute command repeatedly and display results",
|
|
"examples": [
|
|
{
|
|
"desc": "Watch disk usage every 2 seconds",
|
|
"cmd": "watch -n 2 df -h"
|
|
},
|
|
{
|
|
"desc": "Monitor directory contents",
|
|
"cmd": "watch -n 1 ls -lh"
|
|
},
|
|
{
|
|
"desc": "Highlight changes",
|
|
"cmd": "watch -d -n 1 'ps aux | grep firefox'"
|
|
}
|
|
],
|
|
"related": [
|
|
"monitor-cpu",
|
|
"monitor-memory"
|
|
],
|
|
"flags_explained": {
|
|
"-n": "Interval in seconds",
|
|
"-d": "Highlight differences between updates"
|
|
}
|
|
},
|
|
{
|
|
"id": "extract-archive",
|
|
"keywords": [
|
|
"extract",
|
|
"unzip",
|
|
"decompress",
|
|
"tar",
|
|
"archive",
|
|
"unpack"
|
|
],
|
|
"category": "files",
|
|
"command": "tar -xzf archive.tar.gz",
|
|
"description": "Extract compressed archive files",
|
|
"examples": [
|
|
{
|
|
"desc": "Extract tar.gz archive",
|
|
"cmd": "tar -xzf archive.tar.gz"
|
|
},
|
|
{
|
|
"desc": "Extract to specific directory",
|
|
"cmd": "tar -xzf archive.tar.gz -C /path/to/dir"
|
|
},
|
|
{
|
|
"desc": "Extract .zip file",
|
|
"cmd": "unzip archive.zip"
|
|
},
|
|
{
|
|
"desc": "Extract .tar.bz2 file",
|
|
"cmd": "tar -xjf archive.tar.bz2"
|
|
}
|
|
],
|
|
"related": [
|
|
"compress-folder"
|
|
],
|
|
"flags_explained": {
|
|
"-x": "Extract archive",
|
|
"-z": "Decompress gzip",
|
|
"-j": "Decompress bzip2",
|
|
"-C": "Change to directory before extracting"
|
|
}
|
|
},
|
|
{
|
|
"id": "copy-files",
|
|
"keywords": [
|
|
"copy",
|
|
"cp",
|
|
"duplicate",
|
|
"files",
|
|
"clone",
|
|
"backup"
|
|
],
|
|
"category": "files",
|
|
"command": "cp -r source/ dest/",
|
|
"description": "Copy files and directories",
|
|
"examples": [
|
|
{
|
|
"desc": "Copy a single file",
|
|
"cmd": "cp file.txt backup.txt"
|
|
},
|
|
{
|
|
"desc": "Copy a directory recursively",
|
|
"cmd": "cp -r src/ dest/"
|
|
},
|
|
{
|
|
"desc": "Copy preserving all attributes",
|
|
"cmd": "cp -a src/ dest/"
|
|
},
|
|
{
|
|
"desc": "Copy only when source is newer",
|
|
"cmd": "cp -u file.txt dest/"
|
|
}
|
|
],
|
|
"related": [
|
|
"move-rename",
|
|
"sync-directories"
|
|
],
|
|
"flags_explained": {
|
|
"-r": "Recursive (copy directories)",
|
|
"-a": "Archive mode (preserve all attributes)",
|
|
"-u": "Update (copy only when source is newer)",
|
|
"-v": "Verbose (show each file copied)"
|
|
}
|
|
},
|
|
{
|
|
"id": "move-rename",
|
|
"keywords": [
|
|
"move",
|
|
"rename",
|
|
"mv",
|
|
"relocate",
|
|
"files"
|
|
],
|
|
"category": "files",
|
|
"command": "mv old.txt new.txt",
|
|
"description": "Move or rename files and directories",
|
|
"examples": [
|
|
{
|
|
"desc": "Rename a file",
|
|
"cmd": "mv old.txt new.txt"
|
|
},
|
|
{
|
|
"desc": "Move a file into a directory",
|
|
"cmd": "mv file.txt dir/"
|
|
},
|
|
{
|
|
"desc": "Move multiple files",
|
|
"cmd": "mv *.txt archive/"
|
|
},
|
|
{
|
|
"desc": "Prompt before overwriting",
|
|
"cmd": "mv -i file.txt dest/"
|
|
}
|
|
],
|
|
"related": [
|
|
"copy-files",
|
|
"delete-files"
|
|
],
|
|
"flags_explained": {
|
|
"-i": "Interactive (prompt before overwrite)",
|
|
"-n": "No-clobber (never overwrite existing)",
|
|
"-v": "Verbose (show each move)"
|
|
}
|
|
},
|
|
{
|
|
"id": "delete-files",
|
|
"keywords": [
|
|
"delete",
|
|
"remove",
|
|
"rm",
|
|
"erase",
|
|
"files",
|
|
"directory"
|
|
],
|
|
"category": "files",
|
|
"command": "rm file.txt",
|
|
"description": "Delete files and directories",
|
|
"examples": [
|
|
{
|
|
"desc": "Delete a file",
|
|
"cmd": "rm file.txt"
|
|
},
|
|
{
|
|
"desc": "Delete a directory and its contents",
|
|
"cmd": "rm -r dir/"
|
|
},
|
|
{
|
|
"desc": "Prompt before each deletion",
|
|
"cmd": "rm -i *.txt"
|
|
},
|
|
{
|
|
"desc": "Force delete without prompts",
|
|
"cmd": "rm -rf dir/"
|
|
}
|
|
],
|
|
"related": [
|
|
"move-rename",
|
|
"find-files-by-name"
|
|
],
|
|
"flags_explained": {
|
|
"-r": "Recursive (delete directories)",
|
|
"-f": "Force (ignore nonexistent, never prompt)",
|
|
"-i": "Interactive (prompt before each delete)",
|
|
"-v": "Verbose (show each file deleted)"
|
|
}
|
|
},
|
|
{
|
|
"id": "create-directory",
|
|
"keywords": [
|
|
"create",
|
|
"directory",
|
|
"folder",
|
|
"mkdir",
|
|
"make",
|
|
"new"
|
|
],
|
|
"category": "files",
|
|
"command": "mkdir new-folder",
|
|
"description": "Create new directories",
|
|
"examples": [
|
|
{
|
|
"desc": "Create a directory",
|
|
"cmd": "mkdir project"
|
|
},
|
|
{
|
|
"desc": "Create nested directories",
|
|
"cmd": "mkdir -p a/b/c"
|
|
},
|
|
{
|
|
"desc": "Create multiple directories",
|
|
"cmd": "mkdir src tests docs"
|
|
},
|
|
{
|
|
"desc": "Set permissions on creation",
|
|
"cmd": "mkdir -m 700 private"
|
|
}
|
|
],
|
|
"related": [
|
|
"copy-files",
|
|
"file-permissions"
|
|
],
|
|
"flags_explained": {
|
|
"-p": "Create parent directories as needed (no error if existing)",
|
|
"-m": "Set permission mode on the new directory",
|
|
"-v": "Verbose (print each created directory)"
|
|
}
|
|
},
|
|
{
|
|
"id": "change-ownership",
|
|
"keywords": [
|
|
"owner",
|
|
"ownership",
|
|
"chown",
|
|
"group",
|
|
"user",
|
|
"permissions"
|
|
],
|
|
"category": "files",
|
|
"command": "chown user:group file.txt",
|
|
"description": "Change file owner and group",
|
|
"examples": [
|
|
{
|
|
"desc": "Change owner of a file",
|
|
"cmd": "chown alice file.txt"
|
|
},
|
|
{
|
|
"desc": "Change owner and group",
|
|
"cmd": "chown alice:devs file.txt"
|
|
},
|
|
{
|
|
"desc": "Change recursively",
|
|
"cmd": "chown -R alice:devs project/"
|
|
},
|
|
{
|
|
"desc": "Change group only",
|
|
"cmd": "chown :devs file.txt"
|
|
}
|
|
],
|
|
"related": [
|
|
"file-permissions"
|
|
],
|
|
"flags_explained": {
|
|
"-R": "Recursive (apply to all files in directory)",
|
|
"user:group": "Set both owner and group",
|
|
"-v": "Verbose (report changes)"
|
|
}
|
|
},
|
|
{
|
|
"id": "sync-directories",
|
|
"keywords": [
|
|
"sync",
|
|
"rsync",
|
|
"mirror",
|
|
"backup",
|
|
"copy",
|
|
"incremental"
|
|
],
|
|
"category": "files",
|
|
"command": "rsync -av source/ dest/",
|
|
"description": "Synchronize directories efficiently",
|
|
"examples": [
|
|
{
|
|
"desc": "Sync a directory locally",
|
|
"cmd": "rsync -av src/ dest/"
|
|
},
|
|
{
|
|
"desc": "Sync to a remote host over SSH",
|
|
"cmd": "rsync -av src/ user@host:/path/"
|
|
},
|
|
{
|
|
"desc": "Mirror (delete extras in dest)",
|
|
"cmd": "rsync -av --delete src/ dest/"
|
|
},
|
|
{
|
|
"desc": "Show progress during transfer",
|
|
"cmd": "rsync -av --progress src/ dest/"
|
|
}
|
|
],
|
|
"related": [
|
|
"copy-files",
|
|
"compress-folder"
|
|
],
|
|
"flags_explained": {
|
|
"-a": "Archive mode (recursive, preserve attributes)",
|
|
"-v": "Verbose output",
|
|
"--delete": "Delete files in dest not present in source",
|
|
"--progress": "Show transfer progress per file"
|
|
}
|
|
},
|
|
{
|
|
"id": "find-recent-files",
|
|
"keywords": [
|
|
"recent",
|
|
"modified",
|
|
"newest",
|
|
"find",
|
|
"files",
|
|
"today",
|
|
"changed"
|
|
],
|
|
"category": "files",
|
|
"command": "find . -type f -mtime -1",
|
|
"description": "Find recently modified files",
|
|
"examples": [
|
|
{
|
|
"desc": "Files modified in the last 24 hours",
|
|
"cmd": "find . -type f -mtime -1"
|
|
},
|
|
{
|
|
"desc": "Files modified in the last 7 days",
|
|
"cmd": "find . -type f -mtime -7"
|
|
},
|
|
{
|
|
"desc": "Files modified in the last 30 minutes",
|
|
"cmd": "find . -type f -mmin -30"
|
|
},
|
|
{
|
|
"desc": "List newest files by time",
|
|
"cmd": "ls -lt | head"
|
|
}
|
|
],
|
|
"related": [
|
|
"find-files-by-name",
|
|
"find-large-files"
|
|
],
|
|
"flags_explained": {
|
|
"-mtime -1": "Modified less than 1 day ago",
|
|
"-mmin -30": "Modified less than 30 minutes ago",
|
|
"-type f": "Only files (not directories)"
|
|
}
|
|
},
|
|
{
|
|
"id": "find-empty-dirs",
|
|
"keywords": [
|
|
"empty",
|
|
"directories",
|
|
"folders",
|
|
"find",
|
|
"delete",
|
|
"clean"
|
|
],
|
|
"category": "files",
|
|
"command": "find . -type d -empty",
|
|
"description": "Find and remove empty directories",
|
|
"examples": [
|
|
{
|
|
"desc": "Find empty directories",
|
|
"cmd": "find . -type d -empty"
|
|
},
|
|
{
|
|
"desc": "Find empty files",
|
|
"cmd": "find . -type f -empty"
|
|
},
|
|
{
|
|
"desc": "Delete empty directories",
|
|
"cmd": "find . -type d -empty -delete"
|
|
}
|
|
],
|
|
"related": [
|
|
"find-files-by-name",
|
|
"delete-files"
|
|
],
|
|
"flags_explained": {
|
|
"-type d": "Only directories",
|
|
"-empty": "Match empty files/directories",
|
|
"-delete": "Delete matched entries"
|
|
}
|
|
},
|
|
{
|
|
"id": "sort-lines",
|
|
"keywords": [
|
|
"sort",
|
|
"order",
|
|
"arrange",
|
|
"lines",
|
|
"alphabetical",
|
|
"numeric"
|
|
],
|
|
"category": "text",
|
|
"command": "sort file.txt",
|
|
"description": "Sort lines of text in a file",
|
|
"examples": [
|
|
{
|
|
"desc": "Sort alphabetically",
|
|
"cmd": "sort file.txt"
|
|
},
|
|
{
|
|
"desc": "Sort numerically",
|
|
"cmd": "sort -n numbers.txt"
|
|
},
|
|
{
|
|
"desc": "Sort in reverse order",
|
|
"cmd": "sort -r file.txt"
|
|
},
|
|
{
|
|
"desc": "Sort and remove duplicates",
|
|
"cmd": "sort -u file.txt"
|
|
}
|
|
],
|
|
"related": [
|
|
"unique-lines",
|
|
"count-lines"
|
|
],
|
|
"flags_explained": {
|
|
"-n": "Numeric sort (treat values as numbers)",
|
|
"-r": "Reverse the sort order",
|
|
"-u": "Output only unique lines",
|
|
"-k": "Sort by a specific field/column"
|
|
}
|
|
},
|
|
{
|
|
"id": "unique-lines",
|
|
"keywords": [
|
|
"unique",
|
|
"duplicate",
|
|
"uniq",
|
|
"distinct",
|
|
"deduplicate",
|
|
"count"
|
|
],
|
|
"category": "text",
|
|
"command": "sort file.txt | uniq",
|
|
"description": "Filter or count repeated lines",
|
|
"examples": [
|
|
{
|
|
"desc": "Remove duplicate lines",
|
|
"cmd": "sort file.txt | uniq"
|
|
},
|
|
{
|
|
"desc": "Count occurrences of each line",
|
|
"cmd": "sort file.txt | uniq -c"
|
|
},
|
|
{
|
|
"desc": "Show only duplicated lines",
|
|
"cmd": "sort file.txt | uniq -d"
|
|
},
|
|
{
|
|
"desc": "Show only unique (non-repeated) lines",
|
|
"cmd": "sort file.txt | uniq -u"
|
|
}
|
|
],
|
|
"related": [
|
|
"sort-lines",
|
|
"word-frequency"
|
|
],
|
|
"flags_explained": {
|
|
"-c": "Prefix each line with its count",
|
|
"-d": "Only print duplicated lines",
|
|
"-u": "Only print lines that are not repeated"
|
|
}
|
|
},
|
|
{
|
|
"id": "extract-columns",
|
|
"keywords": [
|
|
"columns",
|
|
"fields",
|
|
"awk",
|
|
"extract",
|
|
"print",
|
|
"select"
|
|
],
|
|
"category": "text",
|
|
"command": "awk '{print $1}' file.txt",
|
|
"description": "Extract columns or fields from text",
|
|
"examples": [
|
|
{
|
|
"desc": "Print the first column",
|
|
"cmd": "awk '{print $1}' file.txt"
|
|
},
|
|
{
|
|
"desc": "Print first and third columns",
|
|
"cmd": "awk '{print $1, $3}' file.txt"
|
|
},
|
|
{
|
|
"desc": "Use a custom delimiter (CSV)",
|
|
"cmd": "awk -F',' '{print $2}' data.csv"
|
|
},
|
|
{
|
|
"desc": "Cut by character delimiter",
|
|
"cmd": "cut -d',' -f1 data.csv"
|
|
}
|
|
],
|
|
"related": [
|
|
"search-in-files",
|
|
"find-and-replace"
|
|
],
|
|
"flags_explained": {
|
|
"$1": "Reference to the first field/column",
|
|
"-F','": "Set the input field separator to a comma",
|
|
"print": "Output the selected fields",
|
|
"cut -d -f": "Cut by delimiter and select fields"
|
|
}
|
|
},
|
|
{
|
|
"id": "view-file",
|
|
"keywords": [
|
|
"view",
|
|
"read",
|
|
"display",
|
|
"less",
|
|
"head",
|
|
"tail",
|
|
"page"
|
|
],
|
|
"category": "text",
|
|
"command": "less file.txt",
|
|
"description": "View file contents with paging",
|
|
"examples": [
|
|
{
|
|
"desc": "Page through a file",
|
|
"cmd": "less file.txt"
|
|
},
|
|
{
|
|
"desc": "Show the first 20 lines",
|
|
"cmd": "head -20 file.txt"
|
|
},
|
|
{
|
|
"desc": "Show the last 20 lines",
|
|
"cmd": "tail -20 file.txt"
|
|
},
|
|
{
|
|
"desc": "Follow a log file live",
|
|
"cmd": "tail -f /var/log/syslog"
|
|
}
|
|
],
|
|
"related": [
|
|
"count-lines",
|
|
"search-in-files"
|
|
],
|
|
"flags_explained": {
|
|
"head -N": "Show the first N lines",
|
|
"tail -N": "Show the last N lines",
|
|
"tail -f": "Follow file as it grows (live updates)"
|
|
}
|
|
},
|
|
{
|
|
"id": "json-query",
|
|
"keywords": [
|
|
"json",
|
|
"jq",
|
|
"parse",
|
|
"query",
|
|
"extract",
|
|
"api",
|
|
"data"
|
|
],
|
|
"category": "text",
|
|
"command": "jq '.key' file.json",
|
|
"description": "Parse and query JSON data",
|
|
"examples": [
|
|
{
|
|
"desc": "Extract a top-level field",
|
|
"cmd": "jq '.name' file.json"
|
|
},
|
|
{
|
|
"desc": "Extract a nested field",
|
|
"cmd": "jq '.user.email' file.json"
|
|
},
|
|
{
|
|
"desc": "List array elements",
|
|
"cmd": "jq '.items[]' file.json"
|
|
},
|
|
{
|
|
"desc": "Pretty-print JSON from an API",
|
|
"cmd": "curl -s URL | jq ."
|
|
}
|
|
],
|
|
"related": [
|
|
"search-in-files",
|
|
"check-website"
|
|
],
|
|
"flags_explained": {
|
|
".key": "Select the value of a field",
|
|
".[]": "Iterate over array elements",
|
|
"-r": "Raw output (no JSON quotes)",
|
|
".": "Identity filter (pretty-print whole input)"
|
|
}
|
|
},
|
|
{
|
|
"id": "word-frequency",
|
|
"keywords": [
|
|
"frequency",
|
|
"count",
|
|
"words",
|
|
"occurrences",
|
|
"most",
|
|
"common",
|
|
"histogram"
|
|
],
|
|
"category": "text",
|
|
"command": "tr ' ' '\\n' < file.txt | sort | uniq -c | sort -nr",
|
|
"description": "Count word or value frequency",
|
|
"examples": [
|
|
{
|
|
"desc": "Most common words in a file",
|
|
"cmd": "tr ' ' '\\n' < file.txt | sort | uniq -c | sort -nr"
|
|
},
|
|
{
|
|
"desc": "Top 10 most frequent lines",
|
|
"cmd": "sort file.txt | uniq -c | sort -nr | head -10"
|
|
},
|
|
{
|
|
"desc": "Count matches of a pattern",
|
|
"cmd": "grep -o 'error' file.log | wc -l"
|
|
}
|
|
],
|
|
"related": [
|
|
"unique-lines",
|
|
"count-lines"
|
|
],
|
|
"flags_explained": {
|
|
"tr ' ' '\\n'": "Split words onto separate lines",
|
|
"uniq -c": "Count occurrences of each line",
|
|
"sort -nr": "Sort by count, highest first"
|
|
}
|
|
},
|
|
{
|
|
"id": "dns-lookup",
|
|
"keywords": [
|
|
"dns",
|
|
"dig",
|
|
"nslookup",
|
|
"domain",
|
|
"resolve",
|
|
"lookup",
|
|
"records"
|
|
],
|
|
"category": "network",
|
|
"command": "dig example.com",
|
|
"description": "Look up DNS records for a domain",
|
|
"examples": [
|
|
{
|
|
"desc": "Look up A records",
|
|
"cmd": "dig example.com"
|
|
},
|
|
{
|
|
"desc": "Short answer only",
|
|
"cmd": "dig +short example.com"
|
|
},
|
|
{
|
|
"desc": "Look up MX (mail) records",
|
|
"cmd": "dig example.com MX"
|
|
},
|
|
{
|
|
"desc": "Reverse DNS lookup",
|
|
"cmd": "dig -x 8.8.8.8"
|
|
}
|
|
],
|
|
"related": [
|
|
"check-connectivity",
|
|
"check-website"
|
|
],
|
|
"flags_explained": {
|
|
"+short": "Show only the concise answer",
|
|
"MX": "Query mail-exchange records",
|
|
"-x": "Perform a reverse (PTR) lookup"
|
|
}
|
|
},
|
|
{
|
|
"id": "copy-to-remote",
|
|
"keywords": [
|
|
"scp",
|
|
"copy",
|
|
"remote",
|
|
"transfer",
|
|
"upload",
|
|
"download",
|
|
"ssh"
|
|
],
|
|
"category": "network",
|
|
"command": "scp file.txt user@host:/path/",
|
|
"description": "Copy files to or from a remote host",
|
|
"examples": [
|
|
{
|
|
"desc": "Upload a file to a server",
|
|
"cmd": "scp file.txt user@host:/path/"
|
|
},
|
|
{
|
|
"desc": "Download a file from a server",
|
|
"cmd": "scp user@host:/path/file.txt ."
|
|
},
|
|
{
|
|
"desc": "Copy a directory recursively",
|
|
"cmd": "scp -r dir/ user@host:/path/"
|
|
},
|
|
{
|
|
"desc": "Use a specific SSH port",
|
|
"cmd": "scp -P 2222 file.txt user@host:/path/"
|
|
}
|
|
],
|
|
"related": [
|
|
"sync-directories",
|
|
"download-file"
|
|
],
|
|
"flags_explained": {
|
|
"-r": "Recursive (copy directories)",
|
|
"-P": "Specify the remote SSH port",
|
|
"-C": "Enable compression during transfer"
|
|
}
|
|
},
|
|
{
|
|
"id": "check-website",
|
|
"keywords": [
|
|
"website",
|
|
"http",
|
|
"status",
|
|
"curl",
|
|
"headers",
|
|
"url",
|
|
"test"
|
|
],
|
|
"category": "network",
|
|
"command": "curl -I https://example.com",
|
|
"description": "Check a website's status and headers",
|
|
"examples": [
|
|
{
|
|
"desc": "Show response headers only",
|
|
"cmd": "curl -I https://example.com"
|
|
},
|
|
{
|
|
"desc": "Show only the HTTP status code",
|
|
"cmd": "curl -o /dev/null -s -w '%{http_code}\\n' https://example.com"
|
|
},
|
|
{
|
|
"desc": "Follow redirects",
|
|
"cmd": "curl -IL https://example.com"
|
|
},
|
|
{
|
|
"desc": "Measure total response time",
|
|
"cmd": "curl -o /dev/null -s -w '%{time_total}\\n' https://example.com"
|
|
}
|
|
],
|
|
"related": [
|
|
"download-file",
|
|
"check-connectivity"
|
|
],
|
|
"flags_explained": {
|
|
"-I": "Fetch headers only (HEAD request)",
|
|
"-L": "Follow redirects",
|
|
"-s": "Silent mode (no progress meter)",
|
|
"-w": "Write out custom info (e.g. status code)"
|
|
}
|
|
},
|
|
{
|
|
"id": "public-ip",
|
|
"keywords": [
|
|
"ip",
|
|
"public",
|
|
"address",
|
|
"external",
|
|
"myip",
|
|
"network"
|
|
],
|
|
"category": "network",
|
|
"command": "curl -s ifconfig.me",
|
|
"description": "Find your public and local IP addresses",
|
|
"examples": [
|
|
{
|
|
"desc": "Show your public IP",
|
|
"cmd": "curl -s ifconfig.me"
|
|
},
|
|
{
|
|
"desc": "Alternative public IP service",
|
|
"cmd": "curl -s https://api.ipify.org"
|
|
},
|
|
{
|
|
"desc": "Show local IP addresses",
|
|
"cmd": "ip addr show"
|
|
},
|
|
{
|
|
"desc": "Show default gateway",
|
|
"cmd": "ip route | grep default"
|
|
}
|
|
],
|
|
"related": [
|
|
"check-connectivity",
|
|
"check-ports"
|
|
],
|
|
"flags_explained": {
|
|
"-s": "Silent mode (suppress progress output)",
|
|
"ip addr": "Show network interface addresses",
|
|
"ip route": "Show the routing table"
|
|
}
|
|
},
|
|
{
|
|
"id": "disk-free",
|
|
"keywords": [
|
|
"disk",
|
|
"free",
|
|
"space",
|
|
"df",
|
|
"available",
|
|
"filesystem",
|
|
"mount"
|
|
],
|
|
"category": "system",
|
|
"command": "df -h",
|
|
"description": "Show available disk space on filesystems",
|
|
"examples": [
|
|
{
|
|
"desc": "Show disk usage human-readable",
|
|
"cmd": "df -h"
|
|
},
|
|
{
|
|
"desc": "Show filesystem types",
|
|
"cmd": "df -hT"
|
|
},
|
|
{
|
|
"desc": "Show usage for current directory",
|
|
"cmd": "df -h ."
|
|
},
|
|
{
|
|
"desc": "Show inode usage",
|
|
"cmd": "df -i"
|
|
}
|
|
],
|
|
"related": [
|
|
"disk-usage",
|
|
"find-large-files"
|
|
],
|
|
"flags_explained": {
|
|
"-h": "Human-readable sizes (KB, MB, GB)",
|
|
"-T": "Show the filesystem type",
|
|
"-i": "Show inode information instead of blocks"
|
|
}
|
|
},
|
|
{
|
|
"id": "system-uptime",
|
|
"keywords": [
|
|
"uptime",
|
|
"load",
|
|
"running",
|
|
"system",
|
|
"boot",
|
|
"how long"
|
|
],
|
|
"category": "system",
|
|
"command": "uptime",
|
|
"description": "Show system uptime and load average",
|
|
"examples": [
|
|
{
|
|
"desc": "Show uptime and load",
|
|
"cmd": "uptime"
|
|
},
|
|
{
|
|
"desc": "Pretty uptime format",
|
|
"cmd": "uptime -p"
|
|
},
|
|
{
|
|
"desc": "Show when the system booted",
|
|
"cmd": "uptime -s"
|
|
},
|
|
{
|
|
"desc": "Show last reboot times",
|
|
"cmd": "last reboot | head"
|
|
}
|
|
],
|
|
"related": [
|
|
"monitor-cpu",
|
|
"monitor-memory"
|
|
],
|
|
"flags_explained": {
|
|
"-p": "Pretty format (e.g. 'up 3 hours')",
|
|
"-s": "Show system boot time",
|
|
"load average": "Avg processes waiting over 1/5/15 minutes"
|
|
}
|
|
},
|
|
{
|
|
"id": "service-status",
|
|
"keywords": [
|
|
"service",
|
|
"systemctl",
|
|
"status",
|
|
"start",
|
|
"stop",
|
|
"restart",
|
|
"daemon"
|
|
],
|
|
"category": "system",
|
|
"command": "systemctl status nginx",
|
|
"description": "Manage and inspect system services",
|
|
"examples": [
|
|
{
|
|
"desc": "Check a service's status",
|
|
"cmd": "systemctl status nginx"
|
|
},
|
|
{
|
|
"desc": "Start a service",
|
|
"cmd": "sudo systemctl start nginx"
|
|
},
|
|
{
|
|
"desc": "Restart a service",
|
|
"cmd": "sudo systemctl restart nginx"
|
|
},
|
|
{
|
|
"desc": "Enable a service at boot",
|
|
"cmd": "sudo systemctl enable nginx"
|
|
}
|
|
],
|
|
"related": [
|
|
"view-logs",
|
|
"list-processes"
|
|
],
|
|
"flags_explained": {
|
|
"status": "Show whether a service is running",
|
|
"start/stop": "Start or stop the service now",
|
|
"restart": "Stop then start the service",
|
|
"enable/disable": "Control whether it starts at boot"
|
|
}
|
|
},
|
|
{
|
|
"id": "view-logs",
|
|
"keywords": [
|
|
"logs",
|
|
"journalctl",
|
|
"systemd",
|
|
"errors",
|
|
"syslog",
|
|
"debug"
|
|
],
|
|
"category": "system",
|
|
"command": "journalctl -xe",
|
|
"description": "View and follow system logs",
|
|
"examples": [
|
|
{
|
|
"desc": "Show recent log entries",
|
|
"cmd": "journalctl -xe"
|
|
},
|
|
{
|
|
"desc": "Follow logs live",
|
|
"cmd": "journalctl -f"
|
|
},
|
|
{
|
|
"desc": "Logs for a specific service",
|
|
"cmd": "journalctl -u nginx"
|
|
},
|
|
{
|
|
"desc": "Logs since boot",
|
|
"cmd": "journalctl -b"
|
|
}
|
|
],
|
|
"related": [
|
|
"service-status",
|
|
"kernel-messages"
|
|
],
|
|
"flags_explained": {
|
|
"-f": "Follow (live tail) new log entries",
|
|
"-u": "Filter by systemd unit/service",
|
|
"-b": "Show logs from the current boot",
|
|
"-xe": "Add explanations and jump to the end"
|
|
}
|
|
},
|
|
{
|
|
"id": "find-process-by-port",
|
|
"keywords": [
|
|
"port",
|
|
"process",
|
|
"lsof",
|
|
"which",
|
|
"using",
|
|
"pid",
|
|
"listening"
|
|
],
|
|
"category": "system",
|
|
"command": "lsof -i :8080",
|
|
"description": "Find which process is using a port",
|
|
"examples": [
|
|
{
|
|
"desc": "Find process on a port",
|
|
"cmd": "lsof -i :8080"
|
|
},
|
|
{
|
|
"desc": "Alternative using ss",
|
|
"cmd": "ss -tulpn | grep :8080"
|
|
},
|
|
{
|
|
"desc": "Find files opened by a process",
|
|
"cmd": "lsof -p 1234"
|
|
},
|
|
{
|
|
"desc": "Kill the process using a port",
|
|
"cmd": "kill $(lsof -t -i :8080)"
|
|
}
|
|
],
|
|
"related": [
|
|
"check-ports",
|
|
"process-kill"
|
|
],
|
|
"flags_explained": {
|
|
"-i :PORT": "Show processes using a network port",
|
|
"-p PID": "List files opened by a specific process",
|
|
"-t": "Terse output (PIDs only, for scripting)"
|
|
}
|
|
},
|
|
{
|
|
"id": "schedule-cron",
|
|
"keywords": [
|
|
"cron",
|
|
"crontab",
|
|
"schedule",
|
|
"job",
|
|
"automate",
|
|
"periodic",
|
|
"task"
|
|
],
|
|
"category": "system",
|
|
"command": "crontab -e",
|
|
"description": "Schedule recurring tasks with cron",
|
|
"examples": [
|
|
{
|
|
"desc": "Edit your crontab",
|
|
"cmd": "crontab -e"
|
|
},
|
|
{
|
|
"desc": "List your scheduled jobs",
|
|
"cmd": "crontab -l"
|
|
},
|
|
{
|
|
"desc": "Run a script every day at 2am",
|
|
"cmd": "0 2 * * * /path/to/script.sh"
|
|
},
|
|
{
|
|
"desc": "Run a one-off task later",
|
|
"cmd": "echo 'task.sh' | at now + 1 hour"
|
|
}
|
|
],
|
|
"related": [
|
|
"watch-command",
|
|
"service-status"
|
|
],
|
|
"flags_explained": {
|
|
"-e": "Edit the current user's crontab",
|
|
"-l": "List the current user's cron jobs",
|
|
"* * * * *": "min hour day-of-month month day-of-week",
|
|
"at": "Schedule a single future command"
|
|
}
|
|
},
|
|
{
|
|
"id": "cpu-info",
|
|
"keywords": [
|
|
"cpu",
|
|
"cores",
|
|
"processor",
|
|
"lscpu",
|
|
"hardware",
|
|
"info",
|
|
"architecture"
|
|
],
|
|
"category": "system",
|
|
"command": "lscpu",
|
|
"description": "Show CPU and hardware information",
|
|
"examples": [
|
|
{
|
|
"desc": "Show CPU architecture details",
|
|
"cmd": "lscpu"
|
|
},
|
|
{
|
|
"desc": "Count the number of cores",
|
|
"cmd": "nproc"
|
|
},
|
|
{
|
|
"desc": "Show memory and CPU summary",
|
|
"cmd": "free -h && lscpu | head"
|
|
},
|
|
{
|
|
"desc": "List block devices",
|
|
"cmd": "lsblk"
|
|
}
|
|
],
|
|
"related": [
|
|
"monitor-cpu",
|
|
"monitor-memory"
|
|
],
|
|
"flags_explained": {
|
|
"lscpu": "Display CPU architecture from sysfs",
|
|
"nproc": "Print the number of processing units",
|
|
"lsblk": "List block storage devices"
|
|
}
|
|
},
|
|
{
|
|
"id": "kernel-messages",
|
|
"keywords": [
|
|
"dmesg",
|
|
"kernel",
|
|
"messages",
|
|
"hardware",
|
|
"boot",
|
|
"driver",
|
|
"errors"
|
|
],
|
|
"category": "system",
|
|
"command": "dmesg",
|
|
"description": "View kernel ring buffer messages",
|
|
"examples": [
|
|
{
|
|
"desc": "Show kernel messages",
|
|
"cmd": "dmesg"
|
|
},
|
|
{
|
|
"desc": "Human-readable timestamps",
|
|
"cmd": "dmesg -T"
|
|
},
|
|
{
|
|
"desc": "Follow new kernel messages",
|
|
"cmd": "dmesg -w"
|
|
},
|
|
{
|
|
"desc": "Filter for USB events",
|
|
"cmd": "dmesg | grep -i usb"
|
|
}
|
|
],
|
|
"related": [
|
|
"view-logs",
|
|
"service-status"
|
|
],
|
|
"flags_explained": {
|
|
"-T": "Show human-readable timestamps",
|
|
"-w": "Wait and follow new messages",
|
|
"-l": "Restrict output to given log levels"
|
|
}
|
|
},
|
|
{
|
|
"id": "git-status",
|
|
"keywords": [
|
|
"git",
|
|
"status",
|
|
"changes",
|
|
"staged",
|
|
"modified",
|
|
"version",
|
|
"control"
|
|
],
|
|
"category": "git",
|
|
"command": "git status",
|
|
"description": "Show the working tree status",
|
|
"examples": [
|
|
{
|
|
"desc": "Show changed and staged files",
|
|
"cmd": "git status"
|
|
},
|
|
{
|
|
"desc": "Short status format",
|
|
"cmd": "git status -s"
|
|
},
|
|
{
|
|
"desc": "Show changes vs last commit",
|
|
"cmd": "git diff"
|
|
},
|
|
{
|
|
"desc": "Show staged changes",
|
|
"cmd": "git diff --staged"
|
|
}
|
|
],
|
|
"related": [
|
|
"git-log",
|
|
"git-discard"
|
|
],
|
|
"flags_explained": {
|
|
"-s": "Short, compact status output",
|
|
"git diff": "Show unstaged line-by-line changes",
|
|
"--staged": "Show changes already staged for commit"
|
|
}
|
|
},
|
|
{
|
|
"id": "git-log",
|
|
"keywords": [
|
|
"git",
|
|
"log",
|
|
"history",
|
|
"commits",
|
|
"graph",
|
|
"version",
|
|
"control"
|
|
],
|
|
"category": "git",
|
|
"command": "git log --oneline",
|
|
"description": "View commit history",
|
|
"examples": [
|
|
{
|
|
"desc": "Compact one-line history",
|
|
"cmd": "git log --oneline"
|
|
},
|
|
{
|
|
"desc": "Show a branch graph",
|
|
"cmd": "git log --oneline --graph --all"
|
|
},
|
|
{
|
|
"desc": "Last 5 commits",
|
|
"cmd": "git log -5"
|
|
},
|
|
{
|
|
"desc": "Commits by an author",
|
|
"cmd": "git log --author='Alice'"
|
|
}
|
|
],
|
|
"related": [
|
|
"git-status",
|
|
"git-discard"
|
|
],
|
|
"flags_explained": {
|
|
"--oneline": "One commit per line (short hash + subject)",
|
|
"--graph": "Draw an ASCII commit graph",
|
|
"--all": "Include all branches",
|
|
"--author": "Filter commits by author"
|
|
}
|
|
},
|
|
{
|
|
"id": "git-discard",
|
|
"keywords": [
|
|
"git",
|
|
"discard",
|
|
"undo",
|
|
"revert",
|
|
"reset",
|
|
"restore",
|
|
"changes"
|
|
],
|
|
"category": "git",
|
|
"command": "git restore file.txt",
|
|
"description": "Undo or discard local changes",
|
|
"examples": [
|
|
{
|
|
"desc": "Discard changes to a file",
|
|
"cmd": "git restore file.txt"
|
|
},
|
|
{
|
|
"desc": "Unstage a file",
|
|
"cmd": "git restore --staged file.txt"
|
|
},
|
|
{
|
|
"desc": "Discard all uncommitted changes",
|
|
"cmd": "git checkout ."
|
|
},
|
|
{
|
|
"desc": "Undo the last commit (keep changes)",
|
|
"cmd": "git reset --soft HEAD~1"
|
|
}
|
|
],
|
|
"related": [
|
|
"git-status",
|
|
"git-log"
|
|
],
|
|
"flags_explained": {
|
|
"restore": "Restore a file to its committed state",
|
|
"--staged": "Move a file out of the staging area",
|
|
"reset --soft HEAD~1": "Undo last commit, keep changes staged"
|
|
}
|
|
},
|
|
{
|
|
"id": "current-user",
|
|
"keywords": [
|
|
"user",
|
|
"whoami",
|
|
"id",
|
|
"current",
|
|
"username",
|
|
"groups",
|
|
"uid"
|
|
],
|
|
"category": "users",
|
|
"command": "whoami",
|
|
"description": "Show information about the current user",
|
|
"examples": [
|
|
{
|
|
"desc": "Print the current username",
|
|
"cmd": "whoami"
|
|
},
|
|
{
|
|
"desc": "Show user and group IDs",
|
|
"cmd": "id"
|
|
},
|
|
{
|
|
"desc": "List groups you belong to",
|
|
"cmd": "groups"
|
|
},
|
|
{
|
|
"desc": "Show your home and shell",
|
|
"cmd": "echo $HOME $SHELL"
|
|
}
|
|
],
|
|
"related": [
|
|
"who-logged-in",
|
|
"file-permissions"
|
|
],
|
|
"flags_explained": {
|
|
"whoami": "Print the effective username",
|
|
"id": "Print user and group IDs",
|
|
"groups": "List the groups the user belongs to"
|
|
}
|
|
},
|
|
{
|
|
"id": "who-logged-in",
|
|
"keywords": [
|
|
"who",
|
|
"logged",
|
|
"users",
|
|
"online",
|
|
"sessions",
|
|
"w",
|
|
"login"
|
|
],
|
|
"category": "users",
|
|
"command": "who",
|
|
"description": "Show who is currently logged in",
|
|
"examples": [
|
|
{
|
|
"desc": "List logged-in users",
|
|
"cmd": "who"
|
|
},
|
|
{
|
|
"desc": "Show users and what they're doing",
|
|
"cmd": "w"
|
|
},
|
|
{
|
|
"desc": "Show recent login history",
|
|
"cmd": "last | head"
|
|
},
|
|
{
|
|
"desc": "Count logged-in users",
|
|
"cmd": "who | wc -l"
|
|
}
|
|
],
|
|
"related": [
|
|
"current-user",
|
|
"list-processes"
|
|
],
|
|
"flags_explained": {
|
|
"who": "List currently logged-in users",
|
|
"w": "Show users plus their active processes",
|
|
"last": "Show a history of logins"
|
|
}
|
|
},
|
|
{
|
|
"id": "git-commit",
|
|
"keywords": [
|
|
"commit",
|
|
"save",
|
|
"record",
|
|
"changes",
|
|
"stage"
|
|
],
|
|
"category": "git",
|
|
"command": "git commit -m \"message\"",
|
|
"description": "Record staged changes to the repository",
|
|
"examples": [
|
|
{
|
|
"desc": "Stage all and commit",
|
|
"cmd": "git commit -am \"message\""
|
|
},
|
|
{
|
|
"desc": "Commit specific files",
|
|
"cmd": "git add file.txt && git commit -m \"msg\""
|
|
},
|
|
{
|
|
"desc": "Amend last commit",
|
|
"cmd": "git commit --amend"
|
|
}
|
|
],
|
|
"related": [
|
|
"git-status",
|
|
"git-push",
|
|
"git-discard"
|
|
],
|
|
"flags_explained": {
|
|
"-m": "Commit message inline",
|
|
"-a": "Auto-stage all tracked modified files",
|
|
"--amend": "Replace the previous commit"
|
|
}
|
|
},
|
|
{
|
|
"id": "git-branch",
|
|
"keywords": [
|
|
"branch",
|
|
"branches",
|
|
"list",
|
|
"create",
|
|
"new"
|
|
],
|
|
"category": "git",
|
|
"command": "git branch",
|
|
"description": "List, create, or delete branches",
|
|
"examples": [
|
|
{
|
|
"desc": "List local branches",
|
|
"cmd": "git branch"
|
|
},
|
|
{
|
|
"desc": "Create a branch",
|
|
"cmd": "git branch feature-x"
|
|
},
|
|
{
|
|
"desc": "Delete a branch",
|
|
"cmd": "git branch -d feature-x"
|
|
}
|
|
],
|
|
"related": [
|
|
"git-checkout",
|
|
"git-merge"
|
|
],
|
|
"flags_explained": {
|
|
"-a": "List all branches incl. remote",
|
|
"-d": "Delete a merged branch",
|
|
"-D": "Force-delete a branch"
|
|
}
|
|
},
|
|
{
|
|
"id": "git-checkout",
|
|
"keywords": [
|
|
"checkout",
|
|
"switch",
|
|
"branch",
|
|
"change",
|
|
"move"
|
|
],
|
|
"category": "git",
|
|
"command": "git switch branch-name",
|
|
"description": "Switch to a different branch (modern: git switch)",
|
|
"examples": [
|
|
{
|
|
"desc": "Switch branch",
|
|
"cmd": "git switch main"
|
|
},
|
|
{
|
|
"desc": "Create and switch",
|
|
"cmd": "git switch -c new-feature"
|
|
},
|
|
{
|
|
"desc": "Legacy syntax",
|
|
"cmd": "git checkout main"
|
|
}
|
|
],
|
|
"related": [
|
|
"git-branch",
|
|
"git-merge"
|
|
],
|
|
"flags_explained": {
|
|
"-c": "Create the branch then switch to it",
|
|
"-": "Switch to previous branch (git switch -)"
|
|
}
|
|
},
|
|
{
|
|
"id": "git-merge",
|
|
"keywords": [
|
|
"merge",
|
|
"combine",
|
|
"integrate",
|
|
"join",
|
|
"branch"
|
|
],
|
|
"category": "git",
|
|
"command": "git merge branch-name",
|
|
"description": "Merge another branch into the current branch",
|
|
"examples": [
|
|
{
|
|
"desc": "Merge a feature branch",
|
|
"cmd": "git merge feature-x"
|
|
},
|
|
{
|
|
"desc": "Merge without fast-forward",
|
|
"cmd": "git merge --no-ff feature-x"
|
|
},
|
|
{
|
|
"desc": "Abort a conflicted merge",
|
|
"cmd": "git merge --abort"
|
|
}
|
|
],
|
|
"related": [
|
|
"git-branch",
|
|
"git-checkout"
|
|
],
|
|
"flags_explained": {
|
|
"--no-ff": "Always create a merge commit",
|
|
"--abort": "Cancel and restore pre-merge state",
|
|
"--squash": "Combine into a single staged change"
|
|
}
|
|
},
|
|
{
|
|
"id": "git-stash",
|
|
"keywords": [
|
|
"stash",
|
|
"shelve",
|
|
"save",
|
|
"temporary",
|
|
"wip"
|
|
],
|
|
"category": "git",
|
|
"command": "git stash",
|
|
"description": "Temporarily shelve uncommitted changes",
|
|
"examples": [
|
|
{
|
|
"desc": "Stash changes",
|
|
"cmd": "git stash"
|
|
},
|
|
{
|
|
"desc": "Restore last stash",
|
|
"cmd": "git stash pop"
|
|
},
|
|
{
|
|
"desc": "List stashes",
|
|
"cmd": "git stash list"
|
|
}
|
|
],
|
|
"related": [
|
|
"git-status",
|
|
"git-discard"
|
|
],
|
|
"flags_explained": {
|
|
"pop": "Apply and remove the latest stash",
|
|
"list": "Show all stashes",
|
|
"-u": "Include untracked files"
|
|
}
|
|
},
|
|
{
|
|
"id": "git-diff",
|
|
"keywords": [
|
|
"diff",
|
|
"changes",
|
|
"compare",
|
|
"difference",
|
|
"modified"
|
|
],
|
|
"category": "git",
|
|
"command": "git diff",
|
|
"description": "Show changes between commits, working tree, and index",
|
|
"examples": [
|
|
{
|
|
"desc": "Unstaged changes",
|
|
"cmd": "git diff"
|
|
},
|
|
{
|
|
"desc": "Staged changes",
|
|
"cmd": "git diff --staged"
|
|
},
|
|
{
|
|
"desc": "Between branches",
|
|
"cmd": "git diff main..feature"
|
|
}
|
|
],
|
|
"related": [
|
|
"git-status",
|
|
"git-log"
|
|
],
|
|
"flags_explained": {
|
|
"--staged": "Show staged (cached) changes",
|
|
"--stat": "Summary of changed files",
|
|
"--name-only": "Only file names"
|
|
}
|
|
},
|
|
{
|
|
"id": "git-clone",
|
|
"keywords": [
|
|
"clone",
|
|
"download",
|
|
"copy",
|
|
"repository",
|
|
"repo"
|
|
],
|
|
"category": "git",
|
|
"command": "git clone <url>",
|
|
"description": "Clone a repository into a new directory",
|
|
"examples": [
|
|
{
|
|
"desc": "Clone a repo",
|
|
"cmd": "git clone https://github.com/user/repo.git"
|
|
},
|
|
{
|
|
"desc": "Shallow clone",
|
|
"cmd": "git clone --depth 1 <url>"
|
|
},
|
|
{
|
|
"desc": "Clone to a named dir",
|
|
"cmd": "git clone <url> mydir"
|
|
}
|
|
],
|
|
"related": [
|
|
"git-pull",
|
|
"git-remote"
|
|
],
|
|
"flags_explained": {
|
|
"--depth": "Limit history to N commits (shallow)",
|
|
"--branch": "Clone a specific branch",
|
|
"-b": "Short for --branch"
|
|
}
|
|
},
|
|
{
|
|
"id": "git-pull",
|
|
"keywords": [
|
|
"pull",
|
|
"fetch",
|
|
"update",
|
|
"sync",
|
|
"download"
|
|
],
|
|
"category": "git",
|
|
"command": "git pull",
|
|
"description": "Fetch from remote and integrate into current branch",
|
|
"examples": [
|
|
{
|
|
"desc": "Pull current branch",
|
|
"cmd": "git pull"
|
|
},
|
|
{
|
|
"desc": "Pull with rebase",
|
|
"cmd": "git pull --rebase"
|
|
},
|
|
{
|
|
"desc": "Pull a specific remote/branch",
|
|
"cmd": "git pull origin main"
|
|
}
|
|
],
|
|
"related": [
|
|
"git-push",
|
|
"git-clone"
|
|
],
|
|
"flags_explained": {
|
|
"--rebase": "Rebase local commits onto fetched head instead of merging",
|
|
"--ff-only": "Refuse if a merge commit would be needed"
|
|
}
|
|
},
|
|
{
|
|
"id": "git-push",
|
|
"keywords": [
|
|
"push",
|
|
"upload",
|
|
"publish",
|
|
"send",
|
|
"remote"
|
|
],
|
|
"category": "git",
|
|
"command": "git push",
|
|
"description": "Upload local commits to the remote repository",
|
|
"examples": [
|
|
{
|
|
"desc": "Push current branch",
|
|
"cmd": "git push"
|
|
},
|
|
{
|
|
"desc": "Push and set upstream",
|
|
"cmd": "git push -u origin feature-x"
|
|
},
|
|
{
|
|
"desc": "Push tags",
|
|
"cmd": "git push --tags"
|
|
}
|
|
],
|
|
"related": [
|
|
"git-pull",
|
|
"git-commit"
|
|
],
|
|
"flags_explained": {
|
|
"-u": "Set upstream tracking for the branch",
|
|
"--tags": "Push tags too",
|
|
"--force-with-lease": "Safer force push"
|
|
}
|
|
},
|
|
{
|
|
"id": "git-undo-commit",
|
|
"keywords": [
|
|
"undo",
|
|
"revert",
|
|
"reset",
|
|
"uncommit",
|
|
"rollback"
|
|
],
|
|
"category": "git",
|
|
"command": "git reset --soft HEAD~1",
|
|
"description": "Undo the last commit but keep the changes staged",
|
|
"examples": [
|
|
{
|
|
"desc": "Undo commit, keep changes staged",
|
|
"cmd": "git reset --soft HEAD~1"
|
|
},
|
|
{
|
|
"desc": "Undo commit and unstage",
|
|
"cmd": "git reset HEAD~1"
|
|
},
|
|
{
|
|
"desc": "Revert a pushed commit safely",
|
|
"cmd": "git revert <hash>"
|
|
}
|
|
],
|
|
"related": [
|
|
"git-discard",
|
|
"git-commit"
|
|
],
|
|
"flags_explained": {
|
|
"--soft": "Keep changes staged",
|
|
"--mixed": "Keep changes but unstage (default)",
|
|
"HEAD~1": "One commit before HEAD"
|
|
}
|
|
},
|
|
{
|
|
"id": "add-user",
|
|
"keywords": [
|
|
"add",
|
|
"create",
|
|
"user",
|
|
"account",
|
|
"useradd"
|
|
],
|
|
"category": "users",
|
|
"command": "sudo adduser <name>",
|
|
"description": "Create a new user account",
|
|
"examples": [
|
|
{
|
|
"desc": "Create a user (interactive)",
|
|
"cmd": "sudo adduser alice"
|
|
},
|
|
{
|
|
"desc": "Low-level create with home",
|
|
"cmd": "sudo useradd -m bob"
|
|
},
|
|
{
|
|
"desc": "Create a system user",
|
|
"cmd": "sudo useradd -r svcuser"
|
|
}
|
|
],
|
|
"related": [
|
|
"delete-user",
|
|
"change-password",
|
|
"add-to-group"
|
|
],
|
|
"flags_explained": {
|
|
"-m": "Create the home directory",
|
|
"-r": "Create a system account",
|
|
"-s": "Set the login shell"
|
|
}
|
|
},
|
|
{
|
|
"id": "delete-user",
|
|
"keywords": [
|
|
"delete",
|
|
"remove",
|
|
"user",
|
|
"account",
|
|
"userdel"
|
|
],
|
|
"category": "users",
|
|
"command": "sudo deluser <name>",
|
|
"description": "Delete a user account",
|
|
"examples": [
|
|
{
|
|
"desc": "Delete a user",
|
|
"cmd": "sudo deluser alice"
|
|
},
|
|
{
|
|
"desc": "Delete user and home dir",
|
|
"cmd": "sudo deluser --remove-home alice"
|
|
},
|
|
{
|
|
"desc": "Low-level delete",
|
|
"cmd": "sudo userdel -r bob"
|
|
}
|
|
],
|
|
"related": [
|
|
"add-user"
|
|
],
|
|
"flags_explained": {
|
|
"--remove-home": "Also delete the user's home directory",
|
|
"-r": "(userdel) remove home and mail spool"
|
|
}
|
|
},
|
|
{
|
|
"id": "change-password",
|
|
"keywords": [
|
|
"password",
|
|
"passwd",
|
|
"change",
|
|
"reset",
|
|
"credentials"
|
|
],
|
|
"category": "users",
|
|
"command": "passwd",
|
|
"description": "Change a user's password",
|
|
"examples": [
|
|
{
|
|
"desc": "Change your own password",
|
|
"cmd": "passwd"
|
|
},
|
|
{
|
|
"desc": "Change another user's (root)",
|
|
"cmd": "sudo passwd alice"
|
|
},
|
|
{
|
|
"desc": "Expire a password now",
|
|
"cmd": "sudo passwd -e alice"
|
|
}
|
|
],
|
|
"related": [
|
|
"add-user"
|
|
],
|
|
"flags_explained": {
|
|
"-e": "Force password change on next login",
|
|
"-l": "Lock the account",
|
|
"-u": "Unlock the account"
|
|
}
|
|
},
|
|
{
|
|
"id": "add-to-group",
|
|
"keywords": [
|
|
"group",
|
|
"add",
|
|
"member",
|
|
"groups",
|
|
"usermod"
|
|
],
|
|
"category": "users",
|
|
"command": "sudo usermod -aG <group> <user>",
|
|
"description": "Add a user to a supplementary group",
|
|
"examples": [
|
|
{
|
|
"desc": "Add user to sudo group",
|
|
"cmd": "sudo usermod -aG sudo alice"
|
|
},
|
|
{
|
|
"desc": "Add to docker group",
|
|
"cmd": "sudo usermod -aG docker $USER"
|
|
},
|
|
{
|
|
"desc": "Show a user's groups",
|
|
"cmd": "groups alice"
|
|
}
|
|
],
|
|
"related": [
|
|
"add-user",
|
|
"run-as-sudo"
|
|
],
|
|
"flags_explained": {
|
|
"-a": "Append (don't replace existing groups)",
|
|
"-G": "Supplementary group list"
|
|
}
|
|
},
|
|
{
|
|
"id": "apt-install",
|
|
"keywords": [
|
|
"install",
|
|
"apt",
|
|
"package",
|
|
"add",
|
|
"software"
|
|
],
|
|
"category": "packages",
|
|
"command": "sudo apt install <pkg>",
|
|
"description": "Install a package with APT (Debian/Ubuntu)",
|
|
"examples": [
|
|
{
|
|
"desc": "Install a package",
|
|
"cmd": "sudo apt install htop"
|
|
},
|
|
{
|
|
"desc": "Install without prompts",
|
|
"cmd": "sudo apt install -y nginx"
|
|
},
|
|
{
|
|
"desc": "Install a specific version",
|
|
"cmd": "sudo apt install nginx=1.18.0-0ubuntu1"
|
|
}
|
|
],
|
|
"related": [
|
|
"apt-update",
|
|
"apt-remove",
|
|
"apt-search"
|
|
],
|
|
"flags_explained": {
|
|
"-y": "Assume yes to prompts",
|
|
"--no-install-recommends": "Skip recommended packages"
|
|
}
|
|
},
|
|
{
|
|
"id": "apt-update",
|
|
"keywords": [
|
|
"update",
|
|
"upgrade",
|
|
"apt",
|
|
"refresh",
|
|
"patch"
|
|
],
|
|
"category": "packages",
|
|
"command": "sudo apt update && sudo apt upgrade",
|
|
"description": "Refresh package lists and upgrade installed packages",
|
|
"examples": [
|
|
{
|
|
"desc": "Refresh package index",
|
|
"cmd": "sudo apt update"
|
|
},
|
|
{
|
|
"desc": "Upgrade everything",
|
|
"cmd": "sudo apt upgrade -y"
|
|
},
|
|
{
|
|
"desc": "Full dist upgrade",
|
|
"cmd": "sudo apt full-upgrade"
|
|
}
|
|
],
|
|
"related": [
|
|
"apt-install",
|
|
"list-installed"
|
|
],
|
|
"flags_explained": {
|
|
"update": "Refresh the package index",
|
|
"upgrade": "Install newer versions of installed packages",
|
|
"-y": "Assume yes"
|
|
}
|
|
},
|
|
{
|
|
"id": "apt-search",
|
|
"keywords": [
|
|
"search",
|
|
"find",
|
|
"apt",
|
|
"package",
|
|
"lookup"
|
|
],
|
|
"category": "packages",
|
|
"command": "apt search <term>",
|
|
"description": "Search for available packages",
|
|
"examples": [
|
|
{
|
|
"desc": "Search by keyword",
|
|
"cmd": "apt search image editor"
|
|
},
|
|
{
|
|
"desc": "Show package details",
|
|
"cmd": "apt show gimp"
|
|
},
|
|
{
|
|
"desc": "Find which package owns a file",
|
|
"cmd": "dpkg -S /usr/bin/python3"
|
|
}
|
|
],
|
|
"related": [
|
|
"apt-install",
|
|
"list-installed"
|
|
],
|
|
"flags_explained": {
|
|
"search": "Full-text search of package names/descriptions",
|
|
"show": "Detailed package info"
|
|
}
|
|
},
|
|
{
|
|
"id": "apt-remove",
|
|
"keywords": [
|
|
"remove",
|
|
"uninstall",
|
|
"apt",
|
|
"delete",
|
|
"purge"
|
|
],
|
|
"category": "packages",
|
|
"command": "sudo apt remove <pkg>",
|
|
"description": "Remove an installed package",
|
|
"examples": [
|
|
{
|
|
"desc": "Remove a package",
|
|
"cmd": "sudo apt remove htop"
|
|
},
|
|
{
|
|
"desc": "Remove with config files",
|
|
"cmd": "sudo apt purge nginx"
|
|
},
|
|
{
|
|
"desc": "Remove unused dependencies",
|
|
"cmd": "sudo apt autoremove"
|
|
}
|
|
],
|
|
"related": [
|
|
"apt-install"
|
|
],
|
|
"flags_explained": {
|
|
"remove": "Uninstall but keep config",
|
|
"purge": "Remove including config files",
|
|
"autoremove": "Drop orphaned dependencies"
|
|
}
|
|
},
|
|
{
|
|
"id": "list-installed",
|
|
"keywords": [
|
|
"list",
|
|
"installed",
|
|
"packages",
|
|
"dpkg",
|
|
"query"
|
|
],
|
|
"category": "packages",
|
|
"command": "apt list --installed",
|
|
"description": "List installed packages",
|
|
"examples": [
|
|
{
|
|
"desc": "List all installed",
|
|
"cmd": "apt list --installed"
|
|
},
|
|
{
|
|
"desc": "Count installed packages",
|
|
"cmd": "dpkg -l | grep -c '^ii'"
|
|
},
|
|
{
|
|
"desc": "Search installed",
|
|
"cmd": "apt list --installed | grep nginx"
|
|
}
|
|
],
|
|
"related": [
|
|
"apt-install",
|
|
"apt-search"
|
|
],
|
|
"flags_explained": {
|
|
"--installed": "Only show installed packages",
|
|
"-l": "(dpkg) list packages"
|
|
}
|
|
},
|
|
{
|
|
"id": "docker-ps",
|
|
"keywords": [
|
|
"docker",
|
|
"containers",
|
|
"ps",
|
|
"running",
|
|
"list"
|
|
],
|
|
"category": "docker",
|
|
"command": "docker ps",
|
|
"description": "List running containers",
|
|
"examples": [
|
|
{
|
|
"desc": "Running containers",
|
|
"cmd": "docker ps"
|
|
},
|
|
{
|
|
"desc": "All containers incl. stopped",
|
|
"cmd": "docker ps -a"
|
|
},
|
|
{
|
|
"desc": "Only container IDs",
|
|
"cmd": "docker ps -q"
|
|
}
|
|
],
|
|
"related": [
|
|
"docker-logs",
|
|
"docker-stop",
|
|
"docker-exec"
|
|
],
|
|
"flags_explained": {
|
|
"-a": "Show all (incl. stopped)",
|
|
"-q": "Quiet — only IDs",
|
|
"--format": "Custom Go-template output"
|
|
}
|
|
},
|
|
{
|
|
"id": "docker-images",
|
|
"keywords": [
|
|
"docker",
|
|
"images",
|
|
"list",
|
|
"local",
|
|
"repository"
|
|
],
|
|
"category": "docker",
|
|
"command": "docker images",
|
|
"description": "List locally stored images",
|
|
"examples": [
|
|
{
|
|
"desc": "List images",
|
|
"cmd": "docker images"
|
|
},
|
|
{
|
|
"desc": "Remove an image",
|
|
"cmd": "docker rmi <image>"
|
|
},
|
|
{
|
|
"desc": "Prune dangling images",
|
|
"cmd": "docker image prune"
|
|
}
|
|
],
|
|
"related": [
|
|
"docker-run",
|
|
"docker-ps"
|
|
],
|
|
"flags_explained": {
|
|
"-a": "Include intermediate images",
|
|
"-q": "Only image IDs",
|
|
"prune": "Remove unused images"
|
|
}
|
|
},
|
|
{
|
|
"id": "docker-run",
|
|
"keywords": [
|
|
"docker",
|
|
"run",
|
|
"start",
|
|
"container",
|
|
"launch"
|
|
],
|
|
"category": "docker",
|
|
"command": "docker run <image>",
|
|
"description": "Create and start a container from an image",
|
|
"examples": [
|
|
{
|
|
"desc": "Run interactively",
|
|
"cmd": "docker run -it ubuntu bash"
|
|
},
|
|
{
|
|
"desc": "Run detached with port map",
|
|
"cmd": "docker run -d -p 8080:80 nginx"
|
|
},
|
|
{
|
|
"desc": "Run and auto-remove",
|
|
"cmd": "docker run --rm alpine echo hi"
|
|
}
|
|
],
|
|
"related": [
|
|
"docker-ps",
|
|
"docker-stop",
|
|
"docker-exec"
|
|
],
|
|
"flags_explained": {
|
|
"-d": "Detached (background)",
|
|
"-it": "Interactive + TTY",
|
|
"-p": "Publish host:container port",
|
|
"--rm": "Remove on exit",
|
|
"-v": "Mount a volume"
|
|
}
|
|
},
|
|
{
|
|
"id": "docker-logs",
|
|
"keywords": [
|
|
"docker",
|
|
"logs",
|
|
"output",
|
|
"container",
|
|
"debug"
|
|
],
|
|
"category": "docker",
|
|
"command": "docker logs <container>",
|
|
"description": "Fetch the logs of a container",
|
|
"examples": [
|
|
{
|
|
"desc": "Show logs",
|
|
"cmd": "docker logs web"
|
|
},
|
|
{
|
|
"desc": "Follow live logs",
|
|
"cmd": "docker logs -f web"
|
|
},
|
|
{
|
|
"desc": "Last 100 lines",
|
|
"cmd": "docker logs --tail 100 web"
|
|
}
|
|
],
|
|
"related": [
|
|
"docker-ps",
|
|
"docker-exec"
|
|
],
|
|
"flags_explained": {
|
|
"-f": "Follow log output live",
|
|
"--tail": "Show only the last N lines",
|
|
"-t": "Show timestamps"
|
|
}
|
|
},
|
|
{
|
|
"id": "docker-exec",
|
|
"keywords": [
|
|
"docker",
|
|
"exec",
|
|
"shell",
|
|
"enter",
|
|
"container"
|
|
],
|
|
"category": "docker",
|
|
"command": "docker exec -it <container> bash",
|
|
"description": "Run a command inside a running container",
|
|
"examples": [
|
|
{
|
|
"desc": "Open a shell",
|
|
"cmd": "docker exec -it web bash"
|
|
},
|
|
{
|
|
"desc": "Run a one-off command",
|
|
"cmd": "docker exec web ls /app"
|
|
},
|
|
{
|
|
"desc": "As a specific user",
|
|
"cmd": "docker exec -u root -it web sh"
|
|
}
|
|
],
|
|
"related": [
|
|
"docker-ps",
|
|
"docker-logs"
|
|
],
|
|
"flags_explained": {
|
|
"-it": "Interactive + TTY",
|
|
"-u": "Run as a specific user",
|
|
"-e": "Set an environment variable"
|
|
}
|
|
},
|
|
{
|
|
"id": "docker-stop",
|
|
"keywords": [
|
|
"docker",
|
|
"stop",
|
|
"kill",
|
|
"container",
|
|
"remove"
|
|
],
|
|
"category": "docker",
|
|
"command": "docker stop <container>",
|
|
"description": "Stop a running container",
|
|
"examples": [
|
|
{
|
|
"desc": "Stop a container",
|
|
"cmd": "docker stop web"
|
|
},
|
|
{
|
|
"desc": "Stop all running",
|
|
"cmd": "docker stop $(docker ps -q)"
|
|
},
|
|
{
|
|
"desc": "Force kill",
|
|
"cmd": "docker kill web"
|
|
}
|
|
],
|
|
"related": [
|
|
"docker-ps",
|
|
"docker-run"
|
|
],
|
|
"flags_explained": {
|
|
"stop": "Graceful stop (SIGTERM then SIGKILL)",
|
|
"kill": "Immediate SIGKILL",
|
|
"-t": "Seconds to wait before killing"
|
|
}
|
|
}
|
|
],
|
|
"categories": {
|
|
"files": {
|
|
"name": "File Operations",
|
|
"tasks": [
|
|
"list-files-by-size",
|
|
"find-large-files",
|
|
"compress-folder",
|
|
"disk-usage",
|
|
"find-files-by-name",
|
|
"file-permissions",
|
|
"find-duplicates",
|
|
"create-symlink",
|
|
"extract-archive",
|
|
"copy-files",
|
|
"move-rename",
|
|
"delete-files",
|
|
"create-directory",
|
|
"change-ownership",
|
|
"sync-directories",
|
|
"find-recent-files",
|
|
"find-empty-dirs"
|
|
]
|
|
},
|
|
"text": {
|
|
"name": "Text Processing",
|
|
"tasks": [
|
|
"search-in-files",
|
|
"find-and-replace",
|
|
"count-lines",
|
|
"compare-files",
|
|
"sort-lines",
|
|
"unique-lines",
|
|
"extract-columns",
|
|
"view-file",
|
|
"json-query",
|
|
"word-frequency"
|
|
]
|
|
},
|
|
"system": {
|
|
"name": "System Monitoring",
|
|
"tasks": [
|
|
"monitor-cpu",
|
|
"monitor-memory",
|
|
"process-kill",
|
|
"list-processes",
|
|
"watch-command",
|
|
"disk-free",
|
|
"system-uptime",
|
|
"service-status",
|
|
"view-logs",
|
|
"find-process-by-port",
|
|
"schedule-cron",
|
|
"cpu-info",
|
|
"kernel-messages"
|
|
]
|
|
},
|
|
"network": {
|
|
"name": "Network Operations",
|
|
"tasks": [
|
|
"download-file",
|
|
"check-ports",
|
|
"check-connectivity",
|
|
"dns-lookup",
|
|
"copy-to-remote",
|
|
"check-website",
|
|
"public-ip"
|
|
]
|
|
},
|
|
"git": {
|
|
"name": "Git Version Control",
|
|
"tasks": [
|
|
"git-status",
|
|
"git-log",
|
|
"git-discard",
|
|
"git-commit",
|
|
"git-branch",
|
|
"git-checkout",
|
|
"git-merge",
|
|
"git-stash",
|
|
"git-diff",
|
|
"git-clone",
|
|
"git-pull",
|
|
"git-push",
|
|
"git-undo-commit"
|
|
]
|
|
},
|
|
"users": {
|
|
"name": "User Management",
|
|
"tasks": [
|
|
"current-user",
|
|
"who-logged-in",
|
|
"add-user",
|
|
"delete-user",
|
|
"change-password",
|
|
"add-to-group"
|
|
]
|
|
},
|
|
"packages": {
|
|
"name": "Package Management",
|
|
"tasks": [
|
|
"apt-install",
|
|
"apt-update",
|
|
"apt-search",
|
|
"apt-remove",
|
|
"list-installed"
|
|
]
|
|
},
|
|
"docker": {
|
|
"name": "Docker",
|
|
"tasks": [
|
|
"docker-ps",
|
|
"docker-images",
|
|
"docker-run",
|
|
"docker-logs",
|
|
"docker-exec",
|
|
"docker-stop"
|
|
]
|
|
}
|
|
}
|
|
}
|