GVKun编程网logo

bash – 如何在SWI-Prolog控制台中使用向上/向下历史记录键?

14

最近很多小伙伴都在问bash–如何在SWI-Prolog控制台中使用向上/向下历史记录键?这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展AdobeAcrobat9Pro如何清空历

最近很多小伙伴都在问bash – 如何在SWI-Prolog控制台中使用向上/向下历史记录键?这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展Adobe Acrobat 9 Pro如何清空历史记录-Adobe Acrobat 9 Pro清空历史记录的具体操作、Adobe Acrobat Pro9怎么清空历史记录 Adobe Acrobat Pro9清空历史记录的教程、arangosh:删除控制台历史记录、bash中的历史记录机制等相关知识,下面开始了哦!

本文目录一览:

bash – 如何在SWI-Prolog控制台中使用向上/向下历史记录键?

bash – 如何在SWI-Prolog控制台中使用向上/向下历史记录键?

当我向上/向下按压时,我应该得到 – 就像unix – 之前的命令,但我得到:

Welcome to SWI-Prolog (Multi-threaded,32 bits,Version 6.0.0)
copyright (c) 1990-2011 University of Amsterdam,VU Amsterdam
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software,and you are welcome to redistribute it under certain conditions.
Please visit http://www.swi-prolog.org for details.

For help,use ?- help(Topic). or ?- apropos(Word).

1 ?- ['nc'].
% nc compiled into nc 0.00 sec,84 clauses
true.

2 ?- listing.
true.

(我按’向上’箭头键返回’列表’命令..然后..)

