Linux duy trì một bản sao lưu các dòng lệnh được sử dụng trong Terminal. Hướng dẫn này chỉ cho bạn cách sao lưu file lịch sử Linux Terminal. Sau đó, hướng dẫn bạn cách khôi phục các bản sao lưu đó.
Linux Terminal đi kèm với một tính năng tiện dụng có tên là “History”. Ví dụ, mỗi lệnh được nhập trong terminal sẽ được lưu trong một file có tên là .bash_history. Một file lịch sử được tạo cho mỗi người dùng và có thể được tìm thấy trong thư mục Home của người dùng, ví dụ “/home/username/.bash_history”.
Lưu ý rằng file lịch sử, .bash_history, không được bảo vệ với các quyền đặc biệt. Vì vậy, bất kỳ người dùng nào có tài khoản trên hệ thống Linux đó đều có thể xem file lịch sử của những người dùng khác.
Sao lưu và khôi phục lịch sử terminal
Trong phần đầu tiên, bài viết sẽ giới thiệu cách sao lưu file lịch sử Linux Terminal. Sau đó, Quantrimang.com sẽ chỉ cho bạn cách khôi phục các bản sao lưu đó.
Hiển thị nội dung file lịch sử
Bước 1: Để liệt kê nội dung file lịch sử, bạn có thể sử dụng một trong các phương pháp sau.
Phương pháp đầu tiên là sử dụng lệnh cat như sau:
cat /home/hendadel/.bash_history
Phương pháp thứ hai, bạn có thể xem trước nội dung của file lịch sử bằng lệnh history như sau:
history
Bước 2: Bạn có thể tìm kiếm lịch sử bằng cách sử dụng lệnh grep với một trong các phương pháp sau.
Phương thức đầu tiên là sử dụng kill trong file .bash_history như sau:
cat /home/hendadel/.bash_history | grep 'kill'
Như bạn có thể thấy trong ảnh chụp màn hình bên dưới, lệnh sẽ liệt kê tất cả các lệnh có chứa từ khóa “kill”.
Phương pháp thứ hai để tìm kiếm lịch sử là bằng cách sử dụng lệnh grep với lệnh history như sau:
history | grep 'kill'
Sao lưu file lịch sử
Bước 1: Bây giờ để tạo bản sao lưu từ file lịch sử Linux Terminal, bạn có thể sử dụng một trong các phương pháp sau.
Phương pháp đầu tiên là sử dụng lệnh cat với biểu tượng “>”. Bước này sẽ chuyển hướng đầu ra đến file sao lưu.
cat /home/hendadel/.bash_history > history_backup
Như bạn có thể thấy trong ảnh chụp màn hình tiếp theo, một file sao lưu sẽ được tạo.
Phương pháp thứ hai là sử dụng lệnh history cùng với biểu tượng “>”.
history > history_backup2
Bước 2: Để thực hiện sao lưu file lịch sử thuộc về người dùng khác, bạn có thể sử dụng lệnh sau.
cat /home/admin/.bash_history > admin_history_backup
Sao lưu các lệnh trong lịch sử cụ thể
Bước 1: Để sao lưu các lệnh cụ thể từ file lịch sử, bạn có thể sử dụng một trong các phương pháp sau.
Phương pháp đầu tiên là sử dụng lệnh grep, cùng với biểu tượng “>” hoặc “>>”. Sự khác biệt giữa các biểu tượng trước đó là:
- >: Bất cứ khi nào biểu tượng này được sử dụng, nó sẽ ghi đè lên nội dung của file sau mỗi lần.
- >>: Tuy nhiên, biểu tượng này nối thêm đầu ra vào file đã được tạo mà không cần ghi đè lên file.
cat /home/hendadel/.bash_history | grep 'kill' >> history_backup
Phương pháp thứ hai là sử dụng các lệnh history và grep, cùng với biểu tượng “>>” như sau:
history | grep 'kill' >> history_backup2
Bước 2: Trong trường hợp bạn cần sao lưu các lệnh cụ thể từ lịch sử người dùng khác, bạn có thể sử dụng lệnh sau.
cat /home/admin/.bash_history | grep 'sudo' >> admin_history_backup
Khôi phục file sao lưu lịch sử cho người dùng hiện tại
Bước 1: Để khôi phục file sao lưu lịch sử, tất cả những gì bạn cần chỉ là xóa file lịch sử ban đầu .bash_history, được đặt trong thư mục Home như sau:
rm /home/hendadel/.bash_history
Bước 2: Bây giờ sử dụng lệnh mv để di chuyển file sao lưu lịch sử đến thư mục Home.
mv history_backup /home/hendadel/.bash_history
Bước 3: Sau khi di chuyển file sao lưu lịch sử, bạn phải load lại lịch sử bằng cách sử dụng lệnh sau.
history -r
Bây giờ, bạn có thể xem trước lịch sử của mình bằng một trong các lệnh được liệt kê trước đó.
Khôi phục file sao lưu lịch sử cho người dùng khác
Bước 1: Trong trường hợp bạn cần khôi phục file sao lưu lịch sử cho người dùng khác, bạn phải chuyển tài khoản sang người dùng đó bằng lệnh sau.
su admin
Bước 2: Sau khi đăng nhập thành công, xóa file lịch sử hiện tại.
rm /home/admin/.bash_history
Bước 3: Bây giờ, hãy di chuyển file sao lưu lịch sử đến vị trí mới.
mv /home/hendadel/admin_history_backup /home/admin/.bash_history
Bước 4: Load lại lịch sử bằng lệnh sau.
history -r
Mọi thao tác đã hoàn tất.
Chúc bạn thực hiện thành công!