20090305------------------------------------------------------------------------
Linux小知识点:
~ 表示您的 home 目录。与之类似的简写形式 ~username 表示 username 的 home 目录。例如,~joe 表示 joe 的 home 目录
如果您想要查看命令行符号扩展后的结果,可以使用 echo 命令:
echo ls ~
如果您希望从一个历史命令中获得特定的参数,可以使用 !(感叹号)来引用这个命令,并提供 :N,其中 0 表示命令名,1 表示第 1 个参数,依此类推。
提取命令 782 的第二个参数
echo !782:2
可以使用 ^(脱字符号)引用命令的第一个参数(而不是命令名本身),并且您可以使用 $(美元符号)引用历史命令的最后一个参数。
echo !788^
echo !788$
printenv 打印环境变量
$ MYVARIABLE=$HOME/projectX
$ export TMPDIR=/tmp/projectX
$MYVARIABLE 仅对 Shell 是可见的,因为没有将其导出。
在后面的一个命令中,设置并导出了 $TMPDIR,因此它对于从 Shell 中启动的所有应用程序都是可用的。
要查看所有 Shell 变量的列表,可以输入 set
在您完成对 Shell 的配置之后,请捕获这些设置的快照并将其保存到一个 Shell 启动文件中:
$ set >> $HOME/.zshrc
$ alias >> $HOME/.zshrc
注意:您可能需要编辑所得到的 .zshrc 文件,并删除那些会话特定的变量。
下面介绍了如何列出您的 home 目录树中、一个小时之内修改的所有的文件:
$ find ~ -mmin -60 \! -type d
!表示 -not,表示不要目录
类似地,您可以列出 home 目录树中、今天修改 的所有文件:
$ find ~ -daystart -mtime -1 \! -type d
您可以快速地查明一个特定的日期究竟是星期几:
$ date -d "nov 22"
Wed Nov 22 00:00:00 EST 2006
实现重复性交互工作的自动化(这就是我想要的!!!)
Expect 语言(是 Tcl/Tk 的扩展,还有其他的变种可供使用)用来编写与交互式程序运行会话的脚本,而该脚本就好像是一个用户,直接与程序进行交互。