如何以不同的方式保存终端命令?

如何以不同的方式保存终端命令?

我正在上一些在线课程。我想将所有命令分开。也就是说,我想将我在课堂上执行的所有命令保存在与其他系统命令不同的内存文件中。这将使我在系统上和课堂上工作时的工作变得轻松。

是否可以将终端命令保存在不同的文件上,然后从特定文件加载以前的命令?如果可以,该怎么做?

如果您不能正确理解这个问题,这里有一个例子。

类型 1:在课堂上,我使用命令来编译和执行文件,例如“gcc abcd.c-o abcd”“A B C D”

类型 2:但是,在系统上工作时,我使用如下命令“sudo apt安装...”或者“sudo apt purge……” 现在,当我想在课后使用以前的系统命令时,我会有很多类型 1 的命令,这会很烦人。所以,我想将类型 1 和类型 2 的命令保存在不同的文件上,并在需要时加载特定文件。

有关系统的详细信息:- Shell - /bin/bash

NAME="Ubuntu"
VERSION="16.04.7 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.7 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial

更新
根据@Marc Vanhoomissen,我可以创建另一个历史文件并将其命名为.classes(注意:.class 用于 java 文件。所以我不能使用它)。我打开终端,看到它正在使用bash_history作为 HISTFILE。然后我改为.classes,但命令没有改变。图中的命令是不是指定于.classes文件。最重要的是,它不显示.classes文件。 最后一个命令不在 .classes 文件中

.classes 文件
即使加载后,这些命令在终端中也看不到.classes历史文件

答案1

您输入的命令列表存储在特定文件中,该文件通常在.bashrc用户主目录的文件中指定。此文件是可自定义的,您可以通过设置来更改文件的名称:

HISTFILE=.class

或者

HISTFILE=.pers

相反,你可以指定

$ HISTFILE=.class

或者

$ HISTFILE=.pers

在命令提示符下。这将创建单独的文件。

答案2

在 bash 中,多功能程序history只有一个文件。该文件可以按会话更改,但不能按命令更改。

您没有指定如何将命令拆分成您称之为的“类型”。如果没有这些信息,您可能可以使用grep

history | grep gcc > history_gcc.txt

将创建history_gcc.txt包含所有命令的文件gcc

有关的

  1. 我可以为每个终端配置文件创建一个单独的 bash 历史文件吗?
  2. https://unix.stackexchange.com/questions/56446/shell-deal-with-multiple-command-history-files

相关内容