Bạn có từng dành cả ngày để gõ phím mũi tên lên xuống trong terminal chỉ để tìm lại một lệnh cũ? Chắc hẳn nhiều người dùng Linux đã trải qua cảm giác đó. Mặc dù lệnh history
mặc định đã phục vụ chúng ta từ lâu, nhưng trải nghiệm làm việc với lịch sử lệnh có thể được cải thiện đáng kể với một tiện ích mạnh mẽ như Atuin. Atuin không chỉ thay thế chức năng lịch sử lệnh truyền thống mà còn bổ sung hàng loạt tính năng cao cấp, giúp việc điều hướng và tìm kiếm trở nên nhanh chóng, trực quan hơn, qua đó nâng cao năng suất làm việc của bạn trên Linux.
Hạn Chế Của Lệnh history
Mặc Định Trên Linux
Lệnh history
trên Linux có nhiệm vụ lưu trữ và hiển thị danh sách các lệnh bạn đã chạy trong một phiên làm việc của shell. Nó cho phép bạn xem lại và quản lý danh sách này một cách cơ bản.
Giao diện hiển thị lịch sử lệnh Linux từ lệnh history mặc định, với các lệnh được đánh số
Hệ điều hành Linux cũng cung cấp các lệnh và phím tắt khác để làm việc với danh sách lịch sử này. Ví dụ, !22
sẽ chạy lại lệnh có số thứ tự 22 trong lịch sử. Thông thường, các phím mũi tên Lên và Xuống cho phép bạn duyệt ngược và xuôi qua lịch sử, hiển thị từng lệnh cho đến khi bạn nhấn Enter để chạy lại một lệnh nào đó. Phím tắt Ctrl+R
thực hiện tìm kiếm ngược trong lịch sử.
Lệnh history
đã tồn tại từ rất lâu, được giới thiệu vào năm 1979 và trở nên phổ biến hơn từ năm 1989 khi Bash shell ra mắt. Do đó, đây là một công cụ trưởng thành, thể hiện triết lý Unix về việc “làm một việc, làm thật tốt”. Tuy nhiên, nó không phải là không có những hạn chế đáng kể.
Mặc dù có nhiều lệnh để làm việc với lịch sử, tất cả chúng đều khá cơ bản. Việc điều hướng và tìm kiếm diễn ra từng dòng một, gây khó khăn khi làm việc với lịch sử lệnh dài. Hơn nữa, cách lịch sử lệnh hoạt động giữa các shell có thể gây nhầm lẫn. Khi bạn mở một terminal mới, nó sẽ không có quyền truy cập vào lịch sử của terminal trước đó cho đến khi bạn đóng terminal cũ. Điều này gây ra sự bất tiện lớn đối với những người dùng thường xuyên mở nhiều phiên làm việc cùng lúc.
Hình ảnh một chiếc laptop chạy hệ điều hành Ubuntu với cửa sổ terminal đang hiển thị hướng dẫn sử dụng lệnh
Atuin Hoạt Động Như Thế Nào Để Cải Thiện Lịch Sử Lệnh?
Atuin là một chương trình được thiết kế để cải thiện chức năng lịch sử lệnh mặc định của Linux, với các tính năng vượt trội như đồng bộ hóa đa máy chủ, giao diện người dùng dựa trên văn bản (TUI) trực quan, thống kê chi tiết và nhiều hơn nữa.
Giao diện Atuin TUI hiển thị lịch sử lệnh được tô màu theo thời gian chạy trên toàn màn hình
Mặc định, Atuin sẽ chiếm quyền điều khiển phím mũi tên Lên để hiển thị giao diện lịch sử lệnh của riêng nó. Nếu bạn đã quen với việc nhấn Lên rồi Enter để chạy lại lệnh cuối cùng theo thói quen, có thể bạn sẽ mất một chút thời gian để làm quen với việc giao diện Atuin xuất hiện. Tuy nhiên, chuỗi phím tắt tương tự vẫn sẽ thực hiện chính xác điều đó: chạy lại lệnh cuối cùng của bạn.
Giao diện toàn màn hình của lịch sử lệnh này ban đầu có thể hơi khó thích nghi, nhưng một khi bạn đã quen thuộc với các tính năng của Atuin, nó sẽ trở nên dễ tiếp cận hơn rất nhiều. Công cụ này rất dễ cài đặt và thiết lập nhanh chóng, vì vậy cách tốt nhất để tìm hiểu về nó là hãy tự mình trải nghiệm.
Để cài đặt Atuin, bạn có thể làm theo hướng dẫn trên tài liệu chính thức của họ. Phương pháp cài đặt nhanh nhất là sử dụng lệnh sau:
curl --proto '=https' --tlsv1.2 -LsSf https://setup.atuin.sh | sh
Lệnh này tải xuống một script shell và chạy nó. Việc sử dụng curl
theo cách này có một rủi ro nhỏ về bảo mật, bạn có thể tránh bằng cách bỏ | sh
để chỉ tải file về, sau đó kiểm tra nội dung file trước khi chạy thủ công.
Script sẽ cài đặt Atuin vào thư mục home của bạn và cập nhật script khởi động của shell (ví dụ: ~/.bashrc
) để chạy nó. Khi bạn tải lại file đó, khởi động lại terminal, hoặc mở một tab/cửa sổ mới, Atuin sẽ được kích hoạt. Bạn cũng có thể cài đặt Atuin bằng các trình quản lý gói khác như Cargo, Homebrew hoặc Pacman, nhưng các phương pháp này đòi hỏi thiết lập thủ công bổ sung. Nếu bạn gặp lỗi như “curl: (23) client returned ERROR on write”, hãy thử cài đặt curl
bằng apt
thay vì snap
(trên Ubuntu).
Làm Thế Nào Atuin Giúp Ích Cho Bạn?
Mặc dù chỉ tập trung vào một tác vụ cụ thể, Atuin lại sở hữu một bộ tính năng khá lớn và có thể hơi choáng ngợp lúc đầu. Chúng tôi khuyên bạn nên tìm hiểu từ từ và thử nghiệm với Atuin trong quá trình sử dụng.
Sử Dụng Cơ Bản
Sau khi cài đặt Atuin, bạn có thể mở giao diện TUI của nó bằng cách nhấn phím mũi tên Lên. Ban đầu, bạn sẽ thấy một màn hình trống vì chưa có lịch sử lệnh nào được ghi nhận:
Màn hình trống khi Atuin được chạy lần đầu tiên, báo hiệu chưa có lịch sử lệnh được nhập
Nếu muốn, bạn có thể nhập lịch sử lệnh tiêu chuẩn của mình vào Atuin bằng một lệnh đơn giản:
atuin import auto
Khi bạn đã có một số lệnh trong lịch sử, bạn có thể điều hướng giao diện TUI bằng các phím mũi tên Lên và Xuống để chọn một lệnh muốn chạy lại. Thường thì đây sẽ là lệnh bạn đã chạy gần nhất, lệnh này sẽ được chọn mặc định ở cuối danh sách.
Với một lệnh đã chọn, nhấn Enter để chạy ngay lập tức hoặc Tab để chèn lệnh đó vào dòng lệnh của bạn, sẵn sàng để chỉnh sửa. Nếu bạn vô tình mở Atuin, bạn có thể thoát bằng cách nhấn Esc hoặc phím mũi tên Xuống nếu bạn đã ở cuối danh sách.
Chức Năng Tìm Kiếm Mạnh Mẽ
Rất có thể bạn đang tìm kiếm một lệnh với tên cụ thể hoặc một lệnh liên quan đến một file nhất định. Trong cả hai trường hợp, bạn chỉ cần bắt đầu gõ để tìm kiếm trong danh sách lịch sử và tinh chỉnh các lựa chọn của mình.
Tìm kiếm của bạn sẽ xuất hiện ở cuối terminal khi bạn gõ, và Atuin sẽ lọc danh sách lịch sử hiển thị tương ứng. Đây là một tính năng tìm kiếm mờ (fuzzy search), vì vậy bạn có thể nhận được các kết quả khớp gần đúng cũng như các kết quả chính xác. Bạn cũng có thể tìm kiếm bằng ký tự đại diện *
, tuy nhiên tính năng này không quá cần thiết trong hầu hết các trường hợp.
Cấu Hình Linh Hoạt
Atuin có khả năng cấu hình cao, với nhiều cài đặt để kiểm soát hành vi của nó. Bạn có thể kiểm tra file ~/.config/atuin/config.toml
, trong đó có những bình luận rất rõ ràng đi kèm với mỗi cài đặt. Bản thân tôi đã thực hiện một vài tinh chỉnh nhỏ cho cấu hình khi bắt đầu sử dụng Atuin và chúng đã phục vụ tôi rất tốt.
Đầu tiên, nếu bạn không thích tìm kiếm mờ mặc định, bạn có thể thay đổi nó để tìm kiếm một chuỗi ký tự chính xác ở bất kỳ đâu trong mỗi lệnh:
search_mode = "fulltext"
Giao diện TUI sẽ xóa màn hình của bạn sau khi sử dụng và có thể hơi xâm phạm. Điều này ít gây khó chịu hơn nếu bạn sử dụng terminal toàn màn hình, nhưng bạn cũng có thể giảm số dòng mà Atuin sử dụng để khắc phục vấn đề này:
inline_height = 10
Giao diện Atuin hiển thị lịch sử lệnh theo chế độ inline với chiều cao giới hạn chỉ mười dòng trong terminal
Một ví dụ tuyệt vời về sức mạnh của Atuin là lịch sử lệnh theo ngữ cảnh. Bạn có thể sử dụng tính năng này để xem các lệnh đã chạy chỉ trong phiên hiện tại hoặc chỉ trong thư mục hiện tại, cùng với các tùy chọn khác. Atuin hiển thị chế độ lọc hiện tại ở góc dưới bên trái: ví dụ: “[ GLOBAL ]” mặc định. Bạn có thể nhấn Ctrl-r để chuyển đổi qua các chế độ, nhưng bạn cũng có thể thay đổi mặc định dựa trên cách bạn gọi Atuin:
filter_mode_shell_up_key_binding = "directory"
Cài đặt này chỉ dẫn Atuin mặc định chỉ hiển thị các lệnh bạn đã chạy trong thư mục hiện tại khi bạn mở nó bằng cách nhấn phím mũi tên Lên. Tuy nhiên, việc mở Atuin bằng Ctrl-r sẽ sử dụng bộ lọc mặc định, đây là một cách tuyệt vời để có hai chế độ dễ dàng truy cập. Đây cũng là một ví dụ khác về khả năng cấu hình linh hoạt của công cụ này.
Đồng Bộ Hóa Đa Máy Chủ
Mặc dù việc đồng bộ hóa là hoàn toàn tùy chọn, Atuin khuyến khích tính năng này để bạn có thể chia sẻ lịch sử lệnh của mình giữa các máy chủ khác nhau. Nếu bạn thường xuyên SSH vào các máy chủ từ xa, điều này có thể rất hữu ích, đặc biệt nếu bạn thực hiện cùng một loại tác vụ trên chúng.
Hình ảnh một máy tính chạy hệ điều hành Windows 11, liên quan đến kết nối SSH đa nền tảng
Cá nhân người viết không cảm thấy cần thiết phải sử dụng tính năng đồng bộ hóa này, nhưng đây là một tính năng ấn tượng và là một trong những điểm yếu lớn nhất của lệnh history
mặc định.
Thống Kê Chi Tiết Về Lệnh Đã Chạy
Nếu bạn quan tâm đến loại lệnh mình đang chạy, tính năng thống kê của Atuin sẽ rất thú vị. Bạn có thể xem thống kê cho toàn bộ lịch sử của mình hoặc cho bất kỳ khoảng thời gian 24 giờ cụ thể nào:
Giao diện thống kê của Atuin hiển thị các lệnh được sử dụng nhiều nhất cùng số lần chạy
Danh sách lịch sử mặc định của Atuin hiển thị thời gian mỗi lệnh đã chạy. Đây là thông tin có giá trị nếu bạn thường xuyên khởi động các tiến trình chạy lâu như biên dịch phần mềm hoặc phân tích dung lượng ổ đĩa với lệnh du
. Nó cũng bao gồm các lệnh tương tác như vim
, vì vậy bạn có thể xem mình đã dành bao lâu để chỉnh sửa một file vào một ngày cụ thể.
Atuin cũng cung cấp thông tin này trong chế độ Inspect của nó, hiển thị chi tiết về một lệnh cụ thể, bao gồm số lần bạn chạy nó mỗi ngày và số lần nó đã trả về từng trạng thái thoát:
Chế độ Inspector của Atuin cung cấp tóm tắt chi tiết về lịch sử một lệnh, bao gồm số lần chạy mỗi ngày và phân bố trạng thái thoát
Chế độ Inspector lưu ý rằng nó đang trong quá trình phát triển, nhưng điều đáng lưu ý là Atuin được duy trì tích cực, với rất nhiều người đóng góp thường xuyên thực hiện các thay đổi.
Kết Luận
Atuin thực sự là một “người bạn đồng hành” không thể thiếu cho bất kỳ ai làm việc thường xuyên với terminal Linux. Nó khắc phục những nhược điểm cố hữu của lệnh history
truyền thống, mang lại trải nghiệm quản lý lịch sử lệnh vượt trội với giao diện TUI trực quan, khả năng tìm kiếm thông minh, tùy chỉnh linh hoạt, đồng bộ hóa đa máy chủ và các báo cáo thống kê chi tiết. Mặc dù có thể mất một chút thời gian để làm quen với giao diện mới, nhưng những lợi ích mà Atuin mang lại về năng suất và sự tiện lợi là không thể phủ nhận. Hãy cân nhắc cài đặt Atuin ngay hôm nay để nâng tầm trải nghiệm dòng lệnh của bạn trên Linux và tối ưu hóa quy trình làm việc. Besutiful!