Cách xóa lịch sử trong Ubuntu

Xóa nhật ký lịch sử hệ thống Linux là điều quan trọng để duy trì một máy tính khỏe mạnh. Nó cho phép tiết kiệm dung lượng ổ đĩa quý giá và bảo vệ các hoạt động kỹ thuật số của người dùng khỏi những con mắt tò mò. Bài viết hôm nay sẽ chỉ cho bạn cách xóa dữ liệu lịch sử trên shell Bash, trình quản lý file và trình soạn thảo văn bản trên Ubuntu Linux.

Xóa lịch sử lệnh trong Bash

Linux là một hệ điều hành dựa trên dòng lệnh. Từ quản lý file đến cấu hình chương trình, hầu hết mọi hành động trong Linux đều thực hiện dưới dạng lệnh terminal. Theo thời gian, các lệnh này sẽ chồng chất lên shell hệ thống Bash, có thể chiếm nhiều dung lượng ổ đĩa.

Cách dễ nhất để xóa lịch sử lệnh Bash trong Ubuntu là sử dụng UNIX pipe để chuyển hướng một chuỗi trống đến file “.bash_history”:

echo "" > ~/.bash_history

Điều đó có nghĩa là thao tác này sẽ không xóa buffer lịch sử cho phiên Bash hiện tại. Để làm điều đó, hãy chạy lệnh sau:

history -cw

Lưu ý: Bạn cần chạy lại lệnh này cho mọi shell Bash đang hoạt động trên phiên desktop hiện tại của mình.

Xác nhận rằng lịch sử Bash hiện tại của bạn bị xóa bằng cách chạy lệnh history mà không có bất kỳ đối số nào.

Terminal hiển thị lịch sử đã xóa của phiên shell hiện tại.
Terminal hiển thị lịch sử đã xóa của phiên shell hiện tại.

Vô hiệu hóa nhật ký lịch sử trong Bash

Có thể buộc Bash không lưu mọi lịch sử lệnh từ bất kỳ phiên nào trong tương lai. Điều này có thể hữu ích nếu bạn đang thiết lập một máy tính dùng chung và không muốn những người dùng khác biết các lệnh bạn đang chạy trên tài khoản của mình.

Bắt đầu bằng cách đảm bảo rằng buffer lịch sử hiện tại trong Ubuntu hoàn toàn bị xóa:

history -cw

Mở file .bashrc bằng trình soạn thảo yêu thích của bạn:

nano ~/.bashrc

Dán các dòng code sau vào cuối file .bashrc:

export HISTSIZE=0
export HISTFILESIZE=0

Lưu ý: Biến HISTSIZE xác định số lượng dòng mà Bash sẽ giữ trong một phiên hoạt động. Trong khi đó, HISTFILESIZE đặt số lượng dòng mà file nhật ký lịch sử sẽ duy trì theo thời gian.

Lưu file .bashrc, sau đó chạy lệnh sau để áp dụng cài đặt mới cho phiên shell hiện tại:

source ~/.bashrc

Kiểm tra cài đặt mới bằng cách chạy lệnh ls trên thư mục hiện tại, sau đó chạy lại lệnh history:

ls && history
Terminal hiển thị file lịch sử Bash và cache hoàn toàn bị xóa.
Terminal hiển thị file lịch sử Bash và cache hoàn toàn bị xóa.

Xóa các mục nhập lịch sử Bash cụ thể

Lệnh history cũng có thể xóa các mục cụ thể khỏi cache và nhật ký lịch sử của nó. Điều này có thể hữu ích nếu bạn chỉ muốn bỏ qua một số lệnh thay vì xóa toàn bộ lịch sử của shell.

Sử dụng lệnh history để tìm số chỉ mục của lệnh muốn xóa. Trường hợp ví dụ muốn xóa lệnh thứ 7 trong lịch sử shell của mình.

Mục nhập lịch sử thứ bảy trên phiên shell hiện tại.
Mục nhập lịch sử thứ bảy trên phiên shell hiện tại.

Lưu ý: Bạn có thể tìm kiếm lệnh cụ thể muốn xóa bằng cách chuyển lệnh history tới grep:

history | grep my-history-command

Chạy lệnh sau cùng với số chỉ mục của mục bạn muốn loại bỏ:

history -d 7

Xác nhận rằng mục nhập lịch sử đã biến mất bằng cách chạy lại lệnh history.

Các lệnh xung quanh mục nhập lịch sử thứ bảy đã bị xóa.
Các lệnh xung quanh mục nhập lịch sử thứ bảy đã bị xóa.

Xóa lịch sử file gần đây trong Nautilus

Ngoài việc xóa lịch sử các lệnh trong terminal, bạn có thể xóa lịch sử gần đây trong trình quản lý file mặc định của hệ thống. Để thực hiện việc này, hãy mở trình quản lý file từ trình khởi chạy ứng dụng của hệ thống.

Nhấp vào danh mục Recent trên thanh bên trái của trình quản lý.

Vị trí của danh mục "Recent" bên trong trình quản lý file Nautilus.
Vị trí của danh mục "Recent" bên trong trình quản lý file Nautilus.

Nhấn Ctrl + A để chọn tất cả các file đã mở gần đây trong Nautilus.

Nhấn Right Click, sau đó chọn Remove from Recent để xóa lịch sử hiện tại của trình quản lý file.

Mục "Remove from Recent" trong trình quản lý file Nautilus.
Mục "Remove from Recent" trong trình quản lý file Nautilus.

Mở System Menu ở góc trên bên trái của màn hình, sau đó nhấp vào biểu tượng bánh răng trên cửa sổ pop-up.

Biểu tượng bánh răng trên khay hệ thống của Ubuntu.
Biểu tượng bánh răng trên khay hệ thống của Ubuntu.

Chọn Privacy and Security dưới thanh bên trái của cửa sổ.

Mục "Privacy and Security" bên trong cài đặt hệ thống của Ubuntu.
Mục "Privacy and Security" bên trong cài đặt hệ thống của Ubuntu.

Thao tác này sẽ hiển thị một danh mục con mới trên bảng bên phải của cửa sổ. Nhấp vào danh mục File History & Trash.

Cài đặt "File History & Trash" trên menu System Settings.
Cài đặt "File History & Trash" trên menu System Settings.

Tắt tùy chọn chuyển đổi File History, sau đó nhấp vào nút Clear History.

Nút chuyển đổi "File History" và nút "Clear History".
Nút chuyển đổi "File History" và nút "Clear History".

Tự động xóa lịch sử file trong Nautilus

Một cách khác để xóa lịch sử file trong Ubuntu là xóa các file chứa dữ liệu cho danh mục “Recent” bằng Bash.

Bắt đầu bằng cách tạo một thư mục nhị phân cục bộ trong thư mục home của bạn:

mkdir -p ~/.local/bin/ && cd ~/.local/bin/

Tạo một script Bash mới trong thư mục mới bằng trình soạn thảo văn bản yêu thích:

nano ./user-clear-history.sh

Dán block code sau vào file script:

#!/bin/bash
rm -f ~/.recently-used.xbel
rm -f ~/.recently-used.xbel.*
rm -f ~/.local/share/recently-used.xbel
rm -f ~/.local/share/recently-used.xbel.*

Lưu file script, sau đó chạy lệnh sau để cập nhật các bit quyền của file:

chmod +x ./user-clear-history.sh

Mở trình app launcher của hệ thống, sau đó chọn Startup Applications.

Chương trình "Startup Applications" bên trong app launcher của hệ thống.
Chương trình "Startup Applications" bên trong app launcher của hệ thống.

Nhấp vào nút Add ở góc trên bên trái của cửa sổ.

Nút Add trên cửa sổ Startup Applications.
Nút Add trên cửa sổ Startup Applications.

Cung cấp tên cho script mà bạn muốn chạy. Trong trường hợp này, ví dụ sẽ dán nhãn là: "User File History Autoclear".

Nhấp vào nút Browse… bên dưới hộp văn bản Name.

Nút Browse… trên cửa sổ Startup Applications
Nút Browse… trên cửa sổ Startup Applications

Nhấn Ctrl + H trên menu chọn file, sau đó điều hướng đến thư mục "~/.local/bin/" của bạn.

Vị trí của script người dùng bên trong trình chọn file.
Vị trí của script người dùng bên trong trình chọn file.

Chọn script shell của bạn, sau đó nhấp vào Open để thêm vào mục khởi động mới.

Nhấp vào Add để cam kết vào phiên người dùng hiện tại của bạn.

Nút Add cho script khởi động mới.
Nút Add cho script khởi động mới.

Xóa lịch sử file cho tất cả người dùng

Một trong những nhược điểm của việc xóa lịch sử file thông qua GUI là nó chỉ xóa lịch sử file cho người dùng hiện tại. Điều này có thể là vấn đề nếu bạn đang bảo trì một máy được chia sẻ giữa nhiều người.

Để khắc phục điều này, hãy mở một phiên terminal mới rồi chạy lệnh sau để chuyển sang người dùng root:

sudo -s
Dấu nhắc chuyển đổi từ người dùng tiêu chuẩn sang người dùng root 
Dấu nhắc chuyển đổi từ người dùng tiêu chuẩn sang người dùng root

Đi đến thư mục home của người dùng root, sau đó tạo một thư mục bin cục bộ bên trong thư mục đó:

cd ~ && mkdir -p ~/.local/bin/ && cd ~/.local/bin/

Tạo một file script mới bằng trình soạn thảo văn bản yêu thích của bạn:

nano ./system-clear-history.sh

Dán block code sau vào file script của bạn:

#!/bin/bash
rm -f /home/*/.recently-used.xbel
rm -f /home/*/.recently-used.xbel.*
rm -f /home/*/.local/share/recently-used.xbel
rm -f /home/*/.local/share/recently-used.xbel.*

Lưu file script mới của bạn, sau đó đặt các bit quyền của file để thực thi:

chmod +x ./system-clear-history.sh

Tạo một file service systemd mới trong “/etc/systemd/system” cho script mới của bạn:

sudo nano /etc/systemd/system/system-clear-history.service

Dán block code sau vào file service mới của bạn:

[Unit]
Description=Clear File History Before Shutdown
DefaultDependencies=no
Before=shutdown.target
 
[Service]
Type=oneshot
ExecStart=/root/.local/bin/system-clear-history.sh
 
[Install]
WantedBy=halt.target reboot.target shutdown.target

Lưu file service mới của bạn, sau đó chạy các lệnh sau để load file đó vào daemon systemd của bạn:

sudo systemctl daemon-reload
sudo systemctl enable --now system-clear-history.service

Xác nhận rằng service đang chạy đúng cách bằng cách xem trạng thái hiện tại của service:

systemctl status system-clear-history.service
Đầu ra của service systemd tùy chỉnh trong systemctl.
Đầu ra của service systemd tùy chỉnh trong systemctl.
Thứ Tư, 11/09/2024 17:12
52 👨 289
0 Bình luận
Sắp xếp theo
    ❖ Linux