如何记录 Linux 命令?

如何记录 Linux 命令?

有没有办法记录我使用的 Linux 命令并在另一台机器上重复使用它们,或者以防我想重新安装机器?

例如记录我在实验室环境中如何设置 NginX、PHP 和权限,然后在部署机器上重复执行精确的命令?

答案1

我觉得你想要脚本(1)

它允许您记录和重播终端会话。

另一方面,如果你想要自动化设置,可以考虑配置管理,例如木偶

答案2

我能想到的两种方法:

答案3

Bash 将命令记录在名为 ~/.bash_history 的文件中。如果您通过命令行和一个命令窗口执行所有操作,则此方法有效。

但请注意,它将该文件的大小限制为最近的 1000 个(默认)命令。

答案4

history > ~/tmp/hh通常我会使用类似保存历史文件的命令。然后我使用vi,使用G命令,然后向上搜索,直到找到靠近脚本有用入口点的部分。从那里,我折叠出无关的ls命令,将一系列增量组合cd到目录中,添加注释,并开始确定哪些部分需要作为参数,哪些东西可能是环境设置,哪些东西必须硬编码。我添加了很多评论。有时我会“放弃”自动化的部分,只给用户一些说明(去找到这个设置,ssh到 foo 和...,取消注释这个文件中的 blah 并将其移动到 blarg)或echoURL ... 和一个提示字符串,如:“配置 Foo 并退出 >”

(当你放弃自动文件编辑时...我建议将指导性代码作为注释附加到文件中,并使用类似vi +命令行开关将编辑器的光标放在文件底部附近,即说明的顶部。例如,有 5 行说明性文本(a这里是文档例如)您可以在命令行'+$-5'中在vi文件名之前添加。 ($-5是一个古老的ex咒语,用于处理文件的最后一行,减去五行;相对模糊的+开关可以vi接受任何ex...命令...作为参数)。

另一个技巧...假设您大部分工作都是从 X Windowing System 终端(、、等)进行的,那么xterm在工作时请保持浏览器打开一些 wiki 页面。剪切和粘贴命令、输出、文本文件片段并记下笔记。(这主要假设您主要在工作站、台式机、笔记本电脑或其他设备上处理服务器)。konsolegnome-terminalssh

尽早并经常保存。

为不同的流程或阶段创建新的 wiki 页面。然后将它们链接在一起并链接到网络上的任何参考资料。(您知道,每次遇到困难时您都会使用所有这些 Google 页面)。

我的一些最好的 HOWTO 文档就是通过这种方式创建的。

如果你做得对,那么你也许能够以老式的方式摆脱工作,通过将工作委托给初级团队成员......或热切的实习生。:)

相关内容