Làm cách nào để xóa các lệnh đã lưu khỏi Terminal?


16

Như tất cả các bạn đều biết, Mac OS X lưu trữ tất cả các lệnh chạy từ Terminal trong Terminal, tuy nhiên, tôi muốn xóa (ví dụ) 3 lệnh cuối cùng khỏi terminal. Tôi có thể làm cái này như thế nào?

Câu trả lời:


12

Mac OS không lưu trữ bất cứ thứ gì ở bất cứ đâu.

bash, đó là shell được chạy trong terminal, không lưu lịch sử lệnh.

Lịch sử lệnh đầu cuối được lưu trữ trong một tệp ẩn trong thư mục người dùng của bạn được gọi là .bash_history

Điều này có nghĩa là tệp này là: /Users/{username}/.bash_history

Bạn phải bật "Hiển thị tệp hệ thống" để xem nó (từ menu "Xem" trong công cụ tìm).

Tệp chỉ là một danh sách văn bản của tất cả mọi thứ bạn nhập vào trình bao. Bạn có thể mở nó trong TextEdit hoặc trình soạn thảo bạn chọn.


Bạn có thể nên đóng Terminal.applại để xóa mọi thay đổi gần đây vào tệp trước khi thực hiện thay đổi hoặc có thể bị ghi đè từ phiên bản Terminal.appcó trong bộ nhớ.


2
Các lệnh không được lưu trữ khi đang bay mà chỉ khi thoát ra hoặc khi được nhắc làm như vậy (ví dụ: history -ahoặc history -w). Thông thường các lệnh cuối cùng chưa có trong tệp.
Matteo

Rất tiếc, tôi muốn thêm bạn có lẽ nên đóng tất cả các phiên bản của terminal.app trước khi chỉnh sửa tệp này. Đã sửa.
Tên giả

19

Đây không phải là tính năng Mac OS mà là tính năng shell. Giả sử rằng bạn đang sử dụng bash (mặc định):

  • lịch sử lệnh được lưu trữ trong bộ nhớ và tồn tại trong một tệp (thường ~/.bash_history)
  • bạn có thể liệt kê và chỉnh sửa lịch sử bằng historylệnh

Với man bash(trong SHELL BUILTIN COMMANDSphần), bạn sẽ tìm thấy mô tả của các tùy chọn khác nhau.

Bạn có thể:

  • liệt kê các mục lịch sử

    $ history
  • xóa toàn bộ lịch sử

    $ history -c
  • xóa một mục nhất định

    $ history -d offset

cả hai câu trả lời đều đúng, tôi đã chọn câu trả lời sớm nhất .. cảm ơn bạn ..
JAHelia

về làm lịch sử -c, nó nói fc: event not found: -c. Sau đó, tôi tự mở tập tin, xóa nội dung. Closed and reopened the terminalvà lịch sử không tồn tại bây giờ.
tò mò

2

Dành cho người dùng Mac Terminal

xóa lịch sử lệnh bash bằng lệnh sau $ echo '' > ~/.bash_history

Dành cho người dùng Mac zsh

xóa lịch sử lệnh zsh bằng lệnh sau $ echo ''> ~/.zsh_hostory


Lưu ý rằng điều này sẽ xóa toàn bộ lịch sử, và không chỉ ba dòng cuối cùng.
John N

0

Ngoài Chỉnh sửa văn bản, Ngoài ra, nếu bạn là trường học cũ, hãy sử dụng 'vi' để chỉnh sửa tệp và xóa các lệnh tấn công. Các trình soạn thảo dòng lệnh tương tự là emacs (chia sẻ các phím tắt chỉnh sửa với OS X) hoặc nano (đã đơn giản hóa điều hướng và trợ giúp trực quan về cách lưu và thoát trình chỉnh sửa mà không cần bảng tham chiếu) .


1
Điều đó sẽ được bao phủ bởi "Bạn có thể mở nó trong TextEdit hoặc trình soạn thảo bạn chọn ", đây là câu trả lời được chấp nhận.
John N

Chúng tôi thích câu trả lời để tự đứng. Ngay bây giờ nó là một nhận xét nhiều hơn là một câu trả lời, bạn có thể thêm ít nhất tên của tệp để chỉnh sửa không?
nohillside
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.