Là một Developer, chúng ta sẽ dành nhiều thời gian cho thiết bị terminal, và có rất nhiều công cụ CLI hữu ích có thể giúp bạn sử dụng dòng lệnh dễ dàng và nhanh chóng hơn rất nhiều.

Trong bài viết này, VietnamWorks inTECH sẽ giới thiệu đến các bạn Top 50 công cụ CLI mà bạn sẽ rất cần trong công việc.

I. Tiện ích

1. thefuck - Tự động sửa các lệnh gõ sai

thefuck là một trong những tiện ích mà bạn sẽ không thể thiếu một khi đã dùng thử. Bất cứ khi nào bạn gõ sai một lệnh và gặp lỗi, chỉ cần chạy thefuck và nó sẽ tự động sửa lỗi cho bạn. Sử dụng mũi tên lên/xuống để sử dụng các tùy chọn hoặc chỉ chạy fuck --yeah để thực hiện ngay lập tức tất cả các chức năng.

2. zoxide - Điều hướng dễ dàng hơn 

z cho phép bạn chuyển đến bất kỳ thư mục nào mà bạn không cần phải nhớ hay chỉ định đường dẫn đầy đủ của thư mục đó. Nó sẽ tự động ghi nhớ những thư mục bạn đã truy cập, do đó bạn có thể di chuyển nhanh chóng - thậm chí bạn không cần nhập tên thư mục đầy đủ. Ngoài ra bạn còn có thể sử dụng fzf để lọc trực tiếp các kết quả thư mục.

3. tldr- Kho tài liệu khổng lồ

tldr là một bộ sưu tập lớn các man page (tài liệu hướng dẫn được cung cấp trên các hệ thống Unix và Linux) do cộng đồng phát triển. Không giống như các trang hướng dẫn truyền thống, chúng được tóm tắt, đi kèm những ví dụ hữu ích và được tô màu đẹp mắt để người dùng có thể dễ đọc.

4. scc- Đếm số dòng code

scc cung cấp cho bạn thông tin chi tiết về số dòng code được viết bằng từng ngôn ngữ cho một thư mục cụ thể. Nó cũng hiển thị một số số liệu thống kê thú vị, như chi phí ước tính cần có để phát triển ứng dụng và các thông tin phức tạp khác. Tiện ích này cực kỳ nhanh, chính xác và hỗ trợ nhiều ngôn ngữ.

5. exa- Liệt kê các tập tin

exa là một sự thay thế cho lệnh ls để liệt kê các tệp. Nó có thể hiển thị các biểu tượng loại tệp, màu sắc, thông tin tệp/thư mục và có một số định dạng đầu ra dưới dạng cây/grid/list.

6. duf - Kiểm tra dung lượng disk

duf rất tốt trong việc hiển thị thông tin về các disk được gắn và kiểm tra dung lượng trống. Nó sẽ cho ra một output rõ ràng và đầy màu sắc, đồng thời bao gồm các tùy chọn để bạn có thể sắp xếp và tùy chỉnh kết quả.

7. aria2 - Tải xuống tiện ích

aria2 là một trình quản lý tải xuống được sử dụng trên các hệ thống Unix và Linux. Nó hỗ trợ các giao thức HTTP / HTTPS, FTP, BitTorrent và Metalink. Aria2 cho phép tải xuống một tệp từ nhiều nguồn/giao thức và cố gắng sử dụng băng thông tải xuống ở mức tối đa. Nó không yêu cầu nhiều bộ nhớ hoặc sử dụng CPU, vì vậy đây là một tiện ích vô cùng hữu dụng.

8. bat- Đọc tập tin

bat là một bản sao của cat với các tính năng như highlight syntax và tích hợp git. Được viết bằng Rust, nó hoạt động rất hiệu quả và có một số tùy chọn để tùy chỉnh output và theme. Ngoài ra tiện ích còn hỗ trợ ghép nối tập file và piping tự động.

9. diff-so-fancy- So sánh tập tin

Diff-so-fancy cung cấp cho bạn những khác biệt rõ ràng hơn để so sánh các chuỗi, tệp, thư mục và các thay đổi git. Việc đánh dấu sẽ giúp phát hiện các thay đổi dễ dàng hơn nhiều và bạn có thể tùy chỉnh bố cục và màu sắc của output.

10. entr

entr cho phép bạn chạy một lệnh tùy ý khi các tệp thay đổi. Bạn có thể truyền một tệp, thư mục, symlink hoặc regex để chỉ định các tệp nó nên theo dõi. Nó rất hữu ích để tự động xây dựng các dự án, phản ứng với logs, kiểm tra tự động, v.v. Khác với các dự án tương tự, nó sử dụng kqueue(2) hoặc inotify(7) để tránh polling và cải thiện hiệu suất.

11. exiftool- Đọc + ghi metadata

ExifTool là tiện ích hữu ích để đọc, ghi, tách và tạo thông tin meta cho nhiều loại tệp khác nhau. 

12. fdupes- Công cụ tìm tập tin trùng lặp

fdupes được sử dụng để xác định và/hoặc xóa các tệp trùng lặp trong các thư mục được chỉ định. Nó rất hữu ích để giải phóng dung lượng ổ đĩa khi bạn có hai hoặc nhiều tệp giống nhau.

