Claude Code Plugins

Community-maintained marketplace

Feedback

Bash/Linux terminal patterns. Critical commands, piping, error handling, scripting. Use when working on macOS or Linux systems.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name bash-linux
description Bash/Linux terminal patterns. Critical commands, piping, error handling, scripting. Use when working on macOS or Linux systems.
allowed-tools Read, Write, Edit, Glob, Grep, Bash

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 -e for safety, and quote your variables!