Image default
Máy Tính

Nâng Cấp Trải Nghiệm Terminal Linux: 7 Tiện Ích Mạnh Mẽ Bạn Không Thể Bỏ Qua

Terminal trên Linux là một công cụ không thể thiếu đối với bất kỳ người dùng nào, từ lập trình viên đến quản trị viên hệ thống. Tuy nhiên, bạn có bao giờ cảm thấy các tiện ích dòng lệnh tiêu chuẩn như cat, grep, find hay ls khá nhàm chán và thiếu đi sự hiện đại? Chức năng của chúng rất quan trọng, nhưng chúng lại không cung cấp một trải nghiệm trực quan hay hiệu quả tối ưu. May mắn thay, cộng đồng mã nguồn mở đã tạo ra vô số các tiện ích nâng cấp, giúp “làm đẹp” và tăng tốc các hoạt động hàng ngày của bạn trên terminal. Bài viết này của trithuccongnghe.net sẽ giới thiệu đến bạn 7 tiện ích terminal vượt trội, hứa hẹn sẽ thay đổi hoàn toàn cách bạn tương tác với hệ điều hành Linux. Chúng không chỉ bổ sung màu sắc sinh động mà còn cải thiện đáng kể hiệu suất và tính năng, giúp bạn làm việc nhanh hơn và hiệu quả hơn.

bat: “Mèo” Nâng Cấp Với Cú Pháp Đầy Màu Sắc

cat là một trong những lệnh đầu tiên mà nhiều người dùng Linux học và nó vẫn là một trong những lệnh được sử dụng thường xuyên nhất. Tuy nhiên, nó đã thể hiện sự lỗi thời khi chỉ hiển thị văn bản thuần túy, không định dạng. Điều này thường gây khó khăn khi đọc các tệp phức tạp như tệp cấu hình, mã nguồn, JSON hoặc YAML.

bat chính là một phiên bản nâng cấp của cat, nhưng tốt hơn rất nhiều. Nó giải quyết vấn đề dễ đọc bằng cách tô màu các tệp phức tạp thông qua tính năng highlight cú pháp (syntax highlighting). Điều này giúp các phần và ranh giới trong tệp trở nên rõ ràng hơn, dễ đọc hơn rất nhiều.

bat còn có một số tính năng bổ sung hấp dẫn, như tích hợp với Git để đánh dấu các dòng đã thay đổi. Nó cũng có thể hoạt động cùng với các công cụ khác như fzf hoặc find để hiển thị cửa sổ xem trước có màu. bat có sẵn rộng rãi và bạn có thể tìm thấy nó trong hầu hết các kho lưu trữ của các bản phân phối Linux.

Cửa sổ terminal hiển thị mã nguồn với highlight cú pháp từ lệnh bat.Cửa sổ terminal hiển thị mã nguồn với highlight cú pháp từ lệnh bat.

ripgrep: Sức Mạnh Tìm Kiếm Vượt Trội Của grep

Giống như các tiện ích khác mà chúng tôi sẽ đề cập, ripgrep là một bản nâng cấp so với đối tác tiêu chuẩn của nó là grep. Điểm bán hàng chính của nó là tốc độ: nó thực hiện nhiều tìm kiếm song song, trong khi grep chỉ tìm kiếm tuần tự. ripgrep tận dụng sức mạnh của các CPU hiện đại bằng cách phân tán công việc của nó trên tất cả các lõi CPU.

ripgrep không chỉ cực kỳ nhanh mà còn có một danh sách dài các tính năng hữu ích, như phát hiện chữ hoa thông minh (smart case detection), bỏ qua các tệp và thư mục cụ thể, và tích hợp với các ứng dụng khác.

Tính năng phát hiện chữ hoa thông minh là một tính năng đơn giản và thanh lịch mà đáng lẽ nên có trong mọi chức năng tìm kiếm. Nó có nghĩa là nếu bạn sử dụng chữ cái viết hoa trong từ khóa tìm kiếm của mình, thì tìm kiếm sẽ trở thành phân biệt chữ hoa/thường. Đây là một tính năng tiện ích thường bị thiếu.

ripgrep cũng bỏ qua các tệp và thư mục cụ thể, theo chỉ dẫn của tệp .gitignore hoặc ignore. Ví dụ, tệp sau đây sẽ khiến ripgrep bỏ qua tất cả các hình ảnh có tên foo.jpg hoặc các thư mục có tên ignored_dir.

