当~符号后面不加用户名,而直接加/符号后者不加任何内容的话,表示当前用户的主目录 。如系统工程师往往需要修改用户的配置文件,以达到某些目的 。此时系统工程师需要使用vi命令来编辑这个配置文件,如vi $HOME/.profile 。这个命令的含义就是打开当前用户主目录下面的.profile配置文件 。在输入这个命令的时候,HOME必须大写,以为其代表的是环境变量 。在输入这个命令的时候,比较麻烦 。一是需要使用$这个特殊符号,二是需要转换大小写模式 。因为vi命令必须为小写,而HOME环境变量必须为大写 。所以在输入的时候有些不方便 。其实此时系统工程师也可以利用~这个代字符来简化输入 。如在这个代字符的帮助下,上面这个命令就可以简化为vi ~/.profile即可 。这可以就可以免除大小写转换的麻烦 。
另外,我们还可以利用~代字符快速切换到当前用户的主目录 。如cd ~就表示切换到当前用户的主目录 。这使用起来非常的方便 。另外,使用系统工程师还可以使用cd ~-命令,切换到最近一次进入的目录中 。也就是说,采用以上这两个命令,可以快速的在最近使用的目录与当前用户主目录之间进行切换 。这对于日常的维护工作是非常方便的 。有时候系统工程师在开发一些嵌入式程序的时候,也经常需要用到这两个命令 。因为其可以非常方便的实现在用户主目录与当前目录之间的切换 。所以说,这个~代字符其大部分系统工程师所忽视,其作用仍然不可小瞧 。不过其有一个缺点,就是通用性不是很好 。据笔者所知,并不是在所有的shell 中都支持这个代字符 。如在Bourne shell中,就不支持这个代字符 。如使用vi ~/.profile命令,会提示错误信息 。所以这是这个代字符最大的缺陷 。系统工程师在使用过程中,需要注意这个通用性的问题 。如果不考虑这个问题的话,那么这个代字符真的是一个很不错的环境变量 。
三、历史变量的大小 。
在shell中,我们按方向键,可以显示最近几次执行过的命令 。有时候,我们需要重复执行某条命令进行测试,如果这个命令比较长的话,那么历史命令就会非常的有用 。系统工程师只需要简单的利用方向键找到先前执行过的命令,然后按回车键即可 。如系统工程师可能编写了一个文件备份的脚本程序 。在编写过程中,需要不断的执行这个脚本程序以完善其功能 。此时利用历史命令功能就可以免除每次输入命令的烦恼 。
通常情况下,这个执行过的命令是保存在硬盘或者内存中的 。随着内存与硬盘价格的下降,系统工程师往往会在Unix服务器上配备比较大的硬盘与内存 。为此系统工程师可以把这个历史纪录的文件设置为大一点,让其保存更多的历史命令 。如系统工程师可以更改HISTSIZE这个环境变量,这个环境变量用来显示内存中的历史纪录长度 。而更改HISTFILESIZE这个环境变量,则可以修改保存在硬盘中的历史纪录文件的大小 。
通常情况下,笔者建议大家修改这个两个环境变量 。因为其不但可以简化系统工程师的输入,而且还可以通过查看历史纪录来查询以前对操作系统所进行的维护操作 。这对于排除操作系统故障具有一定的意义 。如果有必要的话,系统工程师还可以根据需要指定历史纪录保存的位置 。如可以设置HISTFILE环境变量,来决定在硬盘上保存的历史纪录文件的位置与文件名 。如果没有设置这个环境变量的话,则默认情况下历史纪录文件是保存在用户的主目录下的 。也就是说,每个用户都有自己的历史纪录文件 。在每个用户的shell中执行的命令,都纪录在各自的历史纪录文件中,彼此之间是不通用的 。
推荐阅读
- 找出UNIX中最费CPU的进程
- 怎样在UNIX系统中使用自定义功能键
- SCO UNIX OPENSERVER 5.05下打印机的安装
- 在Unix系统下用shell制作通用界面
- SCO UNIX系统网络风险防范
- SCO Unix系统文件的授权处理
- 什么叫让压锚杆结构
- UNIX下执行文件的减肥工具strip
- UNIX下用C写MODEM传输程序
- 偷税漏税让谁承担刑事责任
