Bash/Linux terminal patterns. Critical commands, piping, error handling, scripting. Use when working on macOS or Linux systems.
69%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./skills/bash-linux/SKILL.mdEssential 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 |
| Stop owned process | kill -TERM <verified-task-PID>; verify exit, escalate only if necessary |
| Find port user | lsof -i :3000 |
| Inspect port owner | lsof -nP -iTCP:3000 -sTCP:LISTEN; verify ownership before stopping |
| Background | npm run dev & |
| Jobs | jobs -l |
| Bring to front | fg %1 |
| Tool | Purpose | Example |
|---|---|---|
grep | Search | grep -rn "TODO" src/ |
sed | Preview replacement | sed 's/old/new/g' file.txt (in-place flags differ on macOS/GNU) |
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 |
#!/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 "$@"if command -v node &> /dev/null; then
echo "Node is installed"
fiNAME=${1:-"default_value"}while IFS= read -r line; do
echo "$line"
done < file.txtfor 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 |
set -e # Exit on error
set -u # Exit on undefined variable
set -o pipefail # Exit on pipe failure
set -x # Debug only with non-secret inputs; prints expanded argumentscleanup() {
echo "Cleaning up..."
rm -f /tmp/tempfile
}
trap cleanup EXITRemember: Bash is text-based. Use
&&for success chains and quote variables.set -ehas conditional/pipeline exceptions; explicitly check consequential operations and never infer complete safety from shell flags.
This skill is applicable to execute the workflow or actions described in the overview.
sickn33/agentic-awesome-skills
55d9399
Also appears in
last in sync Apr 16, 2026
last in sync Apr 16, 2026
last in sync Apr 16, 2026
last in sync Apr 16, 2026
last in sync Mar 4, 2026
last in sync Mar 4, 2026
last in sync Mar 4, 2026
last in sync Mar 4, 2026
last in sync Jan 28, 2026
last in sync Jan 28, 2026
last in sync Jan 28, 2026
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.