Bash Linux Terminal Patterns is a development claude skill built by sickn33. Best for: Developers working on macOS or Linux systems reference critical terminal patterns for file operations, process management, networking, and error handling in scripts..
- What it does
- Reference essential Bash commands, piping, process management, and scripting patterns for macOS/Linux development.
- Category
- development
- Created by
- sickn33
- Last updated
Bash Linux Terminal Patterns
Reference essential Bash commands, piping, process management, and scripting patterns for macOS/Linux development.
Skill instructions
name: bash-linux description: "Bash/Linux terminal patterns. Critical commands, piping, error handling, scripting. Use when working on macOS or Linux systems." risk: unknown source: community date_added: "2026-02-27"
Bash Linux Patterns
Essential patterns for Bash on Linux/macOS.
1. Operator Syntax
Chaining Commands
| 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" |
2. File Operations
Essential Commands
| 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 |
3. Process Management
| 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 |
4. Text Processing
Core Tools
| 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 |
5. Environment Variables
| 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" |
6. Network
| 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 |
7. Script Template
#!/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 "$@"
8. Common Patterns
Check if command exists
if command -v node &> /dev/null; then
echo "Node is installed"
fi
Default variable value
NAME=${1:-"default_value"}
Read file line by line
while IFS= read -r line; do
echo "$line"
done < file.txt
Loop over files
for file in *.js; do
echo "Processing $file"
done
9. Differences from PowerShell
| 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 |
10. Error Handling
Set options
set -e # Exit on error
set -u # Exit on undefined variable
set -o pipefail # Exit on pipe failure
set -x # Debug: print commands
Trap for cleanup
cleanup() {
echo "Cleaning up..."
rm -f /tmp/tempfile
}
trap cleanup EXIT
Remember: Bash is text-based. Use
&&for success chains,set -efor safety, and quote your variables!
When to Use
This skill is applicable to execute the workflow or actions described in the overview.
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
Use this skill
Most skills are portable instruction packages. Claude Code supports SKILL.md directly. Other agents can use adapted files like AGENTS.md, .cursorrules, and GEMINI.md.
Claude Code
Save SKILL.md into your Claude Skills folder, then restart Claude Code.
mkdir -p ~/.claude/skills/bash-linux-terminal-patterns && curl -L "https://raw.githubusercontent.com/sickn33/antigravity-awesome-skills/HEAD/skills/bash-linux/SKILL.md" -o ~/.claude/skills/bash-linux-terminal-patterns/SKILL.mdInstalls to ~/.claude/skills/bash-linux-terminal-patterns/SKILL.md.
Use cases
Developers working on macOS or Linux systems reference critical terminal patterns for file operations, process management, networking, and error handling in scripts.
Reviews
No reviews yet. Be the first to review this skill.
No signup required
Stats
Creator
Ssickn33
@sickn33