Ẩn lịch sử dòng lệnh trong Linux

Nếu bạn là người dùng dòng lệnh Linux , đôi khi bạn có thể không muốn một số lệnh nhất định được ghi lại trong lịch sử dòng lệnh của mình. Có thể có nhiều lý do, ví dụ, nếu bạn giữ một vị trí trong công ty, bạn có một số đặc quyền mà bạn không muốn bị người khác lạm dụng. Hoặc có một số lệnh đặc biệt quan trọng mà bạn không muốn thực hiện nhầm khi duyệt danh sách lịch sử.

Tuy nhiên, có cách nào để kiểm soát lệnh nào đi vào danh sách lịch sử và lệnh nào không? Hay nói cách khác, chúng ta có thể bật chế độ ẩn danh như một trình duyệt trong thiết bị đầu cuối Linux không? Câu trả lời là có, và tùy thuộc vào mục tiêu cụ thể mà bạn muốn, có nhiều cách để đạt được nó. Trong bài viết này, chúng tôi sẽ thảo luận về một số phương pháp đã được chứng minh.

1. Chèn một khoảng trắng trước lệnh

Vâng đúng vậy. Chèn một khoảng trắng trước lệnh. Lệnh này sẽ bị trình bao bỏ qua, có nghĩa là nó sẽ không xuất hiện trong lịch sử. Nhưng phương pháp này có một tiền đề, nó sẽ chỉ hoạt động nếu biến môi trường của bạn được  HISTCONTROL đặt thành “ignorespace” hoặc “ignoreboth”. Trong hầu hết các trường hợp, đây là giá trị mặc định.

Vì vậy, giống như lệnh sau (Chú thích LCTT: ở đây [space]có nghĩa là nhập một khoảng trắng ):

Nếu bạn đã thực hiện các lệnh sau để đặt biến môi trường trước đó, các lệnh trên sẽ không xuất hiện trong lịch sử.

Ảnh chụp màn hình dưới đây là một ví dụ về cách tiếp cận này.

lịch sử

 

Lệnh “tiếng vọng” thứ tư không được ghi trong lịch sử vì khoảng trống phía trước.

2. Tắt tất cả lịch sử của phiên hiện tại

Nếu bạn muốn tắt tất cả lịch sử của một phiên nhất định, bạn có thể chỉ cần xóa HISTSIZE giá trị của biến môi trường trước khi bắt đầu công việc dòng lệnh  . Thực hiện lệnh sau để xóa giá trị của nó:

HISTSIZE Cho biết số lượng lệnh (số dòng) có thể được lưu trong danh sách lịch sử cho một phiên bash. Theo mặc định, nó đặt một giá trị khác 0, ví dụ: trên máy tính của tôi, giá trị của nó là 1000.

Vì vậy, lệnh được đề cập ở trên đặt giá trị của nó thành 0 và kết quả là không có gì sẽ được lưu trữ trong lịch sử cho đến khi bạn đóng thiết bị đầu cuối. Cũng nên nhớ rằng bạn không thể xem các lệnh đã thực hiện trước đó bằng cách nhấn phím mũi tên lên hoặc chạy lệnh lịch sử.

3. Xóa toàn bộ lịch sử sau khi công việc kết thúc

Đây có thể được coi là một hiện thực hóa khác của giải pháp được đề xuất trong phần trước. Sự khác biệt duy nhất là thực hiện lệnh này sau khi bạn hoàn thành tất cả công việc. Đây là lệnh vừa được đề cập:

Như đã đề cập trước đó, điều này  HISTSIZE có tác dụng tương tự như phương pháp.

4. Chỉ tắt lịch sử cho công việc của bạn

Mặc dù các phương pháp được mô tả trước đây (2 và 3) có thể đạt được mục tiêu của chúng, nhưng chúng có thể xóa toàn bộ lịch sử và trong nhiều trường hợp, một số phương pháp có thể không như chúng ta mong đợi. Đôi khi bạn có thể muốn lưu lịch sử cho đến khi bạn bắt đầu làm việc trên dòng lệnh. Đối với nhu cầu như vậy, bạn bắt đầu thực hiện các lệnh sau trước khi làm việc:

Nhận xét: [space] chỉ ra một khoảng trắng. Và vì khoảng trống, bản thân lệnh sẽ không được ghi lại.

Lệnh trên sẽ tạm thời vô hiệu hóa chức năng lịch sử, có nghĩa là tất cả các thao tác bạn thực hiện sau lệnh này sẽ không được ghi vào lịch sử, nhưng mọi thứ trước lệnh này sẽ được ghi lại trong danh sách lịch sử như nó vốn có.

Để bật lại chức năng lịch sử, hãy thực hiện lệnh sau:

Nó khôi phục môi trường về trạng thái ban đầu, tức là sau khi bạn hoàn thành công việc của mình, các lệnh sau khi thực hiện các lệnh trên sẽ xuất hiện trong lịch sử.

5. Xóa lệnh đã chỉ định khỏi lịch sử

Bây giờ, giả sử rằng bản ghi lịch sử đã chứa một số lệnh mà bạn không muốn ghi lại. Chúng ta phải làm gì trong trường hợp này? Nó đơn giản. Xóa chúng trực tiếp. Sử dụng lệnh sau để xóa:

Lệnh trên sẽ xuất ra các lệnh phù hợp trong bản ghi lịch sử, mỗi lệnh có một số phía trước nó.

Khi bạn tìm thấy lệnh bạn muốn xóa, hãy thực hiện lệnh sau để xóa mục đã chỉ định đó khỏi lịch sử:

Tương tự, bạn có thể sử dụng mũi tên lên để cuộn lại toàn bộ lịch sử. Khi bạn thấy lệnh bạn quan tâm xuất hiện trên thiết bị đầu cuối, hãy nhấn ” Ctrl + U” để xóa toàn bộ dòng và lệnh đó cũng sẽ bị xóa khỏi lịch sử.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *