Tin tức và phân tích của tất cả các thiết bị di động

Cách sao lưu lịch sử thiết bị đầu cuối linux

Thiết bị đầu cuối Linux có tính năng “lịch sử”. Với tính năng này, bất kỳ thao tác lệnh nào bạn nhập sẽ được lưu trữ để sử dụng sau này. Vì tất cả các lệnh đầu cuối được lưu trong “lịch sử”, điều quan trọng là phải sao lưu chúng để giữ an toàn.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách sao lưu lịch sử thiết bị đầu cuối Linux và cách khôi phục các bản sao lưu của bạn. Vì vậy, hãy mở trình giả lập thiết bị đầu cuối Linux yêu thích của bạn và làm theo!

Lịch sử thiết bị đầu cuối Linux được lưu trữ ở đâu?

Thiết bị đầu cuối Linux lưu trữ lịch sử của nó trong một tệp. Tệp này được đặt tên là “.bash_history”. Bất cứ ai cũng có thể chỉnh sửa nó và nó được lưu trữ trong thư mục chính của bạn. Vì tệp lịch sử thiết bị đầu cuối dành cho Linux được lưu trữ trong thư mục người dùng nên mọi người dùng trên hệ thống đều có một tệp.

Các quyền đặc biệt không bảo vệ các tệp lịch sử này và bất kỳ người dùng nào trên hệ thống đều có thể xem lịch sử của người dùng khác bằng một lệnh đơn giản. Ví dụ: nếu tôi muốn xem lịch sử thiết bị đầu cuối/dòng lệnh của tên người dùng “người dùng” trên hệ thống Linux của mình, tôi sẽ làm:

cat /home/user/.bash_history

Người dùng cũng có thể xem lịch sử của người dùng hiện tại mà họ đã đăng nhập trong vỏ thiết bị đầu cuối Linux bằng cách thực hiện lệnh “lịch sử”.

history

Trên hết, vì “lịch sử” chỉ là một tệp nên nó có thể tìm kiếm được giống như một tệp văn bản thuần túy bằng hàm grep. Ví dụ: để tìm các trường hợp “git clone” trong tên người dùng bằng cách sử dụng lệnh bên dưới.

cat /home/user/.bash_history | grep 'git clone'

Nó cũng hoạt động như người dùng hiện đang đăng nhập bằng lệnh “history”.

history | grep 'search term'

Sao lưu lịch sử thiết bị đầu cuối của bạn

Trong phần trước của hướng dẫn này, tôi đã nói về cách “lịch sử” của thiết bị đầu cuối Linux chỉ là một tệp văn bản được ẩn gọn gàng chứa tất cả các lệnh do người dùng nhập. Chà, vì nó chỉ là một tệp nên việc sao lưu để lưu trữ là rất dễ dàng.

Để tạo bản sao lưu, hãy sử dụng lệnh cat. Tại sao? Với cat, bạn có thể xem trực tiếp toàn bộ tệp văn bản trong thiết bị đầu cuối. Chúng ta có thể sử dụng lệnh này kết hợp với biểu tượng “>” để chuyển hướng hiển thị đầu ra sang tệp sao lưu.

Ví dụ: để sao lưu lịch sử hiện tại của bạn, hãy chạy lệnh cat đối với “~/.bash_history” và lưu nó vào tệp có nhãn “history_backup”.

cat ~/.bash_history > history_backup

Bạn cũng có thể chạy lệnh lịch sử kết hợp với “>” và lưu nó theo cách đó.

history > history_backup

Cuối cùng, có thể sao lưu lịch sử dòng lệnh/thiết bị đầu cuối của người dùng khác chưa đăng nhập bằng cách chạy lệnh bên dưới.

Lưu ý: Đảm bảo thay đổi “tên người dùng” của bạn thành người dùng mà bạn muốn lưu lịch sử.

cat /home/username/.bash_history > history_backup

Chỉ sao lưu một số mục lịch sử nhất định

Bạn có thể chỉ muốn sao lưu các lệnh cụ thể trong lịch sử thiết bị đầu cuối Linux của mình. Cách để làm điều này là xem tệp lịch sử và kết hợp nó với lệnh grep sẽ lọc các từ khóa cụ thể.

Ví dụ: để chỉ sao lưu các lệnh trong lịch sử thiết bị đầu cuối Linux có chứa các lệnh git clone hoặc git, bạn có thể chạy thao tác bên dưới.

Lưu ý: Trong các ví dụ này, chúng tôi sử dụng “>>” thay vì “>”. Lý do cho “>>” là nó sẽ không ghi đè lên nội dung tệp lịch sử đã sao lưu và có thể được khởi động lại nhiều lần để thêm vào bản sao lưu.

cat ~/.bash_history | grep 'git' >> history_backup

Hoặc

cat /home/username/.bash_history | grep 'git' >> history_backup

Lọc bằng grep cũng có thể được áp dụng cho lệnh lịch sử, như thế này.

history | grep 'git' >> history_backup

Để sao lưu một số từ khóa từ tệp lịch sử của bạn, hãy thay thế “git” trong các ví dụ trên bằng bất kỳ lệnh nào bạn muốn sao lưu. Bạn có thể chạy lại lệnh này nếu cần.

Cách khôi phục sao lưu lịch sử

Khôi phục bản sao lưu lịch sử cũng đơn giản như xóa tệp gốc và đặt bản sao lưu vào vị trí của nó. Để xóa tệp lịch sử gốc, hãy sử dụng lệnh rm trong cửa sổ đầu cuối để xóa “.bash_history”.

rm ~/.bash_history

Sau khi xóa tệp lịch sử gốc khỏi thư mục chính của người dùng mà bạn muốn khôi phục lịch sử, hãy sử dụng lệnh mv để đổi tên “history_backup” thành “.bash_history”.

mv history_backup ~/.bash_history

Bây giờ tệp lịch sử mới đã có, hãy chạy lệnh history -rw để tải lại chức năng lịch sử của thiết bị đầu cuối.

history -rw

Sau đó, bạn sẽ có thể xem lịch sử thiết bị đầu cuối với:

history

Khôi phục bản sao lưu cho người dùng khác

Bạn muốn khôi phục các bản sao lưu lịch sử từ những người dùng khác trên hệ thống của mình? Để thực hiện việc này, hãy bắt đầu bằng cách đăng nhập vào người dùng của bạn bằng lệnh su.

su username

Sau khi đăng nhập, người dùng xóa tệp lịch sử hiện tại nằm trong thư mục chính của người dùng (~).

rm ~/.bash_history

Sau đó đổi tên tệp sao lưu lịch sử thành tệp “.bash_history” mới trong thư mục người dùng của bạn.

mv /path/to/backup/file/history-backup ~/.bash_history

Lưu các thay đổi với:

history -rw

Sau khi hoàn tất, hãy chạy lịch sử để xem các lệnh đã khôi phục trong cửa sổ đầu cuối.