DevToolBoxFREE
BlogAdvertise

เครื่องมือ 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
บทความนี้มีประโยชน์ไหม?

Stay Updated

Get weekly dev tips and new tool announcements.

No spam. Unsubscribe anytime.

Partner Picks

Sponsor this article

Place your product next to this developer topic with tracked clicks.

Ask about article sponsorship

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

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

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

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

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

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

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

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

This site uses cookies for analytics and to display ads. By continuing to browse, you agree. Privacy Policy