{ "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": "system", "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" } } ], "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"] }, "text": { "name": "Text Processing", "tasks": ["search-in-files", "find-and-replace", "count-lines", "compare-files"] }, "network": { "name": "Network Operations", "tasks": ["download-file", "check-ports", "check-connectivity"] }, "system": { "name": "System Monitoring", "tasks": ["monitor-cpu", "monitor-memory", "process-kill", "list-processes", "watch-command"] } } }