如果用户一登陆Unix操作系统,系统就会自动定位到合适的目录。这无疑可以提高系统工程师的工作效率。在Unix操作系统中,用户的默认目录是由HOME环境变量所设置的。笔者这次就给大家介绍一下这个HOME变量的奥秘。跟大家讨论讨论如何通过巧设HOME变量来提高办公效率。
一、默认的HOME变量值。
默认情况下,用户的主目录是系统工程师在创建用户帐号的时候所自动创建的。一般情况下,在操作系统的/home目录下,会有各个用户名命名的子目录。如有一个用户名字为admin,则在这个/home目录下就会有一个/home/admin子目录。这就是用户的默认目录。当这个admin用户登录到操作系统的时候,如果是在文字模式下登录,则系统会将用户当前的位置自动指向到这个文件夹。也就是说,用户的默认主目录是在建立帐号的时候自动创建的。但是,这个默认的设置并不一定能够满足系统工程师或者用户的需求。如一个数据库管理员,其数据库相关的文件(包括安装程序)可能都是在目录/db下面。为此数据库管理员用户可能希望其一登陆到系统后,就自动定位到这个/db目录下/,而不是/home/db下。不然的话还需要手工进行目录切换,反而更加的麻烦。此时就涉及到更改系统的默认设置问题。
二、更改HOME变量值来调整默认目录。
在Unix操作系统中这个用户的默认目录其实是由环境变量$HOME设置的。通过命令echo $HOME(注意系统环境变量一般都为大写)可以查看这个环境变量的当前值。如果没有更改默认设置,那么用户的默认主目录总是在/home目录下。不过系统工程师可以根据需要来调整这个变量,从而达到调整用户默认目录的目的。要实现这个需求,必须了解如下内容。
首先需要了解HOME变量的存储结构。根据echo命令可以显示环境变量HOME的值,其一般的格式为/home/用户名。从这个格式中可以看出,HOME命令存储的是一个绝对路径。在Unix系统中绝对路径是一串目录的序列。在各个目录中是采用/符号进行分割的(注意,这个跟Windows操作系统不同)。在这个目录序列中,第一个/符号表示根目录,后面几个/符号主要用来起到分割目录的作用。为此如果要重新定义这个HOME变量,也需要遵循这个规则,即要采用绝对路径,而不能够采用相对路径。
其次需要注意HOME变量中的目录序列其大小写是敏感的。如环境变量HOME是大写的,而在目录序列中/home目录是小写的。如果两个倒过来的话,就可能会出现一些莫名其妙的问题。系统工程师需要牢记一点,在Unix操作系统中,大小写一般都是敏感的。所以将一个绝对目录赋值给HOME变量的时候,需要注意大小写要跟实际的目录名字相同。一般情况下,最好先使用cd命令从根目录开始定位到目标目录中,然后通过复制、粘贴等操作将目录序列赋值给HOME环境变量。这可以提高准确率。设置完以后,在使用cd $HOME命令来测试一下,这个环境变量设置是否准确。
第三需要注意的是,一般主目录的路径名都是保存在/etc/passwd中的。系统工程师也可以修改这个文件来实现更改用户主目录的目的。查看这个文件,系统管理员会发现有一条类似/home/用户名的信息。这个信息就是环境变量HOME的值。将这个绝对路径更改为用户想要定位的默认目录,就可以实现调整默认目录的目的。不过需要注意的是,这调整目录的时,目标目录必须存在。否则的话,会出现一些意想不到的后果。
可见调整用户的默认目录并没有太大的难度。不过系统工程师需要注意的是在调整这个目录的时候一定要细心。笔者在日常工作中,发现很多系统工程师在调整这个默认目录的时候,由于绝对路径输入错误,如多了一个空格或者大小写输错了,从而导致登录错误。为此,在设置好之后,系统工程师最好能够进行测试,看看所做的调整是否生效。一般最常见的错误就是大小写有问题。另外就是利用了相对路径,而不是绝对路径。第三是目标目录用户可能没有对应的权限。最后就是在设置HOME环境变量的时候,没有将调整后的值保存在配置文件中。下次重新登录后这个设置就失效了。这些常见的问题,只要用户够细心,一般都可以避免。
[1] [2] 下一页