关于SA-119读书笔记-2( 三 )


“~ ”表示当前工作目录,“~-”表示先前的目录(父目录) 。
“-”:使用cd -可以在当前工作目录和上一工作目录间切换 。

2. 文件名中使用通配符:
“*”:可代替文件名中任意位数的字符,不包括开头首字符是.的隐藏文件;
“?”:可代替文件名中一位字符,不包括开头首字符是.的隐藏文件;
“[]”:用一组字符或一个范围的字符代替单一一个字符(如[a-z]*表示开头字母

可以是a-z中任意一个字母的文件、[acb]*表示以a或c或b开头的文件) 。

3. 使用引用符号:
" "单引号:单引号中的所有字符都将被shell忽略执行;
" "双引号:双引号中除$、`(被单引号括起来的东西)、三个特殊字符,其他内

容也将被shell忽略执行;
反斜杠:双引号中特殊字符前加上就不会被shell当指令而执行 。
例:echo "$SHELL"显示为/bin/ksh,而echo "$SHELL"则仍为$SHELL

4. 使用重定向符:
三个重定向符:> 、< 、| ——默认下,系统都是通过键盘接收和读取命令,再

通过显示设备将命令和结果输出到屏幕上!
格式:commandcommand>filename:把命令的结果输出到一个文件中;
command>>filename:把命令的结果添加进文件中(跟在原有内容之后);
!抑制命令的出错信息:command 2> /dev/null

“|”管道符:故名思义就是把前一个命令的输出当作第二个命令的输入信息 。

5. 显示历史命令:
直接用history命令显示已执行的历史命令,例:
...
87 data
88 cd /etc
89 ps -ef
90 history
使用history -n可不显示左边的命令行号;
可用history -m显示不包括当前history这个命令之前的m个命令(m为具体数字);

默认history的命令按执行顺序往下排列显示的,可以是用-r参数反相排列;
若history后跟具体命令,则显示近期执行那条命令的相关次数 。

在Korn shell中历史命令存储在$HOME/.sh_history这个文件中,默认为128条,

可通过HISTFILE变量改变默认存储值 。

重复执行上一条命令:命令行中直接输入r即可!若r后再跟一个具体行号,则执

行history中那行所在的命令 。若r后跟具体字串,则系统会执行最近执行过的命

令中含那个字串的命令 。

[接下来讲到的开启vi的shell命令行编辑还没完全理解,等弄明白后进行补充 。]

6. 用户配置文件:
当用户登陆时,Korn shell会从.profile文件中查询初始环境设置,.profile文

件包含ENV变量 。shell首先执行.profile中的命令,再执行命令中的ENV变量 。

另外,shell还要定位Korn shell的特定配置文件.kshrc,之后系统提示符就会出

现,等待用户命令输入 。

若需要启动CDE,则还要用到另一个初始化文件.dtprofile来定制桌面环境 。

~/.profile文件:针对特定用户的配置文件,其中的设置只对特定用户生效;
/etc/profile文件:全局配置文件,其中的设置对登陆系统的每个用户都生效;
~/.kshrc文件:包含shell变量和别名,可设置一下常用内容:
Shell提示符定义、别名定义、shell功能、History变量、shell特殊选项等 。

一般对.profile和.kshrc的修改在用户再次登陆后生效,也可通过执行这两个文

件使之当场生效:
$. ~/.profile
$
$. ~/.kshrc

~/.dtprofile文件:对.dtprofile文件中变量的修改可覆盖任何CDE中默认设置 。

每次登陆CDE shell都会去读.dtprofile、.profile和.kshrc文件;
在CDE中打开Console也会再次读.profile和.kshrc文件!

推荐阅读