
Bash Linux Patterns
FreeEssential Bash commands and patterns for Linux/macOS.
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 source1. Install with the skills CLI
npx skills add davila7/claude-code-templates/bash-linux --agent claude-code2. 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 davila7Bash 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!
Frequently asked questions about Bash Linux Patterns
Similar skills
Spring Boot Testing
Master testing techniques for Spring Boot 4 applications.
GitHub Issues
Manage GitHub issues efficiently with MCP tools.
Geofeed Tuner
Optimize your IP geolocation feeds in CSV format.
Batch Files
Master Windows batch scripting for automation and task management.
Adobe Illustrator Scripting
Automate your Illustrator workflows with ExtendScript.
Plugin Structure
Create and organize Claude Code plugins effectively.
