有没有办法记录我使用的 Linux 命令并在另一台机器上重复使用它们,或者以防我想重新安装机器?
例如记录我在实验室环境中如何设置 NginX、PHP 和权限,然后在部署机器上重复执行精确的命令?
答案1
答案2
答案3
Bash 将命令记录在名为 ~/.bash_history 的文件中。如果您通过命令行和一个命令窗口执行所有操作,则此方法有效。
但请注意,它将该文件的大小限制为最近的 1000 个(默认)命令。
答案4
history > ~/tmp/hh
通常我会使用类似保存历史文件的命令。然后我使用vi
,使用G命令,然后向上搜索,直到找到靠近脚本有用入口点的部分。从那里,我折叠出无关的ls
命令,将一系列增量组合cd
到目录中,添加注释,并开始确定哪些部分需要作为参数,哪些东西可能是环境设置,哪些东西必须硬编码。我添加了很多评论。有时我会“放弃”自动化的部分,只给用户一些说明(去找到这个设置,ssh
到 foo 和...,取消注释这个文件中的 blah 并将其移动到 blarg)或echo
URL ... 和一个提示字符串,如:“配置 Foo 并退出 >”
(当你放弃自动文件编辑时...我建议将指导性代码作为注释附加到文件中,并使用类似vi
+命令行开关将编辑器的光标放在文件底部附近,即说明的顶部。例如,有 5 行说明性文本(a这里是文档例如)您可以在命令行'+$-5'
中在vi
文件名之前添加。 ($-5
是一个古老的ex
咒语,用于处理文件的最后一行,减去五行;相对模糊的+
开关可以vi
接受任何ex
...:命令...作为参数)。
另一个技巧...假设您大部分工作都是从 X Windowing System 终端(、、等)进行的,那么xterm
在工作时请保持浏览器打开一些 wiki 页面。剪切和粘贴命令、输出、文本文件片段并记下笔记。(这主要假设您主要在工作站、台式机、笔记本电脑或其他设备上处理服务器)。konsole
gnome-terminal
ssh
尽早并经常保存。
为不同的流程或阶段创建新的 wiki 页面。然后将它们链接在一起并链接到网络上的任何参考资料。(您知道,每次遇到困难时您都会使用所有这些 Google 页面)。
我的一些最好的 HOWTO 文档就是通过这种方式创建的。
如果你做得对,那么你也许能够以老式的方式摆脱工作,通过将工作委托给初级团队成员......或热切的实习生。:)