ignored_dir/**/foo.jpg

ripgrep có khả năng tích hợp tuyệt vời với các ứng dụng khác. Emacs, Vim, Neovim và fzf đều có các tiện ích mở rộng của bên thứ ba cung cấp tích hợp ripgrep; điều này cho phép các ứng dụng này tận dụng khả năng tìm kiếm mạnh mẽ của ripgrep một cách trực tiếp. fzf (một tiện ích khác) cung cấp các tính năng nâng cao hoạt động tốt với ripgrep, như bạn sẽ thấy sau.

Chưa hết, ripgrep cũng có thể tìm kiếm trong các tệp nén với cờ -Z. Nếu bạn có một thư mục lớn chứa các tệp văn bản và tệp nén, ripgrep có thể xử lý tất cả mà không cần giải nén thủ công. Mặc dù nó không hiển thị nhiều chi tiết về kết quả trùng khớp, nhưng nó thực sự tiết kiệm rất nhiều thời gian và sự phức tạp.

ripgrep có sẵn trong hầu hết các kho lưu trữ của các bản phân phối, vì vậy hãy tham khảo hướng dẫn của bản phân phối của bạn để cài đặt gói.

Kết quả tìm kiếm ripgrep trong terminal, từ khóa được highlight màu đỏ.Kết quả tìm kiếm ripgrep trong terminal, từ khóa được highlight màu đỏ.

delta: Tối Ưu Hiển Thị Kết Quả Tìm Kiếm ripgrep

delta thường dành cho các lập trình viên và nó là một trong những tiện ích yêu thích của chúng tôi. ripgrep làm rất tốt việc nhanh chóng “xuyên thủng” các tệp để tìm chính xác những gì bạn cần; nó có các tính năng hiện đại và cú pháp tìm kiếm nâng cao. Tuy nhiên, đầu ra của nó khá “nhạt nhẽo” vì thiếu màu sắc và ngữ cảnh. Mặc dù một số người có thể cho rằng nó đơn giản và chỉ tập trung vào từ khóa tìm kiếm, nhưng chúng tôi thấy rằng mình cần nhiều hơn thế. Khi tìm kiếm mã, chúng tôi muốn thấy ngữ cảnh xung quanh và màu sắc, vì cả hai đều giúp phân biệt đâu là cái cần thiết.

Đối với những bạn là lập trình viên (hoặc mới bắt đầu), delta áp dụng highlight cú pháp cho đầu ra của ripgrep. Nó cũng cung cấp các tính năng bổ sung để tích hợp với Git, một hệ thống quản lý tài liệu. Ví dụ, nó cung cấp một chế độ xem song song đẹp mắt về các thay đổi đối với tài liệu (còn gọi là diff, viết tắt của difference).

Git có thể quản lý bất kỳ loại tài liệu văn bản nào, và mọi người thường sử dụng nó để lưu các “dotfiles” của họ (các tệp cấu hình bắt đầu bằng dấu chấm). Nếu bạn quan tâm đến việc lưu các dotfiles của mình, chúng tôi thực sự khuyên bạn nên lưu chúng bằng Git. Trong trường hợp đó, delta cũng rất đáng để xem xét, chỉ riêng với tính năng xem diff của nó đã đủ giá trị.

Bạn có thể cài đặt delta thông qua các kho lưu trữ chính thức cho Debian, Ubuntu, Fedora, Arch Linux và một số bản phân phối khác, dưới tên git-delta. Nó cũng có sẵn thông qua Homebrew và Nix.

fd: Tìm Kiếm File Nhanh Hơn, Đẹp Hơn find

Như tiêu đề đã nói, fd rất giống find, ngoại trừ việc nó nhanh hơn đáng kể và có màu sắc đẹp hơn. Màu sắc, như đã đề cập trước đây, giúp kết quả tìm kiếm dễ đọc và phân biệt hơn. fd mã hóa màu các loại tệp và đường dẫn thư mục khác nhau.

Ngoài việc sử dụng màu sắc, fd còn duyệt qua nhiều cây thư mục song song, tận dụng nhiều lõi trong các CPU hiện đại. Khả năng này không chỉ mở rộng đến việc duyệt thư mục; nó còn áp dụng cho việc thực thi lệnh nữa. Khi bạn sử dụng cờ -X, fd chạy một lệnh song song với mỗi kết quả trùng khớp.

fd foo.txt -x bat --color=always

Giống như ripgrep, fd cũng hỗ trợ tìm kiếm smart case, và nó cũng tuân theo tệp .gitignore, vì vậy các tìm kiếm sẽ tiện lợi hơn và loại bỏ nhiễu theo mặc định.

fd có sẵn cho hầu hết mọi bản phân phối, vì vậy để cài đặt nó, hãy tham khảo trình quản lý gói hoặc hướng dẫn của bản phân phối của bạn.

Cửa sổ terminal hiển thị danh sách đường dẫn file, kết quả tìm kiếm từ lệnh fd.Cửa sổ terminal hiển thị danh sách đường dẫn file, kết quả tìm kiếm từ lệnh fd.

eza: Hiện Đại Hóa Lệnh ls Với Màu Sắc và Biểu Tượng

eza là một phiên bản hiện đại của lệnh ls tiêu chuẩn, và các tính năng chính của nó là hỗ trợ màu sắc tốt hơn và biểu tượng. Mặc dù không cần thiết, chúng tôi thấy biểu tượng là một điểm nhấn thú vị, nhưng đối với chúng tôi, màu sắc là điều cần thiết.

eza có một số tính năng thú vị khác, như chế độ xem dạng cây (tree view) và siêu liên kết (hyperlinks). Ví dụ, cờ hyperlinks chuyển đổi tất cả tên tệp và thư mục thành các liên kết có thể nhấp bằng định dạng OSC 8. Hầu hết các terminal đều hỗ trợ các liên kết này, nhưng để chắc chắn, bạn có thể tham khảo danh sách không chính thức các terminal hỗ trợ siêu liên kết OSC 8. Mỗi terminal là khác nhau và bạn có thể cần kích hoạt nó theo cách thủ công.

Điểm tuyệt vời nhất là các siêu liên kết cũng hoạt động với chế độ xem cây, có nghĩa là bạn có thể nhanh chóng điều hướng các thư mục lớn. Tuy nhiên, một vấn đề mà chúng tôi nhận thấy là chế độ xem cây của eza chậm hơn nhiều so với lệnh tree tiêu chuẩn: tree sẽ hiển thị kết quả khi chúng được tìm thấy, trong khi eza sẽ duyệt toàn bộ (đôi khi rất lớn) thư mục và hiển thị tất cả cùng một lúc – điều này có thể mất một chút thời gian, nhưng nó có màu sắc đẹp và các liên kết có thể nhấp!

Cuối cùng, việc gõ eza --icons mỗi lần khá khó chịu, vì vậy bạn có thể muốn đọc hướng dẫn của chúng tôi về cách tạo một alias.

eza có sẵn cho hầu hết các bản phân phối phổ biến, vì vậy bạn có thể tham khảo trình quản lý gói của bản phân phối của mình. Tuy nhiên, việc cài đặt trên Debian và Ubuntu yêu cầu một kho APT tùy chỉnh, nhưng trang chủ của eza có đề cập đến điều này.

fzf History Search: Tìm Kiếm Lịch Sử Lệnh Mờ Không Thể Thiếu

Dù bạn là người mới bắt đầu hay một người dùng kỳ cựu, việc sử dụng một công cụ tìm kiếm mờ (fuzzy search) cho lịch sử shell của bạn là điều cần thiết – đây là công cụ quan trọng nhất mà chúng tôi có. Việc gõ các lệnh rất tẻ nhạt, vì vậy chúng tôi chỉ muốn làm điều đó một lần. Việc tìm kiếm các lệnh trước đó cũng tẻ nhạt, bởi vì việc sử dụng các phím lên và xuống làm chậm quy trình làm việc của chúng tôi. Một công cụ tìm kiếm mờ giải quyết cả hai vấn đề này.

Nếu bạn không biết tìm kiếm mờ là gì, nó đơn giản có nghĩa là tìm kiếm gần đúng. Ví dụ, gõ emp hoặc xpe sẽ khớp với example. Tại sao điều đó quan trọng? Bởi vì chúng ta không thể nhớ một lệnh đã gõ hai tháng trước, hoặc vì việc chuyển đổi nhanh chóng giữa nhiều lệnh gây gánh nặng cho bộ nhớ. Chúng ta chỉ cần nhớ một vài ký tự trong lệnh, và công cụ tìm kiếm mờ sẽ nhanh chóng thu hẹp tìm kiếm trong thời gian thực.

Trong nhiều năm, chúng tôi đã dựa vào plugin fzf History Search cho zsh. Ngoài ra, có một công cụ độc lập tên là Atuin gần như tương tự. Cả hai đều thực hiện một công việc đơn giản nhưng hiệu quả.

Tham khảo kho lưu trữ GitHub của fzf History Search để biết hướng dẫn cài đặt. Bạn cũng có thể muốn theo dõi các hướng dẫn của chúng tôi về cách cài đặt Oh-My-Zsh và cách cài đặt fzf. Một cách tiếp cận thay thế và dễ dàng hơn là đọc hướng dẫn của chúng tôi về cách cài đặt và sử dụng Atuin.

Danh sách các lệnh trong lịch sử shell được tìm kiếm bằng fzf History Search.Danh sách các lệnh trong lịch sử shell được tìm kiếm bằng fzf History Search.

Script Bonus: Tìm Kiếm File Chuyên Nghiệp Kết Hợp fzf, ripgrep, bat

Nếu bạn đã cài đặt fzf, ripgrepbat, bạn có thể sử dụng lệnh tuyệt vời sau để tìm kiếm mờ hệ thống tệp của mình và mở các dòng khớp trong trình soạn thảo văn bản yêu thích của bạn. Đặt lệnh sau vào tệp .bashrc của bạn và sau đó tải lại nó bằng source ~/.bashrc. Tham khảo hướng dẫn của chúng tôi về cách hoạt động của tệp .bashrc để biết thêm thông tin.

s () {
  fzf --ansi --disabled 
      --bind "change:reload:command 
          rg --line-number --no-heading --color=always --smart-case {q} 
          || :" 
      --bind "enter:execute(${EDITOR:-nano} +{2} {1})" 
      --delimiter ":" 
      --preview "command bat -p --color=always {1} --highlight-line {2}" 
      --preview-window 'up:80%,border-bottom,~3,+{2}+3/3'
}

Lệnh trước đó mặc định mở tệp trong nano, nhưng bạn có thể đặt nó để sử dụng Vim, Neovim, Emacs và một số trình soạn thảo khác. Chỉ cần đặt biến EDITOR trong .bashrc của bạn và tải lại nó:

export EDITOR=nvim

Để sử dụng script, bạn chỉ cần chuyển đến một thư mục chứa các tệp văn bản và gõ chữ “s”. Mặc dù lệnh này sẽ chấp nhận các từ thông thường cho các cụm từ tìm kiếm, bạn có thể tăng đáng kể độ chính xác của nó nếu bạn theo dõi hướng dẫn của chúng tôi về Regex, một cú pháp tìm kiếm nâng cao mà bạn có thể học trong một giờ.

Màn hình terminal chia đôi hiển thị mã nguồn (trên) và danh sách đường dẫn file (dưới) với script tìm kiếm.Màn hình terminal chia đôi hiển thị mã nguồn (trên) và danh sách đường dẫn file (dưới) với script tìm kiếm.

Kết Luận

Các tiện ích dòng lệnh tiêu chuẩn của Linux tuy cần thiết nhưng có thể thiếu đi sự hấp dẫn và hiệu quả mà người dùng hiện đại mong muốn. Bằng cách thay thế hoặc bổ trợ chúng với bat, ripgrep, delta, fd, ezafzf History Search, bạn sẽ không chỉ nâng tầm trải nghiệm terminal của mình lên một cấp độ mới mà còn cải thiện đáng kể năng suất làm việc. Từ việc highlight cú pháp đẹp mắt, tìm kiếm siêu tốc, đến quản lý lịch sử lệnh thông minh, những công cụ này mang lại sự tiện lợi và sức mạnh mà bạn không muốn bỏ lỡ. Đối với những người dùng chuyên nghiệp, chúng trở thành những công cụ không thể thiếu trong bộ công cụ hàng ngày. Hãy bắt đầu khám phá và tích hợp chúng vào quy trình làm việc của bạn để tận hưởng một môi trường terminal hiện đại, hiệu quả và trực quan hơn.

Related posts

Cách Tắt Tính Năng Tự Khởi Động Trên MacBook (Apple Silicon & Intel)

Administrator

Xếp Hạng 9 Bản Phân Phối Linux Tốt Nhất Theo Trải Nghiệm Cá Nhân Của Một Chuyên Gia

Administrator

Chấm Dứt Doomscrolling: 10 Cách Hiệu Quả Giúp Bạn Ngừng Lướt Tin Tiêu Cực Trên Điện Thoại

Administrator