我想有选择地删除 Windows 终端中的部分历史记录。历史记录是指过去在 Windows 终端中输入的命令。
如何才能做到这一点?
我正在使用 Windows 10,Windows Terminal 1.8.1521。
答案1
Windows 终端中的命令历史记录由您在其中使用的 shell 应用程序管理。
你没有提到你正在使用哪个 shell,但这里有几种可能性:
如果您在 shell 中使用 WSL
bash
,则history -c
清除当前 shell 实例的历史记录。删除该文件~/.bash_history
将清除节省history -d <offset>
先前会话的历史记录。您可以使用(history
单独使用以查看偏移量)选择性地从当前会话中删除条目。如果你在 WSL 中使用 shell
fish
,则history clear
两者都会清除当前 shell 历史记录和删除过去的历史记录。history delete ...
可用于删除特定条目。请参阅man history
下文fish
了解更多信息。如果你使用 WSL
zsh
,这似乎有点复杂——我只会提供一个链接到单独的答案就此而言。如果您使用的是 PowerShell,则
Clear-History
可能会在特定会话中清除它。但是,如果您使用的是psreadline
模块(这是大多数最新 PowerShell 版本的默认模块),则可能需要按Alt+ F7。要清除永久历史记录文件,您需要使用 找到它,Get-PSReadlineOption | select -expand historysavepath
然后删除该文件。如果您正在使用
CMD
shell(“旧”的 Windows/DOS 兼容 shell),则Alt+F7将清除整个历史记录。CMD 不会永久存储历史记录文件,因此可能不需要删除任何项目。但是,如果您无论如何都想清理单个条目,您可以使用 打开历史记录弹出窗口,使用/F7选择一个项目,然后按将其删除。UpDownDelete
请注意,这一切都是指命令历史。Windows Terminal 中还有回滚缓冲区的概念。在 PowerShell 和大多数 WSL/Linux shell 中,该clear
命令将清除该缓冲区。