13. fzf- Công cụ tìm tập tin fuzzy

fzf là một công cụ lọc và tìm tệp fuzzy cực kỳ mạnh mẽ và dễ sử dụng. Nó cho phép bạn tìm kiếm một chuỗi hoặc mẫu trên các tệp. fzf cũng có sẵn các plugin cho hầu hết các shell và IDE, để hiển thị kết quả tức thì trong khi tìm kiếm. 

14. hyperfine- Benchmarking dòng lệnh

hyperfine giúp bạn dễ dàng đo benchmark và so sánh chính xác các lệnh hoặc tập lệnh tùy ý. Nó đảm nhiệm việc khởi động, xóa bộ nhớ đệm để có kết quả chính xác và ngăn chặn sự can thiệp từ các chương trình khác. Nó cũng có thể xuất kết quả dưới dạng dữ liệu thô và tạo biểu đồ.

15. just- Trình chạy lệnh hiện đại 

just là một công cụ dòng lệnh giống như “make” nhưng có nhiều tính năng hơn. Nó cho phép bạn nhóm các lệnh của dự án thành các công thức, có thể liệt kê và chạy dễ dàng hơn. Nó hỗ trợ các bí danh, đối số vị trí, các shell khác nhau, tích hợp dot env, giải thích chuỗi và nhiều tính năng khác mà có thể bạn sẽ không ngờ đến.

16. jq- Bộ xử lý JSON

jq là một công cụ xử lý JSON giống như “sed”. Nó cho phép bạn cắt, lọc, ánh xạ và chuyển đổi dữ liệu có cấu trúc một cách dễ dàng. Nó cũng có thể viết các truy vấn phức tạp để trích xuất hoặc thay đổi dữ liệu JSON. Ngoài ra, “jq” còn có một “jq playground” mà bạn có thể sử dụng để thử nghiệm hoặc tạo các truy vấn với phản hồi trực tiếp.

17. Most 

most là một công cụ phân trang mạnh mẽ cho Unix, VMS, MSDOS và hệ thống win32. Nó giống như “more”, nhưng có khả năng mở rộng cho phép điều hướng cả về phía trước và phía sau qua tệp và có thể cuộn sang trái và sang phải. “most” cũng hỗ trợ nhiều cửa sổ làm việc.

18. procs- Công cụ xem tiến trình

procs là một công cụ dòng lệnh giúp hiển thị thông tin về các tiến trình đang chạy trên hệ thống của bạn. Nó cung cấp các thông tin về tài nguyên hệ thống mà các tiến trình đang sử dụng, bao gồm CPU và bộ nhớ. “procs” cũng có thể hiển thị các thông tin khác như cổng TCP hoặc UDP, thông tin về bộ nhớ ảo và tốc độ đọc/ghi. 

19. rip- Công cụ xóa

rip là một công cụ xóa an toàn, tiện dụng và hiệu quả. Nó cho phép bạn xóa các tập tin và thư mục một cách trực quan, đồng thời dễ dàng khôi phục các tập tin đã xóa.

20. Ripgrep - Tìm kiếm trong tập tin

ripgrep là một công cụ tìm kiếm dựa trên biểu thức chính quy được sử dụng trong các hệ điều hành dựa trên Unix. “ripgrep” có thể được sử dụng để tìm kiếm các mẫu đệ quy trong thư mục, đánh dấu màu kết quả tìm kiếm, hỗ trợ nhiều định dạng mã hóa như UTF-8, SHIFT_JIS, tìm kiếm trong các tệp zip nén và bỏ qua các tệp ẩn theo mặc định. 

21. rsync- Truyền tập tin nhanh

rsync cho phép bạn sao chép các tệp lớn cục bộ đến từ máy chủ từ xa hoặc ổ đĩa ngoài. Nó có thể được sử dụng để giữ các tệp trên nhiều vị trí được đồng bộ hóa và thích hợp để tạo, cập nhật và khôi phục các bản sao lưu.

22. sd- Tìm và thay thế

sd là một công cụ tìm và thay thế dễ dàng, nhanh chóng và trực quan, dựa trên chuỗi ký tự. Nó có thể được thực thi trên một tệp, toàn bộ thư mục hoặc bất kỳ văn bản nào.

23. tre- Phân cấp thư mục

tre xuất ra danh sách các tập tin dạng cây cho thư mục hiện tại hoặc thư mục được chỉ định, kèm theo màu sắc. Khi chạy với -e tùy chọn, nó sẽ đánh số từng mục và tạo bí danh tạm thời mà bạn có thể sử dụng để nhanh chóng chuyển đến vị trí đó.

24. xsel- Truy cập bảng nhớ tạm

xsel cho phép bạn đọc và ghi vào bảng nhớ tạm X Selection thông qua dòng lệnh. Nó rất hữu ích cho việc chuyển lệnh output vào bảng nhớ tạm hoặc sao chép dữ liệu vào lệnh.

Lời kết

Trên đây là tổng hợp 24 tiện ích sẽ hỗ trợ bạn rất nhiều trong quá trình làm việc. Hãy cùng chờ đón phần 2 với những công cụ hữu ích hơn nhé!

VietnamWorks inTECH