Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Bash/Linux terminal patterns. Critical commands, piping, error handling, scripting. Use when working on macOS or Linux systems.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-13 | ✗→✓ | ▲ Improved | 62% | 0% |
| case-02 | ✓→✓ | = Same ✓ | 145% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 92% | 0% |
| case-05 | ✓→✓ | = Same ✓ | 152% | 0% |
| case-06 | ✓→✓ | = Same ✓ | 96% | 0% |
> Essential patterns for Bash on Linux/macOS.
| Operator | Meaning | Example | |----------|---------|---------| | ; | Run sequentially | cmd1; cmd2 | | && | Run if previous succeeded | npm install && npm run dev | | \|\| | Run if previous failed | npm test \|\| echo "Tests failed" | | \| | Pipe output | ls \| grep ".js" |
| Task | Command | |------|---------| | List all | ls -la | | Find files | find . -name "*.js" -type f | | File content | cat file.txt | | First N lines | head -n 20 file.txt | | Last N lines | tail -n 20 file.txt | | Follow log | tail -f log.txt | | Search in files | grep -r "pattern" --include="*.js" | | File size | du -sh * | | Disk usage | df -h |
| Task | Command | |------|---------| | List processes | ps aux | | Find by name | ps aux \| grep node | | Kill by PID | kill -9 <PID> | | Find port user | lsof -i :3000 | | Kill port | kill -9 $(lsof -t -i :3000) | | Background | npm run dev & | | Jobs | jobs -l | | Bring to front | fg %1 |
| Tool | Purpose | Example | |------|---------|---------| | grep | Search | grep -rn "TODO" src/ | | sed | Replace | sed -i 's/old/new/g' file.txt | | awk | Extract columns | awk '{print $1}' file.txt | | cut | Cut fields | cut -d',' -f1 data.csv | | sort | Sort lines | sort -u file.txt | | uniq | Unique lines | sort file.txt \| uniq -c | | wc | Count | wc -l file.txt |
| Task | Command | |------|---------| | View all | env or printenv | | View one | echo $PATH | | Set temporary | export VAR="value" | | Set in script | VAR="value" command | | Add to PATH | export PATH="$PATH:/new/path" |
| Task | Command | |------|---------| | Download | curl -O https://example.com/file | | API request | curl -X GET https://api.example.com | | POST JSON | curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL | | Check port | nc -zv localhost 3000 | | Network info | ifconfig or ip addr |
bash#!/bin/bash set -euo pipefail # Exit on error, undefined var, pipe fail # Colors (optional) RED='\033[0;31m' GREEN='\033[0;32m' NC='\033[0m' # Script directory SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # Functions log_info() { echo -e "${GREEN}[INFO]${NC} $1"; } log_error() { echo -e "${RED}[ERROR]${NC} $1" >&2; } # Main main() { log_info "Starting..." # Your logic here log_info "Done!" } main "$@"
bashif command -v node &> /dev/null; then echo "Node is installed" fi
bashNAME=${1:-"default_value"}
bashwhile IFS= read -r line; do echo "$line" done < file.txt
bashfor file in *.js; do echo "Processing $file" done
| Task | PowerShell | Bash | |------|------------|------| | List files | Get-ChildItem | ls -la | | Find files | Get-ChildItem -Recurse | find . -type f | | Environment | $env:VAR | $VAR | | String concat | "$a$b" | "$a$b" (same) | | Null check | if ($x) | if [ -n "$x" ] | | Pipeline | Object-based | Text-based |
bashset -e # Exit on error set -u # Exit on undefined variable set -o pipefail # Exit on pipe failure set -x # Debug: print commands
bashcleanup() { echo "Cleaning up..." rm -f /tmp/tempfile } trap cleanup EXIT
> Remember: Bash is text-based. Use && for success chains, set -e for safety, and quote your variables!
Other measured skills in the registry, with their headline benchmark lift.