New to Claude Skills? Learn how to install them →

davila7 on GitHub

Bash Linux Patterns

Free

Essential Bash commands and patterns for Linux/macOS.

Get this skill

Free · Opens the source repo

What Bash Linux Patterns does

Bash Linux Patterns is a comprehensive collection of essential Bash commands and scripting patterns designed for developers and system administrators working on Linux and macOS systems. This skill provides a structured reference to critical commands, piping techniques, error handling methods, and scripting best practices. Whether you are managing files, processes, or network operations, this skill serves as a quick guide to efficiently executing common tasks in the terminal.

The skill is organized into several key sections, each focusing on different aspects of Bash usage. Users can find operator syntax for chaining commands, essential file operations, and process management commands, making it easier to perform complex tasks with simple commands. Additionally, it includes powerful text processing tools like grep, sed, and awk, which are indispensable for manipulating and analyzing text data.

For those who need to handle environment variables and network operations, the skill provides clear examples of how to view, set, and use these variables effectively. It also includes a script template to help users create their own Bash scripts with built-in error handling and logging functions. Overall, Bash Linux Patterns is an invaluable resource for anyone looking to enhance their command line proficiency and automate their workflows on Unix-like systems.

When to use it

Use this skill when you need to execute common Bash commands or write scripts for automation on Linux or macOS systems.

When not to use it

This skill may not be suitable for users who primarily work with Windows PowerShell or require advanced Bash scripting features not covered in this reference.

What you can build with it

Quick Command Reference

When you need to execute a series of common Bash commands quickly without searching online.

Script Development

Use the provided script template to start writing your own Bash scripts with built-in error handling.

Learning Bash Basics

Ideal for beginners who want to familiarize themselves with essential Bash commands and patterns.

How to install Bash Linux Patterns

View source

1. Install with the skills CLI

npx skills add davila7/claude-code-templates/bash-linux --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by davila7

Bash Linux Patterns

Essential patterns for Bash on Linux/macOS.


1. Operator Syntax

Chaining Commands

OperatorMeaningExample
;Run sequentiallycmd1; cmd2
&&Run if previous succeedednpm install && npm run dev
||Run if previous failednpm test || echo "Tests failed"
|Pipe outputls | grep ".js"

2. File Operations

Essential Commands

TaskCommand
List allls -la
Find filesfind . -name "*.js" -type f
File contentcat file.txt
First N lineshead -n 20 file.txt
Last N linestail -n 20 file.txt
Follow logtail -f log.txt
Search in filesgrep -r "pattern" --include="*.js"
File sizedu -sh *
Disk usagedf -h

3. Process Management

TaskCommand
List processesps aux
Find by nameps aux | grep node
Kill by PIDkill -9 <PID>
Find port userlsof -i :3000
Kill portkill -9 $(lsof -t -i :3000)
Backgroundnpm run dev &
Jobsjobs -l
Bring to frontfg %1

4. Text Processing

Core Tools

ToolPurposeExample
grepSearchgrep -rn "TODO" src/
sedReplacesed -i 's/old/new/g' file.txt
awkExtract columnsawk '{print $1}' file.txt
cutCut fieldscut -d',' -f1 data.csv
sortSort linessort -u file.txt
uniqUnique linessort file.txt | uniq -c
wcCountwc -l file.txt

5. Environment Variables

TaskCommand
View allenv or printenv
View oneecho $PATH
Set temporaryexport VAR="value"
Set in scriptVAR="value" command
Add to PATHexport PATH="$PATH:/new/path"

6. Network

TaskCommand
Downloadcurl -O https://example.com/file
API requestcurl -X GET https://api.example.com
POST JSONcurl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL
Check portnc -zv localhost 3000
Network infoifconfig 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

TaskPowerShellBash
List filesGet-ChildItemls -la
Find filesGet-ChildItem -Recursefind . -type f
Environment$env:VAR$VAR
String concat"$a$b""$a$b" (same)
Null checkif ($x)if [ -n "$x" ]
PipelineObject-basedText-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!

Frequently asked questions about Bash Linux Patterns

Similar skills