如何记录Linux命令?


9

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

在示例中记录如何在实验室环境中设置NginX,PHP和权限,然后在部署计算机上重复确切的命令?

Answers:


19

在我看来,就像您想要script(1)一样

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

另一方面,如果您尝试自动化设置,请考虑配置管理,例如puppet


感谢Puppet,它看起来不错。我将详细了解。
乔纳斯(Jonas)2010年

1
up为+1。与仅记录shell命令相比,这是一种更好的方法。
EEAA 2010年

+1。cfengine是Puppet的竞争对手,而且
gWaldo


2

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

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


0

试试这个

脚本/ tmp / it356658-$(uname -n).out

#日期


他将script的输出定向到特定文件。命名是不寻常的,但可能是从更大的Shell脚本中提取的。
mctylr 2010年

1
$(uname -n)由命令行解释为运行uname使用命令-n标志打印出系统的主机名。
mctylr 2010年


0

通常,我使用类似history > ~/tmp/hh保存历史文件的命令。然后使用vi,使用G命令跳到底部,然后向上搜索,直到找到在脚本中有用的入口点附近的部分。从那里我展开了多余的ls命令,将一系列增量命令合并cd到目录中,添加了注释,并开始弄清楚哪些部分需要作为参数,哪些东西可能必须是环境设置,哪些东西必须经过硬编码。我添加了很多评论。有时,我会在自动执行的部分上“打点”,只是向用户提供一些说明(去找到此设置,ssh到foo和...,取消注释该文件,然后将其移至blarg)或echo一个URL ...并提示字符串,例如:“ Configure Foo and exit>”

(当您自动编辑文件时...我建议将说明性代码附加到文件中作为注释,并使用vi +命令行开关之类的东西将编辑器的光标放在文件底部附近,顶部例如,您将在命令行中添加5行说明性文本(例如,此处为doc),并在文件名之前添加。(是一种古老的咒语,用于寻址文件的最后一行,减去五行;相对模糊的开关接受任何... 命令...作为参数)。'+$-5'vi$-5ex+viex

另一个技巧......假设你做的大部分工作从X窗口系统终端(xtermkonsolegnome-terminal等),然后保持一个浏览器上的一些维基页面打开,当您去。剪切和过去的命令,输出,文本文件摘要以及随手记下笔记。(这主要是假设您主要是在ssh工作站,台式机,笔记本电脑等设备上工作)。

经常保存。

为不同的流程或阶段创建新的Wiki页面。然后将它们链接在一起,并链接到网络上的所有引用。(您知道,每次停留在任何时候都使用过的所有Google页面)。

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

如果操作正确,则可以委派给初级团队成员或急切的实习生,以老式的方式完成工作。:)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.