Skip to main content

bash-linux

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

소스 정보

저장소
vudovn/ag-kit
최근 소스 활동
2026년 7월 18일 12:54
감지된 SKILL.md 언어
영어
스타
8,190
포크
1,508

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
bash-linux
description
Bash/Linux terminal patterns. Critical commands, piping, error handling, scripting. Use when working on macOS or Linux systems.
when_to_use
When working on macOS or Linux systems, writing bash scripts, or using terminal commands. NOT for Windows/PowerShell environments.
allowed-tools
Read, Write, Edit, Glob, Grep, Bash
version
1.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 ```bash #!/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 ```bash if command -v node &> /dev/null; then echo "Node is installed" fi ``` ### Default variable value ```bash NAME=${1:-"default_value"} ``` ### Read file line by line ```bash while IFS= read -r line; do echo "$line" done < file.txt ``` ### Loop over files ```bash 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 ```bash 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 ```bash 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!
GitHub에서 보기