3 ?- **^[[A**

我从源代码编译而没有任何额外的’configure’或’make’参数.

在以前版本的swi-prolog中,我发现这种情况很随意……有时控制台弄得一团糟,我不得不按’.’强制它终止当前行,然后历史记录将重新开始工作.

但是这个最新版本.. nada ..我正在使用ubuntu linux,bash shell.感觉就像一个o.s.环境问题,或swi-prolog中的错误.箭头键/历史记录在linux级别上运行良好.

解决方法

在编译swiprolog以使箭头工作之前,必须在主机上安装包libreadline-dev.

Adobe Acrobat 9 Pro如何清空历史记录-Adobe Acrobat 9 Pro清空历史记录的具体操作

Adobe Acrobat 9 Pro如何清空历史记录-Adobe Acrobat 9 Pro清空历史记录的具体操作

adobe acrobat 9 pro如何清空历史记录?这是许多用户关心的问题。清空历史记录可以有效保护个人隐私,提升工作效率。在adobe acrobat 9 pro中,清空历史记录的操作并不复杂。通过简单的几个步骤,即可轻松实现。接下来,让我们一起跟随php小编香蕉的指引,详细了解adobe acrobat 9 pro清空历史记录的具体操作。

首先,进行打开一个的Adobe Acrobat 9 Pro的软件当中。

Adobe Acrobat 9 Pro如何清空历史记录-Adobe Acrobat 9 Pro清空历史记录的具体操作

进行点击了Adobe Acrobat 9 Pro的菜单中的 文件 菜单。

Adobe Acrobat 9 Pro如何清空历史记录-Adobe Acrobat 9 Pro清空历史记录的具体操作

进行点击了文件菜单之后,弹出了下一级菜单选中为 历史记录 的选项。

Adobe Acrobat 9 Pro如何清空历史记录-Adobe Acrobat 9 Pro清空历史记录的具体操作

进行点击了历史记录选项之后,弹出了下一级菜单选中为 清除历史记录 的选项。

Adobe Acrobat 9 Pro如何清空历史记录-Adobe Acrobat 9 Pro清空历史记录的具体操作

进行点击了清除历史记录选项之后,就会弹出了一个的确认的窗口,进行点击 是 的选项。

Adobe Acrobat 9 Pro如何清空历史记录-Adobe Acrobat 9 Pro清空历史记录的具体操作

可以看到的是当前中的历史记录的被清空了。

Adobe Acrobat 9 Pro如何清空历史记录-Adobe Acrobat 9 Pro清空历史记录的具体操作

以上就是Adobe Acrobat 9 Pro如何清空历史记录-Adobe Acrobat 9 Pro清空历史记录的具体操作的详细内容,更多请关注php中文网其它相关文章!

Adobe Acrobat Pro9怎么清空历史记录 Adobe Acrobat Pro9清空历史记录的教程

Adobe Acrobat Pro9怎么清空历史记录 Adobe Acrobat Pro9清空历史记录的教程

遇到 adobe acrobat pro9 中的历史记录过多,影响使用效率?php小编子墨提供详细的清空历史记录教程,一步步指导您解决这个问题。继续阅读以下内容,了解具体操作步骤,彻底清除历史记录,优化 acrobat pro9 的使用体验。

首先,进行打开一个Adobe Acrobat Pro9的软件当中。

Adobe Acrobat Pro9怎么清空历史记录 Adobe Acrobat Pro9清空历史记录的教程

进行点击了Adobe Acrobat Pro9的菜单中的 文件 菜单。

Adobe Acrobat Pro9怎么清空历史记录 Adobe Acrobat Pro9清空历史记录的教程

进行点击了文件菜单之后,弹出了下一级菜单选中为 历史记录 的选项。

Adobe Acrobat Pro9怎么清空历史记录 Adobe Acrobat Pro9清空历史记录的教程

进行点击了历史记录选项之后,弹出了下一级菜单选中为 清除历史记录 的选项。

Adobe Acrobat Pro9怎么清空历史记录 Adobe Acrobat Pro9清空历史记录的教程

进行点击了清除历史记录选项之后,就会弹出了一个的确认的窗口,进行点击 是 的选项。

Adobe Acrobat Pro9怎么清空历史记录 Adobe Acrobat Pro9清空历史记录的教程

可以看到的是当前中的历史记录的被清空了。

Adobe Acrobat Pro9怎么清空历史记录 Adobe Acrobat Pro9清空历史记录的教程

以上就是Adobe Acrobat Pro9怎么清空历史记录 Adobe Acrobat Pro9清空历史记录的教程的详细内容,更多请关注php中文网其它相关文章!

arangosh:删除控制台历史记录

arangosh:删除控制台历史记录

如何解决arangosh:删除控制台历史记录?

arangosh 中,我不小心在没有 require("org/arangodb/users").save("user","password") 命令行选项的情况下执行了 console.history false,现在密码似乎永久成为历史记录的一部分。

有没有办法删除arangosh的命令历史?

解决方法

您的用户文件夹中应该有一个名为 .arangosh.history 的文件。

路径取决于您的操作系统。它应该是以下之一:

  • /home/<username>/.arangosh.history 在 Linux 上
  • /Users/<username>/.arangosh.history 在 macOS 上
  • C:\Users\<username>\.arangosh.history 在 Windows 上

bash中的历史记录机制

bash中的历史记录机制

基本用法

显示历史记录

使用history可以查看当前用户最近执行的HISTSIZE条命令,这些记录被存储在HISTFILE文件中,在bash启动时会自动加载到历史记录缓冲队列,其简单使用方法如下:

> history  # 显示全部历史记录
    1  ip a
    2  exit
    3  ls -la
    4  history
> history 2  # 显示最后两条历史记录
    4  history
    5  history 2

搜索与批量查询

使用Ctrl + R快捷键可以进入历史记录搜索模式,根据用户输入的字符按照最近最相似原则将搜索结果打印到命令提示符后面,输入回车可以直接执行这条结果。另一种方式是使用grep配合管道进行批量搜索:

> history | grep ffmpeg | grep gif | grep yuv444p  
 119  ffmpeg -y -f gif -i 79557166.gif -c:v libx264 -vf format=yuv444p yuv444p.mp4  
 120  ffmpeg -y -f gif -i 79557166.gif -c:v libx264 -vf format=yuv444p yuv444p.mkv

立即执行(危险)

使用!!能够立即执行历史记录中的最后一条命令,也就是重复上一条命令;使用![number]能够根据number执行对应编号的历史命令;使用![string]能够根据string按照最近最相似原则执行历史命令。这类命令最人性化的是会在执行前打印要执行的命令(让你知道系统是怎么挂的)。

> date
Sun 23 Feb 2020 06:18:16 PM CST
> !!  # 不安全
date  
Sun 23 Feb 2020 06:18:18 PM CST
> !907  # 危险
make  
make: \*\*\* No targets specified and no makefile found.  Stop.
> !shut  # 非常危险
shutdown now

通过!开头的命令直接执行对应的历史记录是十分危险的,尤其是在高权限用户环境下,因此建议在执行之前通过以下方式查看对应的命令:

> !!:p      #查看记录中最后一条命令
> !123:p    #查看记录中第123条命令
> !sys:p    #查看记录中sys开头的最近一条命令

删除记录

使用history -d <hist_num>可以删除指定序号的历史记录,该模式只接收一个参数,其他参数会被忽略,利用这一特性可以实现在bash中执行不被记录的命令。

> echo "secret command";history -d $(history 1)
secret command

如果你想完全清除当前会话内的使用痕迹,可以使用history -c清空历史记录缓冲队列,值得注意的是这个命令不会清空历史记录文件。

[warning]注意:除了上述方法外,用户还可以通过unset HISTFILE直接取消历史记录功能,这对服务器的日常维护来说是十分危险的。

文件操作

在退出终端时bash会自动将当前会话中执行过的命令写入历史记录文件中,默认写入方式为覆盖。你也可以通过-w-a模式将当前会话中的命令手动写入文件中:

> history -w  # 缓冲队列覆盖写入文件
> history -a  # 当前会话的命令追加写入文件

高级设置

Ubuntu 20.04 LTS为例,默认情况下历史记录相关的环境变量被定义在~/.bashrc文件中。

添加时间戳

通过修改HISTTIMEFORMAT变量可以对历史记录添加时间戳,%F代表日期,%T代表时间。

> export HISTTIMEFORMAT=''%F %T ''
> echo ''history with time''
> history 1
1032  2020-02-23 17:01:26 history

修改记录策略

通过修改HISTCONTROL变量可以控制history的记录策略,如下表所示:

可选值 记录策略
ignoredups 默认,不记录连续的相同命令
ignorespace 不记录空格开头的命令
ignoreboth ignoredups 和 ignorespace 的组合
erasedups 不记录重复的命令

我们还可以通过设置HISTIGNORE变量指定要忽略的命令,命令之间用:分隔:

> echo ''export HISTIGNORE="ls:cd"'' >> ~/.bashrc
> source ~/.bashrc

修改存储文件

当前用户的历史记录默认存储到~/.bash_history文件中,可以通过修改HISTFILE变量改变历史记录存储的位置。

> echo ''export HISTFILE="<new_histfile_path>"'' >> ~/.bashrc
> source ~/.bashrc

修改存储大小

变量HISTSIZE决定了使用history显示的记录数量,其默认值为1000

> echo $HISTSIZE
1000
> HISTSIZE=200 # 仅针对当前会话生效
> sed -i ''s/^HISTSIZE=1000/HISTSIZE=200/'' ~/.bashrc # 永久生效
> echo $HISTSIZE
200

变量HISTFILESIZE定义了存储在文件中的历史命令总数,默认值为2000。历史记录的存储方式类似于队列,bash初始化时会将HISTFILE文件中存储的所有历史记录加载到内存中,以队列的形式存储,用户在使用过程中产生的命令也会被添加到队列中,每次用户调用history都会显示最近的HISTSIZE条记录。

修改存储策略

在终端退出时会将当前会话(session)中产生的记录写入到文件中,为了防止同时开启多个终端导致历史记录丢失,建议在~/.bashrc文件中添加shopt -s histappend,让终端在退出时将当前会话产生的历史记录追加写入到HISTFILE文件中。

[warning] 注意:默认情况下的历史记录写入方式为覆盖,例如:开启终端A -> 开启终端B -> 关闭终端A -> 关闭终端B,这个操作序列会导致终端A在运行过程中产生的历史记录全部丢失。

断电、非法关机等特殊情况会让bash无法正常结束,进而导致当前会话的历史记录丢失。可以在~/.bashrc文件中添加以下内容实现自动追加写入每条命令:

PROMPT_COMMAND=”history -a”

bash的配置文件中,如果设置了PROMPT_COMMAND环境变量,则在每次显示命令提示符(例如:remilia@CT7GK:~$)之前,该变量的值将被作为命令执行,这里我们设置为自动执行执行history -a,将历史记录追加写入到文件中。

今天关于bash – 如何在SWI-Prolog控制台中使用向上/向下历史记录键?的讲解已经结束,谢谢您的阅读,如果想了解更多关于Adobe Acrobat 9 Pro如何清空历史记录-Adobe Acrobat 9 Pro清空历史记录的具体操作、Adobe Acrobat Pro9怎么清空历史记录 Adobe Acrobat Pro9清空历史记录的教程、arangosh:删除控制台历史记录、bash中的历史记录机制的相关知识,请在本站搜索。

本文标签: