Nếu bạn đã dành một khoảng thời gian đáng kể với Linux, có khả năng bạn đã trở nên thành thạo với các tiện ích dòng lệnh truyền thống của nó, như ls
, grep
, và ps
. Những công cụ này đã tồn tại từ những ngày đầu của UNIX. Chúng đáng tin cậy, đã được kiểm chứng qua nhiều trận chiến và có mặt trên hầu hết mọi hệ thống Linux, nhưng chúng cũng được xây dựng trong một kỷ nguyên điện toán rất khác.
Bạn có thể đã nhận thấy một làn sóng mới của các công cụ giao diện dòng lệnh (CLI) thân thiện với người dùng hơn và thường đi kèm với những cải tiến như tô sáng cú pháp (syntax highlighting), cài đặt mặc định thông minh hơn và hiệu suất tốt hơn. Các chương trình này không có sẵn rộng rãi, vì vậy bạn sẽ cần tự cài đặt chúng. Nếu bạn quản lý (hoặc có kế hoạch quản lý) nhiều máy chủ Linux, có lẽ tốt nhất là nên gắn bó với các công cụ cũ. Nhưng nếu không phải vậy, những lựa chọn thay thế hiện đại này chắc chắn rất đáng để bạn khám phá. Chúng tôi đã có trải nghiệm tốt với một số trong số đó.
1. HTTPie thay thế curl và wget
Trình khách HTTP được xây dựng cho con người
HTTPie là một trình khách HTTP dòng lệnh được xây dựng cho con người. Không giống như curl
hoặc wget
, vốn có thể cảm thấy khó hiểu hoặc dài dòng, HTTPie sử dụng cú pháp rõ ràng, tự nhiên để thực hiện các yêu cầu HTTP. Điều này đặc biệt hữu ích khi kiểm thử các API. Các phản hồi JSON được tự động định dạng đẹp mắt (pretty-printed) và tô sáng cú pháp, giúp dễ dàng kiểm tra dữ liệu mà không cần công cụ bổ sung. Nó hỗ trợ tất cả các phương thức tiêu chuẩn như GET, POST, PUT và DELETE, thậm chí còn xử lý các biểu mẫu và tải lên tệp một cách duyên dáng. Đối với các nhà phát triển làm việc với API RESTful, HTTPie giúp giảm tải nhận thức và làm cho việc gỡ lỗi trở nên trực quan hơn.
2. Bat là công cụ thay thế cat thông minh hơn
Mang đến những tính năng đã quá lâu rồi cần có
Trong khi cat
là một công cụ cơ bản để xem nội dung tệp, bat
còn tiến xa hơn với các tính năng đáng lẽ phải có từ lâu. Nó bổ sung tính năng tô sáng cú pháp cho hơn một trăm ngôn ngữ lập trình, hiển thị số dòng và tích hợp với Git để hiển thị các thay đổi tệp trực tiếp trong terminal. Nếu bạn là một lập trình viên, bạn sẽ đánh giá cao sự tích hợp Git của bat
. Đầu ra của công cụ này sẽ bao gồm các chú thích cho các dòng có thay đổi cục bộ, ở thanh bên. Bat cũng hoạt động như một công cụ phân trang (pager), giúp các tệp lớn không làm tràn màn hình của bạn và nó hoạt động khá tốt với các công cụ khác thông qua việc sử dụng ống dẫn (piping).
bat hiển thị mã nguồn với tính năng tô sáng cú pháp và số dòng trên Linux
3. Ncdu đơn giản hóa việc xem dung lượng ổ đĩa trực quan
Giúp việc dọn dẹp ổ đĩa trở nên dễ dàng hơn nhiều
Dọn dẹp không gian ổ đĩa dễ dàng hơn nhiều với ncdu
, một giao diện dựa trên curses
được xây dựng trên lệnh du
truyền thống. Thay vì phải phân tích thông qua các danh sách dài về số lượng byte, ncdu
cung cấp một giao diện người dùng tương tác nơi bạn có thể điều hướng các thư mục, sắp xếp theo kích thước và xóa tệp trực tiếp. Tôi thấy điều này đặc biệt hữu ích qua SSH, nơi các công cụ đồ họa không phải là một lựa chọn. Ncdu làm nổi bật các thư mục chiếm nhiều không gian nhất, vì vậy bạn có thể nhanh chóng nhắm mục tiêu các khu vực có vấn đề. Nó thực tế hơn nhiều so với việc chạy du -sh
trên nhiều thư mục theo cách thủ công.
4. Htop là cách tốt hơn để xem các tiến trình hệ thống
top
, nhưng tốt hơn rất nhiều
Htop là công cụ yêu thích của chúng tôi trong số tất cả các công cụ ở đây, và vì những lý do chính đáng. Nó loại bỏ mọi thứ gây khó chịu về top
và khắc phục chúng. Htop hiển thị các tiến trình đang chạy trong một giao diện tương tác, đầy màu sắc, hoàn chỉnh với các hình ảnh trực quan về mức sử dụng CPU, bộ nhớ và swap. Không giống như top
, htop
hỗ trợ nhập liệu bằng chuột và cho phép bạn dễ dàng cuộn cả theo chiều dọc và chiều ngang. Bạn có thể tìm kiếm, lọc, kill hoặc thay đổi ưu tiên (renice) các tiến trình chỉ với vài lần gõ phím. Nó cũng hiển thị các mối quan hệ cha-con trong cây tiến trình, giúp dễ dàng hiểu được tài nguyên nào đang được sử dụng và tại sao. Htop đặc biệt tiện lợi trong quá trình gỡ lỗi hiệu suất hoặc khi quản lý máy chủ trong thời gian thực.
5. fd thay thế lệnh find
fd giúp việc tìm kiếm file dễ dàng hơn
Lệnh find
rất mạnh mẽ nhưng chúng tôi thấy nó nổi tiếng là khó nhớ. fd
đơn giản hóa việc tìm kiếm tệp với cú pháp sạch hơn nhiều và các cài đặt mặc định hợp lý. Nó bỏ qua các tệp ẩn và thư mục .git
theo mặc định, chạy tìm kiếm song song và hỗ trợ các mẫu biểu thức chính quy (regex) và glob ngay từ đầu. Bạn có thể tìm kiếm theo loại tệp, phần mở rộng, tên hoặc nội dung với ít thao tác gõ nhất. Đầu ra được mã hóa màu sắc và nhanh chóng, ngay cả trên các cây thư mục lớn.
Màn hình hiển thị lệnh fd tìm kiếm chuỗi trong các tập tin trên hệ điều hành Linux
6. Ripgrep để tìm kiếm nhanh
grep
tốt hơn mà tất cả chúng ta đều xứng đáng có
Nếu bạn đã từng cảm thấy khó chịu với những điểm kỳ quặc của grep
, thì ripgrep
chính là giải pháp mà bạn đang tìm kiếm. Ripgrep (rg
) là một công cụ thay thế grep
trong hầu hết mọi trường hợp. Được viết bằng Rust, nó được tối ưu hóa cho tốc độ và tôn trọng các tệp .gitignore
theo mặc định, khiến nó trở nên hoàn hảo để tìm kiếm trong các cơ sở mã.
Ripgrep có thể tìm kiếm đệ quy thông qua các thư mục, hỗ trợ biểu thức chính quy và xử lý các tệp lớn một cách duyên dáng. Không giống như grep
, bạn không cần phải nhớ các cờ dài để có được đầu ra màu sắc hoặc tìm kiếm đệ quy. Nó chỉ đơn giản là hoạt động. Ripgrep cũng chạy nhanh hơn grep
và các lựa chọn thay thế khác, và đầu ra mặc định của nó thường là những gì chúng ta đang tìm kiếm, với tính năng tô sáng cú pháp và số dòng là tiêu chuẩn.
Giao diện công cụ ripgrep hiển thị kết quả tìm kiếm nhanh trên Ubuntu Linux
Nhìn xa hơn các lựa chọn thông thường
Linux cung cấp một bộ sưu tập khổng lồ các ứng dụng mã nguồn mở cho hầu hết mọi thứ. Các công cụ dòng lệnh hiện đại được đề cập trong bài viết này chỉ là một phần nhỏ trong số những cải tiến mà bạn có thể trải nghiệm khi làm việc trên Linux. Việc khám phá và áp dụng chúng không chỉ giúp nâng cao năng suất mà còn mang lại trải nghiệm làm việc thoải mái và hiệu quả hơn.
Hãy chia sẻ ý kiến của bạn trong phần bình luận bên dưới về những công cụ dòng lệnh hiện đại nào bạn yêu thích và đã thay đổi cách bạn làm việc trên Linux!