DevToolBoxฟรี
บล็อก

เครื่องมือ Linux Command Line ที่จำเป็นสำหรับนักพัฒนา 2026

13 นาทีในการอ่านโดย DevToolBox

เครื่องมือบรรทัดคำสั่ง Linux ที่นักพัฒนาทุกคนควรรู้ในปี 2026

เครื่องมือ UNIX แบบคลาสสิกยังคงใช้งานได้ แต่รุ่นใหม่ที่ขับเคลื่อนด้วย Rust มอบประสิทธิภาพที่ดีกว่ามาก

fd และ ripgrep: การค้นหาที่ได้รับการปรับปรุง

fd แทนที่ find ด้วยค่าเริ่มต้นที่สมเหตุสมผล ripgrep แทนที่ grep ด้วยความเร็ว 10-100 เท่า

# fd: modern find replacement (written in Rust)
# Faster, respects .gitignore, simpler syntax

# Install
brew install fd          # macOS
apt install fd-find      # Ubuntu/Debian (binary is 'fdfind')

# Find files by name (case-insensitive by default)
fd config                # finds files named 'config', 'Config.js', etc.
fd '\.tsx$'              # regex: all .tsx files
fd -e ts -e tsx          # by extension (no dot)
fd -t d src              # type: directory named 'src'
fd -t f -x wc -l        # find files, run 'wc -l' on each (parallel)

# ripgrep (rg): grep replacement -- blazing fast, respects .gitignore
# Install: brew install ripgrep / apt install ripgrep

# Basic search
rg 'useState'                       # search current dir recursively
rg 'TODO|FIXME' --glob '*.ts'       # glob filter
rg -l 'console\.log'               # list file names only
rg -n 'export default' src/         # show line numbers

# Context lines
rg -C 3 'throw new Error'           # 3 lines before and after
rg -A 5 'async function fetchUser'  # 5 lines after match

# Type filtering (rg knows language extensions)
rg --type ts 'interface'            # TypeScript files only
rg --type-add 'web:*.{html,css,js}' --type web 'font-face'

bat และ eza: cat และ ls ที่ดีกว่า

bat เพิ่มการเน้นไวยากรณ์ให้กับ cat eza แทนที่ ls ด้วยตัวบ่งชี้ git

# bat: cat with syntax highlighting, line numbers, git diffs
# Install: brew install bat / apt install bat (binary may be 'batcat')

# Basic usage
bat README.md                       # with syntax highlighting
bat src/index.ts                    # TypeScript highlighted
bat --style=plain file.txt          # no decorations (pipe-safe)
bat --paging=never file.txt         # don't use pager

# Show git changes inline (like 'diff')
bat --diff src/app.ts               # highlight lines changed vs git

# As a colorized pager for man pages
export MANPAGER="sh -c 'col -bx | bat -l man -p'"

# eza: modern ls replacement (was exa, now maintained fork)
# Install: brew install eza / apt install eza

# Basic usage
eza                                 # color-coded by file type
eza -l                              # long listing (like ls -l)
eza -la                             # include hidden files
eza --tree                          # tree view
eza --tree --level=2                # tree, max 2 levels deep
eza -l --git                        # show git status per file
eza --sort=modified                 # sort by modification time
eza -lh --group                     # human sizes, group by owner

# Useful aliases
alias ls='eza --color=auto'
alias ll='eza -l --git'
alias la='eza -la --git'
alias lt='eza --tree --level=2'

delta และ zoxide: git diff และการนำทางอัจฉริยะ

delta แปลงผลลัพธ์ git diff zoxide เรียนรู้ไดเรกทอรีที่คุณใช้บ่อย

# delta: syntax-highlighting pager for git diffs
# Install: brew install git-delta / cargo install git-delta

# Configure in ~/.gitconfig
[core]
    pager = delta

[interactive]
    diffFilter = delta --color-only

[delta]
    navigate = true      # n/N to jump between diff sections
    light = false        # set to true for light terminal
    side-by-side = true  # show old/new side by side
    line-numbers = true
    syntax-theme = Dracula

# Now all git diff/log/show output is highlighted
git diff HEAD~1
git log -p --follow -- src/utils.ts
git show a1b2c3d

# zoxide: smarter cd that learns your habits
# Install: brew install zoxide / apt install zoxide

# Add to ~/.zshrc or ~/.bashrc:
eval "$(zoxide init zsh)"    # for zsh
eval "$(zoxide init bash)"   # for bash

# Usage -- z learns directories you visit frequently
z project         # jump to most-used directory matching 'project'
z dev tool        # multiple terms: matches paths containing both
zi                # interactive mode: fuzzy search with fzf

# After a few days of normal use:
z dev             # /Users/you/Development/my-project
z dt              # /Users/you/devtoolbox
z log             # /var/log  or wherever you go most often

fzf และ jq: การค้นหาแบบ fuzzy และการประมวลผล JSON

fzf เพิ่มการค้นหาแบบ fuzzy เชิงโต้ตอบ jq เป็นเครื่องมือมาตรฐานสำหรับ JSON

# fzf: command-line fuzzy finder -- connects everything together
# Install: brew install fzf / apt install fzf

# Interactive file picker
vim $(fzf)                          # open any file in vim
code $(fzf --preview 'bat {}')      # open in VS Code with preview

# Shell history search (Ctrl+R replacement)
export FZF_CTRL_R_OPTS="--sort --exact"

# Pipe into fzf for interactive selection
git branch | fzf | xargs git checkout    # interactive branch switcher
docker ps | fzf | awk '{print $1}' | xargs docker stop

# jq: JSON processor for the command line
# Install: brew install jq / apt install jq

# Basic extraction
curl -s https://api.github.com/repos/sharkdp/fd | jq '.stargazers_count'
cat package.json | jq '.dependencies | keys'
cat data.json | jq '.users[] | {name, email}'

# Filtering and transformation
cat users.json | jq '[.[] | select(.active == true)] | length'
cat logs.json  | jq '.[] | select(.level == "error") | .message'

# Build new structure
cat data.json | jq '{ total: length, names: [.[].name] }'

# Compact output (single line)
cat pretty.json | jq -c .           # minified JSON output

HTTPie และ xh: HTTP client ที่เป็นมิตรกับนักพัฒนา

HTTPie และ xh มอบไวยากรณ์ที่ใช้งานง่ายสำหรับคำขอ HTTP

# HTTPie / xh: human-friendly HTTP clients
# HTTPie: pip install httpie  |  brew install httpie
# xh (Rust, faster): brew install xh / cargo install xh

# GET request
http GET https://api.example.com/users
xh GET https://api.example.com/users         # same, xh syntax

# POST JSON (auto-detected from key=value syntax)
http POST https://api.example.com/users \
  name="Alice" \
  email="alice@example.com" \
  role=admin

# With headers and auth
http GET https://api.example.com/profile \
  Authorization:"Bearer $TOKEN" \
  Accept:application/json

# Form data
http --form POST https://example.com/upload file@/path/to/file.txt

# Download file
http --download https://example.com/file.zip

# Save session (cookies, headers) between requests
http --session=./session.json POST https://api.example.com/login \
  username=admin password=secret

http --session=./session.json GET https://api.example.com/dashboard

Shell alias และฟังก์ชันเพิ่มประสิทธิภาพ

Alias และฟังก์ชัน shell ที่ดีช่วยลดการพิมพ์ซ้ำ

# Productivity shell aliases and functions
# Add to ~/.zshrc or ~/.bashrc

# Navigation
alias ..='cd ..'
alias ...='cd ../..'

# Safety nets
alias rm='rm -i'            # confirm before delete
alias cp='cp -i'            # confirm before overwrite
alias mv='mv -i'

# One-line process management
alias psg='ps aux | grep -v grep | grep -i'
alias ports='ss -tlnp'      # listening ports (Linux)
alias myip='curl -s ifconfig.me'

# Git shortcuts
alias gs='git status -sb'
alias ga='git add -p'       # interactive staging
alias gl='git log --oneline --graph --decorate -20'

