跳到主要内容
知仓学习社ZHICANG

bash-linux

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

不碰外部(只输出文字)无严重或高危命中sickn33/agentic-awesome-skills

它会碰到什么

扫了多少1 个文本文件,4 KB
它会碰到什么不碰外部(只输出文字)
命中总数0 处
命中统计严重 0 · 高 0 · 中 0 · 低 0

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

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!

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.

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。

同名技能的其他版本

有 5 个不同仓库或目录里都有叫 bash-linux 的技能。它们内容并不相同,别混用: