Image default
Máy Tính

Nâng Cấp Terminal Linux: 7 Công Cụ Hiện Đại Giúp Tăng Năng Suất Vượt Trội

Bạn có bao giờ cảm thấy các tiện ích tiêu chuẩn trên Linux thật tẻ nhạt không? Chức năng của chúng là thiết yếu, nhưng chúng lại thiếu đi sự hấp dẫn. Sẽ thế nào nếu bạn có thể “thổi hồn” vào các đầu ra đó bằng những màu sắc rực rỡ, hay thậm chí tăng tốc độ xử lý? Các tiện ích dòng lệnh (terminal utilities) được giới thiệu dưới đây sẽ làm được điều đó và hơn thế nữa, giúp bạn biến terminal Linux nhàm chán trở thành một môi trường làm việc mạnh mẽ và trực quan hơn. Từ việc tô màu cú pháp, 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 sẽ cách mạng hóa trải nghiệm của bạn với hệ điều hành Linux.

bat: Thay Thế cat Với Tô Màu Cú Pháp Vượt Trội

Cửa sổ terminal hiển thị mã nguồn được tô màu cú pháp bởi tiện ích bat, giúp đọc code dễ dàng hơn trên Linux.Cửa sổ terminal hiển thị mã nguồn được tô màu cú pháp bởi tiện ích bat, giúp đọc code dễ dàng hơn trên Linux.

Lệnh cat là một trong những lệnh đầu tiên mà nhiều người dùng Linux học và sử dụng thường xuyên. Tuy nhiên, nó đang dần lỗi thời vì chỉ hiển thị văn bản thuần túy, không định dạng. Điều này gây khó khăn khi đọc các tệp phức tạp như tệp cấu hình (config files), mã nguồn (code), JSON hay YAML, khiến việc nắm bắt cấu trúc và nội dung trở nên kém hiệu quả.

bat chính là một phiên bản nâng cấp hoàn hảo của cat. Nó giải quyết triệt để vấn đề khả năng đọc bằng cách tô màu cú pháp (syntax highlighting) cho các tệp phức tạp. Nhờ đó, các phần và ranh giới trong tệp trở nên rõ ràng hơn, giúp người dùng dễ dàng đọc và hiểu nội dung.

Ngoài tính năng tô màu, bat còn sở hữu nhiều ưu điểm khác, tăng thêm sự hấp dẫn cho tiện ích này. Nó có khả năng tích hợp với Git để đánh dấu các dòng đã thay đổi, cực kỳ hữu ích cho các nhà phát triển. Hơn nữa, bat còn có thể làm việc với các công cụ khác như fzf hay find để hiển thị cửa sổ xem trước có màu sắc. bat có mặt rộng rãi trên hầu hết các kho lưu trữ của bản phân phối Linux, giúp việc cài đặt trở nên dễ dàng.

ripgrep: grep Phiên Bản Tăng Tốc Với Tìm Kiếm Thông Minh

Kết quả tìm kiếm từ ripgrep trên terminal, từ khóa tìm kiếm được làm nổi bật màu đỏ, chứng tỏ tốc độ tìm kiếm hiệu quả.Kết quả tìm kiếm từ ripgrep trên terminal, từ khóa tìm kiếm được làm nổi bật màu đỏ, chứng tỏ tốc độ tìm kiếm hiệu quả.

Tương tự như các tiện ích khác trong danh sách này, ripgrep là một bản nâng cấp mạnh mẽ của người tiền nhiệm grep chuẩn. Điểm nổi bật nhất của ripgrep chính là tốc độ vượt trội. Nó thực hiện nhiều tìm kiếm song song, trong khi grep truyền thống thì không. 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 trên tất cả các lõi CPU, mang lại hiệu suất đáng kinh ngạc.

Không chỉ nhanh chóng, ripgrep còn được trang bị một loạt các tính năng hữu ích:

  • Phát hiện chữ hoa thông minh (Smart case detection): Một tính năng đơn giản nhưng vô cùng tinh tế. Nếu bạn sử dụng chữ hoa trong cụm từ tìm kiếm, quá trình tìm kiếm sẽ tự động trở thành phân biệt chữ hoa/thường. Đây là một tiện ích nhỏ nhưng nâng cao chất lượng trải nghiệm người dùng.
  • Bỏ qua các tệp và thư mục cụ thể: ripgrep có thể bỏ qua các tệp và thư mục theo chỉ dẫn từ tệp .gitignore hoặc ignore. Ví dụ, một tệp cấu hình như sau sẽ khiến ripgrep bỏ qua tất cả các hình ảnh có tên foo.jpg hoặc thư mục ignored_dir:
    ignored_dir/**/foo.jpg
  • Tích hợp tốt 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 khả năng tích hợp ripgrep. Điều này cho phép các ứng dụng này tận dụng trực tiếp khả năng tìm kiếm mạnh mẽ của ripgrep. fzf (một tiện ích khác) còn cung cấp các tính năng nâng cao hoạt động rất hiệu quả với ripgrep.
  • Tìm kiếm trong tệp nén: ripgrep có thể tìm kiếm thông qua các tệp nén bằng cờ -Z. Nếu bạn có một thư mục chứa nhiều 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, giúp tiết kiệm đáng kể thời gian và công sức.

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

delta: Biến Output ripgrep Thành Nghệ Thuật Với Diff Đẹp Mắt

delta là một công cụ đặc biệt hữu ích cho các lập trình viên và nhanh chóng trở thành một trong những tiện ích yêu thích. ripgrep thực hiện công việc tuyệt vời trong việc tìm kiếm nhanh chóng các tệp để tìm chính xác những gì bạn cần, với 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ó đôi khi khá đơn điệu vì thiếu màu sắc và ngữ cảnh. Mặc dù một số người có thể cho rằng điều này đơn giản và chỉ tập trung vào cụm từ tìm kiếm, nhưng tôi nhận thấy mình cần nhiều hơn thế. Khi tìm kiếm mã nguồn, việc xem ngữ cảnh xung quanh và màu sắc là rất quan trọng, vì cả hai yếu tố này giúp phân biệt thông tin cần thiết khỏi những nhiễu loạn.

Đối với những lập trình viên, delta áp dụng tô màu 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ý phiên bản tài liệu. Ví dụ, delta cung cấp một chế độ xem song song đẹp mắt về các thay đổi trong tài liệu (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á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 trữ dotfiles của mình, tôi thực sự khuyên bạn nên sử dụ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.

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 qua Homebrew và Nix.

fd: Tìm Kiếm File Nhanh Hơn find, Đẹp Hơn Với Màu Sắc

Danh sách đường dẫn file được trả về bởi lệnh fd trong terminal Linux, thể hiện khả năng tìm kiếm file nhanh và hiệu quả.Danh sách đường dẫn file được trả về bởi lệnh fd trong terminal Linux, thể hiện khả năng tìm kiếm file nhanh và hiệu quả.

Đúng như tiêu đề, fd hoạt động tương tự như find nhưng với tốc độ nhanh hơn đáng kể và màu sắc trực quan hơn. Màu sắc, như đã đề cập, giúp kết quả tìm kiếm dễ đọc và phân biệt hơn. fd mã hóa màu cho các loại tệp và đường dẫn thư mục khác nhau, giúp bạn nhanh chóng nhận diện chúng.

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 lợi thế của các lõi CPU hiện đại. Khả năng này không chỉ giới hạn ở việc duyệt thư mục; nó còn áp dụng cho việc thực thi lệnh. Khi bạn sử dụng cờ -X, fd sẽ chạy một lệnh song song với mỗi kết quả tìm kiếm. Ví dụ:

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

Giống như ripgrep, fd cũng hỗ trợ tìm kiếm smart case và tuân thủ tệp .gitignore, giúp các tìm kiếm thuận tiện hơn và tự động loại bỏ các kết quả không mong muốn.

fd có sẵn cho hầu hết các bản phân phối Linux, vì vậy để cài đặt, 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 bạn đang sử dụng.

eza: Nâng Cấp Lệnh ls Với Icon, Màu Sắc và Hyperlink

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

eza còn có một số tính năng hấp dẫn khác, như chế độ xem cây thư mục (tree view) và siêu liên kết (hyperlinks). Ví dụ, cờ hyperlinks sẽ 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 được bằng cách sử dụ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 chúng theo cách thủ công.

Điều tuyệt vời nhất là các siêu liên kết này cũng hoạt động với chế độ xem cây thư mục, cho phép bạn nhanh chóng điều hướng qua các thư mục lớn. Tuy nhiên, một vấn đề nhỏ mà tôi đã nhận thấy là chế độ xem cây thư mục của eza chậm hơn đáng kể so với lệnh tree tiêu chuẩn. tree sẽ hiển thị kết quả theo thời gian thực khi chúng được tìm thấy, trong khi eza sẽ duyệt toàn bộ thư mục (đôi khi rất lớn) 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 bù lại bạn sẽ có màu sắc đẹp mắt và các liên kết có thể nhấp!

Một lưu ý cuối cùng là việc gõ eza --icons mỗi lần khá phiền phức, vì vậy bạn có thể tạo một alias để rút ngắn lệnh.

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

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

Cửa sổ terminal hiển thị danh sách các lệnh đã gõ trước đó, được tìm kiếm bằng fzf History Search giúp quản lý lịch sử lệnh dễ dàng.Cửa sổ terminal hiển thị danh sách các lệnh đã gõ trước đó, được tìm kiếm bằng fzf History Search giúp quản lý lịch sử lệnh dễ dàng.

Dù bạn là người mới bắt đầu hay một “lão làng”, việc sử dụng công cụ tìm kiếm mờ (fuzzy search) cho lịch sử shell của bạn là điều thiết yếu—đó là công cụ quan trọng nhất đối với tôi. Gõ lại các lệnh là một việc tẻ nhạt, vì vậy tôi chỉ muốn làm điều đó một lần. Tìm kiếm các lệnh trước đó cũng tẻ nhạt không kém, vì việc sử dụng phím lên và xuống làm chậm đáng kể quy trình làm việc của 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 chưa biết tìm kiếm mờ là gì, nó đơn giản có nghĩa là một tìm kiếm xấp xỉ gần đúng. Ví dụ, gõ “emp” hoặc “xpe” có thể khớp với “example”. Tại sao điều này quan trọng? Bởi vì tôi không thể nhớ một lệnh mà tôi đã gõ cách đây hai tháng, hoặc việc nhanh chóng chuyển đổi giữa nhiều lệnh sẽ làm suy giảm trí nhớ của tôi. Tôi 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 kết quả tìm kiếm theo thời gian thực.

Trong nhiều năm, tôi đã tin tưởng 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ả.

Bạn có thể tham khảo kho GitHub của fzf History Search để biết hướng dẫn cài đặt. Bạn cũng có thể muốn tìm hiểu thêm 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 về cách cài đặt và sử dụng Atuin.

Script Thưởng: Tìm Kiếm Và Mở File Chuyên Nghiệp Với fzf, ripgrep, bat

Terminal Linux chia đôi màn hình, phần trên hiển thị mã nguồn với tô màu cú pháp từ bat, phần dưới là danh sách file tìm được bởi fzf và ripgrep.Terminal Linux chia đôi màn hình, phần trên hiển thị mã nguồn với tô màu cú pháp từ bat, phần dưới là danh sách file tìm được bởi fzf và ripgrep.

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. Hãy đặt lệnh sau vào tệp .bashrc của bạn và sau đó tải lại nó bằng source bashrc.

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ên mặc định mở các tệp bằng nano, nhưng bạn có thể thiết lập để sử dụng Vim, Neovim, Emacs và một số trình soạn thảo khác. Đơn giản chỉ cần đặt biến EDITOR trong tệp .bashrc của bạn và tải lại:

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ụ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 tìm hiểu về Regex, một cú pháp tìm kiếm nâng cao mà bạn có thể học trong vòng một giờ.


Nếu không có fzf History Search, ripgrepdelta, tôi cảm thấy mình như “mất phương hướng” khi làm việc với dòng lệnh, và vì vậy chúng thường là những công cụ đầu tiên mà tôi cài đặt. Tương tự, thiếu eza, batfd, terminal trở nên đơn điệu và khó đọc. Đây không phải là một danh sách đầy đủ, và có rất nhiều tiện ích terminal khác để bạn khám phá. Hãy bắt đầu trải nghiệm những công cụ này ngay hôm nay để nâng tầm năng suất và biến terminal Linux của bạn thành một môi trường làm việc mạnh mẽ, trực quan hơn bao giờ hết!

Related posts

AMD Threadripper 9000 Series: Sức Mạnh Đa Nhân Vượt Trội Cho Chuyên Gia

Administrator

Hướng Dẫn Tìm Ngày Tạo Tài Khoản Google Của Bạn Với Google Takeout

Administrator

Bảo vệ “kho báu” dây cáp cũ: Vì sao bạn không nên vứt bỏ chúng?

Administrator