# Modern replacements (if installed)
command -v fd  > /dev/null && alias find='fd'
command -v rg  > /dev/null && alias grep='rg'
command -v bat > /dev/null && alias cat='bat --paging=never'
command -v eza > /dev/null && alias ls='eza'

# Useful functions
mkcd() { mkdir -p "$1" && cd "$1"; }          # mkdir + cd
extract() {                                    # universal archive extractor
  case "$1" in
    *.tar.gz)  tar xzf "$1"  ;;
    *.tar.bz2) tar xjf "$1"  ;;
    *.zip)     unzip "$1"    ;;
    *.gz)      gunzip "$1"   ;;
    *.7z)      7z x "$1"     ;;
    *) echo "Unknown format: $1" ;;
  esac
}

การเปรียบเทียบเครื่องมือแบบคลาสสิกและสมัยใหม่

ClassicModernLanguageKey Improvements
findfdRustRespects .gitignore, case-insensitive by default, regex support
grepripgrep (rg)Rust10-100x faster, parallel search, respects .gitignore
catbatRustSyntax highlighting, line numbers, git diff integration
lsezaRustColors, git status, icons, tree view, human sizes default
diff / git diffdeltaRustSyntax highlighting, side-by-side, line numbers, themes
cdzoxide (z)RustFrecency-based jump, interactive with fzf (zi)
Ctrl+R historyfzfGoFuzzy search, composable with any command, preview pane
python -m json.tooljqCFilter, transform, query — full DSL for JSON
curlhttpie / xhPython/RustHuman-readable output, auto JSON, session management

คำถามที่พบบ่อย

เครื่องมือเหล่านี้ใช้งานได้บน macOS ไหม?

ใช่ ทั้งหมดเป็น cross-platform ติดตั้งผ่าน Homebrew หรือ apt/dnf

การใช้ alias grep เป็น rg ปลอดภัยไหม?

สำหรับการใช้งานเชิงโต้ตอบ ใช่ แต่ระวังในสคริปต์

fzf และ zoxide แตกต่างกันอย่างไร?

พวกเขาแก้ปัญหาที่แตกต่างกันและเสริมซึ่งกันและกัน

ควรใช้ HTTPie หรือ curl ในสคริปต์?

curl พกพาได้ดีกว่าสำหรับการทำงานอัตโนมัติ HTTPie/xh ดีกว่าสำหรับการพัฒนาเชิงโต้ตอบ

เครื่องมือที่เกี่ยวข้อง

𝕏 Twitterin LinkedIn
บทความนี้มีประโยชน์ไหม?

อัปเดตข่าวสาร

รับเคล็ดลับการพัฒนาและเครื่องมือใหม่ทุกสัปดาห์

ไม่มีสแปม ยกเลิกได้ตลอดเวลา

ลองเครื่องมือที่เกี่ยวข้อง

{ }JSON FormatterCron Expression Parser.*Regex Tester

บทความที่เกี่ยวข้อง

สรุปคำสั่ง Linux ที่จำเป็นสำหรับนักพัฒนา

คู่มืออ้างอิงคำสั่ง Linux ฉบับสมบูรณ์สำหรับนักพัฒนา จัดการไฟล์ ประมวลผลข้อความ เครือข่าย สิทธิ์ จัดการโปรเซส และคำสั่งบรรทัดเดียวพร้อมตัวอย่าง

สรุปคำสั่ง Linux: 50 คำสั่งที่จำเป็น

เชี่ยวชาญ 50 คำสั่ง Linux ที่จำเป็นแยกตามหมวดหมู่: จัดการไฟล์, ประมวลผลข้อความ, เครือข่าย, จัดการ process และการดูแลระบบ

Git Commands Cheat Sheet: คำสั่งสำคัญที่นักพัฒนาทุกคนต้องรู้

Cheat sheet คำสั่ง Git ฉบับสมบูรณ์: การตั้งค่า branching merging rebasing stashing และ workflow ขั้นสูง