linux下的command
在此记录一下:
11:30: ~$ script -t 2>record.log -a session.log
In command lines we input "script -t 2>record.log -a session.log".
In the current directory,there are two files which have been made, called record.log
and session.log.
但是script此后在后台运行,然后我们就可以输入其他的command,
我们的动作都会被script在record.log和session.log中。我们结束记录输入exit就可以了。
播放记录:
11:30: ~$ scriptreplay record.log session.log
输入后在终端就会播放我所输入的动作。
如果使用的是mac,我用的最新的OS X 10.8有script,但是没有scriptreplay,
不知是什么原因。但是我们有办法,busybox中有很多很多linux的command,
其中上面的两个命令就有。Busybox 是一个集成了非常多个最常用linux命令和工具的软件。
而且有源码的,想了解linux的某些command实现可以看busybox源码.
官网:http://www.busybox.net
在mac中就是这样:
//记录: 12:02: ~/Desktop$ busybox script -t 2>record.olg -a session.log //播放: 12:02: ~/Desktop$ busybox scriptreplay record.olg session.log
终端命令提示符12:02: ~/Desktop$像这样设置自己喜欢的样式和颜色,
很酷,比如显示时间,我们不用抬头看时间就知道现在几点了。
前面12:02是时间,~/Desktop是当前路径,$表示普通用户。
仅仅在~/.bashrc或者~/.bash_profile加入一行,想立刻生效,在终端输入source ~/.bashrc或
. ~/.bashrc。PS1,PS2,PS3和PS4是bash的特殊变量。
export PS1="\[\e[32;1m\]\A: \[\e[31;1m\]\w$ \[\e[0m\]"
\[\e[32;1m\] 代表绿色
\A 表示时间
\w当前目录
更详细的:
- \a- ASCII响铃字符(07)
- \d– 以“Weekday Month Date”格式显示日期
- \D{format}– format被传递给strftime(3)并把相应的结果插入到提示字符串中; 如果format为空则代表本地时间. 必须有在括号
- \e– ASCII转义字符(033)
- \h– 到第一个 `.’前代表主机名称
- \H– 主机名称
- \j– 当前被Shell管理工作数
- \l– Shell终端设置名称的基本名
- \n– 新行
- \r– 回车
- \s– Shell的名称
- \T– 12小时制当前时间,格式为 HH:MM:SS
- \t– 24小时制当前时间,格式为 HH:MM:SS
- \@– 12小时制当前时间,格式为am/pm
- \A– 24小时制当前时间,格式为 HH:MM
- \u– 当前用户的名称
- \v– BASH版本
- \V– BASH发行备注,版本号+补丁
- \w– 当前工作目录,其中$HOME被缩写成"~"(使用PROMPT_DIRTRIM的值)
- \W– 当前工作目录的basename,$HOME被缩写成"~"
- \!– 命令的使用次数
- \#– 命令号
- \$– 命令提示符,如果UID是0则显示为#,否则为$
- \nnn– 8进制数据nnn代表的字符
- \\– 反斜杠
- \[- 开始一个非打印字符序列,这个序列可以嵌入一个终端控制序列到提示中
- \]– 非打印字符序列结束
如果我们写shell,想改变默认的输入颜色就可以利用上面类似的方法,改变shell输出的颜色。
linux一大特点就是可定制性,可以根据自己的偏好自行设置。这也是我很喜欢用linux工作和学习的原因之一。