
Linux CLI hiện đại thay đổi cách bạn làm việc
Linux CLI đang phát triển mạnh mẽ với hàng loạt công cụ mới thay thế trực tiếp những tiện ích cổ điển như find, grep, ls, cat, ps. Những công cụ này được viết lại bằng Rust và Go, mang lại tốc độ nhanh hơn, output có màu sắc và trực quan hơn, tích hợp Git, syntax highlighting ngay từ đầu.
Nếu bạn vẫn dùng grep -r để tìm kiếm hay ls -la để liệt kê file, đã đến lúc nâng cấp. Bài viết này tổng hợp các công cụ Linux CLI hiện đại phổ biến nhất, cách cài đặt và lý do bạn nên thay thế ngay.

fzf: tìm kiếm tương tác mọi thứ
fzf là công cụ fuzzy finder dùng để tìm kiếm bất kỳ thứ gì trong terminal: file, lịch sử lệnh, process, host, commit Git. Thay vì nhớ đúng tên file, bạn chỉ cần gõ vài ký tự, fzf sẽ lọc ra kết quả phù hợp.
- Tích hợp trực tiếp với
Ctrl+Rđể tìm lệnh đã chạy trước đó - Hỗ trợ preview window khi duyệt file hoặc commit
- Kết hợp với
fd,ripgrepđể tạo workflow mạnh mẽ - Hỗ trợ multi-select và custom key bindings
# Tìm và mở file nhanh
fzf --preview 'bat --color=always {}'
Để cài đặt, dùng package manager của distro: sudo apt install fzf (Ubuntu/Debian), sudo pacman -S fzf (Arch), hoặc brew install fzf (macOS). Sau khi cài, chạy fzf --bash hoặc fzf --zsh để tích hợp shell.

fd: thay thế find đơn giản và nhanh
fd là công cụ tìm kiếm file thay thế cho find với cú pháp trực quan hơn. Nó mặc định không phân biệt hoa thường, bỏ qua file trong .gitignore, chạy song song nhiều luồng tận dụng đa nhân CPU.
fd rust
fd -e py --type f
fd --hidden --exclude .git
So với find / -name '*.rs' -type f 2>/dev/null, fd chỉ cần fd rs cho cùng kết quả nhưng nhanh hơn nhiều nhờ bỏ qua thư mục ẩn và dùng threading. Tích hợp với fzf: fd --type f | fzf để chọn file tương tác.

bat: cat với syntax highlighting
Thay vì cat file.py thuần túy, bat hiển thị mã nguồn có màu sắc, đánh số dòng, tự động nhận diện ngôn ngữ lập trình. Nó còn hiển thị thay đổi so với index Git ở cột bên trái (dấu + và -).
bat main.py
bat --plain main.py # tắt màu khi pipe sang lệnh khác
bat --theme=Dracula # đổi theme màu
Bat cũng hỗ trợ hiển thị file lớn bằng pager tự động (less), và làm man page đẹp hơn khi dùng export MANPAGER="sh -c 'col -bx | bat -l man -p'".
ripgrep: grep tốc độ cao
ripgrep (rg) tìm kiếm nội dung trong file nhanh hơn grep rất nhiều nhờ viết bằng Rust. Nó tự động bỏ qua file trong .gitignore, hỗ trợ regex PCRE2, Unicode, và hiển thị kết quả có màu.
rg "TODO" src/
rg -t py "import"
rg --files-with-matches "password"
Cú pháp rg pattern path thay vì grep -r pattern path. Dùng --no-ignore để tìm cả file trong .gitignore, --hidden để tìm file ẩn. Kết hợp với fzf: rg --files | fzf.
eza: ls hiện đại cho thế hệ mới
eza là bản nâng cấp của ls với icon, màu sắc, hiển thị thông tin Git, symlink, và metadata. Nó nhẹ, nhanh, chỉ là một binary đơn lẻ, không phụ thuộc thư viện phức tạp.
eza -la --icons --git
eza --tree --level=2 --icons
eza --long --header --git --icons
Các flag quan trọng: --icons hiển thị icon file type (cần Nerd Font), --git hiển thị trạng thái Git (modified, new, ignored), --tree hiển thị dạng cây thư mục. Alias thường dùng: alias ls='eza --icons', alias ll='eza -la --icons --git'.
jq: xử lý JSON trong terminal
Khi làm việc với API, jq là công cụ không thể thiếu để parse, lọc, định dạng JSON trực tiếp trong Linux CLI. Thay vì copy JSON vào Python hay JS, bạn có thể xử lý ngay tại shell.
curl -s https://api.example.com/data | jq '.results[] | .name'
echo '{"a":1,"b":2}' | jq '.a + .b'
jq -r '.[] | select(.active==true) | .name' data.json
dust: du trực quan hơn
dust thay thế du với hiển thị thanh ngang, tự động sắp xếp theo dung lượng lớn nhất, bỏ qua thư mục giống nhau. Rất hữu ích khi cần tìm folder chiếm nhiều dung lượng.
dust -d 2
dust -r # sắp xếp ngược, nhỏ nhất lên đầu
procs: ps thân thiện
procs thay thế ps với màu sắc, cột linh hoạt, tìm kiếm tương tác, và hiển thị thông tin rõ ràng hơn. Bạn có thể xem tree process hoặc lọc theo port, user.
procs --tree
procs -p 8080
procs --watch # cập nhật realtime
Kết luận
Bộ công cụ Linux CLI hiện đại không chỉ đẹp hơn mà còn giúp bạn làm việc nhanh hơn đáng kể. Bắt đầu từ việc thay alias cơ bản: alias cat=bat, alias ls='eza --icons', alias grep=rg, alias find=fd. Sau đó khám phá fzf và jq để tối ưu hóa workflow hàng ngày. Tương lai của terminal là sự kết hợp giữa tốc độ, trực quan và tương tác.
