Xóa đầu ra đầu cuối của lệnh cuối cùng


13

Thay vì cuộn qua hàng trăm dòng đầu ra để xem lịch sử lệnh trước đó, liệu đầu ra của lệnh cuối có thể bị xóa không? Ví dụ: sau khi thực hiện ls, xóa đầu ra của nó vì bạn không cần nó nữa.

BIÊN TẬP:

Đây không phải là thông thường clearhoặc ctrl+Lhoạt động của bạn . Ý tưởng là cuộn ngược lại mặc dù lịch sử tìm kiếm đầu ra của lệnh trước đó, nhưng không phải cuộn qua tải ls, hoặc cat, hoặc sudo apt-get installđầu ra trừ khi tôi thực sự muốn. Nó có thể trông giống như thế này:

cat fileIWantToRemember
ls directoryIWantToForget
# some command that wipes the output of ls
# scroll back to see the output of cat immediately

Bạn có nghĩa là để xóa đầu ra, hoặc để loại bỏ lệnh khỏi lịch sử lệnh của bạn? Nếu bạn muốn sửa đổi lịch sử lệnh của mình, có thể chủ đề này giải quyết những gì bạn đang tìm kiếm?
ernie

Thiết bị đầu cuối chỉ hiển thị một luồng văn bản và lưu trữ một số trong bộ đệm nội bộ của chính nó. Nó không có cách nào để biết, hoặc phân biệt giữa đầu ra lệnh. Thiết bị đầu cuối rxvt-unicode có trình thông dịch perl có thể thực hiện một cái gì đó như thế này. Nhưng theo như tôi biết thì không được.
Keith

Cách đây rất lâu, tôi đã sử dụng trình giả lập thiết bị đầu cuối trên Mac OS X có tính năng này, nhưng tôi không thể nhớ nó được gọi là gì nữa. Nó không miễn phí, mặc dù. Tuy nhiên, trong khi thực hiện tìm kiếm nhanh trên google cho nó, tôi đã chạy vào trang web Finalterm.org , có vẻ như nó đang cố gắng thực hiện tính năng đó. Tuy nhiên, "Final Term đang trong giai đoạn phát triển nặng nề và không ổn định cũng như tính năng hoàn chỉnh!", Vì vậy tôi đã không thử nó. Có vẻ thú vị, mặc dù. Việc tìm kiếm google, cho những gì nó có giá trị, làterminal emulator output folding
rici

Final Term được phát triển đủ mạnh để gấp các lệnh (và rất nhiều thứ tuyệt vời khác), và một khi có một phím tắt để làm điều đó thì vấn đề đã được giải quyết. Tôi đã bắt đầu nghĩ rằng mình bị điên ...
nacnudus

1
đó không phải là câu trả lời chính xác của bạn nhưng trong những trường hợp như vậy để xem nội dung của các tệp lớn, tôi sử dụng lệnh 'less' thay vì 'cat'. Một điều nữa là nếu bất kỳ lệnh nào cung cấp số lượng lớn các dòng làm đầu ra cho bàn điều khiển, bạn có thể tránh nó bằng cách viết "$ the-command | less".
Devasish

Câu trả lời:


4

Nhờ có @rici, hành vi này có thể được gọi là "gấp". Đầu ra của các lệnh không bị lãng quên, nhưng bạn có thể ẩn nó cho đến khi bạn cần lại. Folding là phổ biến trong trình soạn thảo văn bản nhưng dường như rất hiếm trong trình giả lập thiết bị đầu cuối.

Final Term là một trình giả lập thiết bị đầu cuối mới bao gồm việc gấp giữa nhiều thủ thuật ưa thích khác. Coi chừng: "Học kỳ cuối đang trong giai đoạn phát triển nặng nề và không ổn định cũng như không có tính năng hoàn chỉnh!" Nó đã được phát triển đủ mạnh để gấp các lệnh của tôi khi tôi thử nghiệm nó, nhưng quá không ổn định để không bị sập. Một để xem.


0

Tôi nghĩ rằng bạn đang tìm kiếm lệnh rõ ràng ...

clear

"Xóa" xóa lệnh cuối cùng của bạn khỏi chế độ xem. Bạn có thể cuộn lên trong thiết bị đầu cuối để xem lại nếu cần.


Vấn đề là không phải cuộn qua nó khi xem qua lịch sử của bạn để tìm thứ khác.
xà cừ

Bạn có nghĩa là bạn muốn chặn đầu ra từ lệnh? Nếu có, điều này có thể giúp bạn: stackoverflow.com/questions/617182/
Đế

2
Thật tuyệt nếu tôi không bao giờ muốn thấy đầu ra. Tôi muốn xem đầu ra lần đầu tiên, và sau đó quên nó đi. Vì vậy, trong ví dụ tôi đã đưa ra, tôi muốn kiểm tra đầu ra lsvì một số lý do, nhưng sau đó tôi muốn loại bỏ nó để tôi không phải tiếp tục cuộn qua nó để tìm đầu ra của mèo. Rõ ràng là tôi có thể làm lại con mèo, nhưng tôi có thể tưởng tượng muốn giữ lại một chuỗi các lệnh, và thật tuyệt khi không phải lặp lại tất cả.
xà cừ

0

Trong bash, bạn có thể nhấn phím tắt Ctrl + Lđể xóa màn hình, tương tự như clearlệnh. ( http://ss64.com/bash/syntax-keyboard.html )

Hoặc, bạn có thể sử dụng history | tail -3để xem ba lệnh cuối cùng. ( http://www.howtogeek.com/howto/44997/how-to-use-bash-history-to-improve-your-command-line-productivity/ )


Xem bình luận của tôi cho @Justin bên dưới, vấn đề là không phải cuộn qua nó khi xem qua lịch sử cho một cái gì đó khác. Một cái gì đó giống như HISTCONTROL=ignorespacetrong liên kết thứ hai của bạn mà bạn có thể sử dụng sau khi thực tế sẽ tốt.
xà cừ

Tôi hơi lạc lõng với những gì bạn muốn đạt được. Một suy nghĩ khác, trong nhiều bảng điều khiển tôi đã sử dụng, bạn thường có thể sử dụng các phím mũi tên để duyệt lịch sử lệnh trong bash, điều này có áp dụng cho tình huống của bạn không?
phe0113

Có chỉnh sửa của tôi làm rõ câu hỏi?
xà cừ

@nacnudus, vâng, tôi hiểu ý của bạn ngay bây giờ :)
phe0113

0

Có vẻ như bạn muốn xóa các mục khỏi lịch sử của bạn. Để làm điều này, trước tiên bạn sẽ cần bật tính năng viết lịch sử, thay vì đăng xuất bằng cách chỉnh sửa ~ / .bashrc của bạn và thêm:

shopt -s histappend; export PROMPT_COMMAND='history -a';'

Sau đó, để xóa các mục bạn có thể làm:

history -d offset, trong đó offset là mục lịch sử bạn muốn xóa

Dựa trên chủ đề diễn đàn này .


Điều này dường như xóa nó khỏi tập tin lịch sử, đó gần như là ý tưởng đúng, nhưng nó có thể xóa sạch nó khỏi thiết bị đầu cuối hiện tại không?
xà cừ
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.