使用 linux的几个需要注意的问题(之二)

简介:
1.在shell脚本中改变当前目录
cd只能改变current目录,因此不能指望在一个脚本中实现cd ...(long path)的目的,脚本是通过fork/exec执行的,等于说在一个新的进程环境中执行的,一旦这个脚本执行完毕,当前进程的pwd还将是原来的shell的pwd,shell脚本中的cd对pwd的改变随着shell脚本的exit而一同消失,还是老老实实敲路径吧,其实为了避免敲过于长的路径,可以将自己的登录路径设置成那个很长的路径,另外shell提供了一个方法,那就是用source执行脚本,source和cd一样,都是shell的内建命令,当你执行source abc的时候,并不会以fork/exec的方式来执行abc而是直接读取abc的每一行,读一行便执行一行,但是要注意,用source执行shell脚本的时候,脚本中不要有exit,否则一下子连shell都退出了
2./etc/passwd维护了一个uid和用户名的对应关系,而很多程序比如ls -l都需要这个映射关系,因此所有的用户都必须对该文件可读

3.getspnam函数的行为其实就是对/etc/password文件的f2i行为,将文件数据转换为了内部数据,但是为何不将password文件也定义成二进制的呢,比如utmpx文件一样?将password定义成二进制是非常方便的,每一行一个记录,一条记录对应一个结构体,若干个记录正好是一个结构体数组,岂不很好?是很好,但是那样做的话每个需要读取password文件的程序都应该知道这个结构体的文档描述,如果是文本文件,虽然每个程序也依然需要知道文件各个字段的含义,但是却可以将说明文档写入同一个文件中,比如用注释的形式存在,unix和linux中很多配置文件都是这样的,没有单独的文档,顶多一个随程序安装的man/info,由于文档是文本的,因此为了将文档和对应的文件集成,文件也最好是文本的,编程者看见了文件,同时也可以随即参考文档,最终看懂了文件,开始编码,省去了文档的管理,这也许就是unix使用人可读的文本格式的深层次的原因吧。



 本文转自 dog250 51CTO博客,原文链接:http://blog.51cto.com/dog250/1271807

相关文章
|
数据可视化 Unix Linux
当我第一次使用Linux --《我的linux初体验》
什么是Linux?Linux学习方式?如何正确的学习?想知道的话那么你来对了!
282 0
当我第一次使用Linux  --《我的linux初体验》
|
Linux Perl 网络协议
linux使用小技巧
查看占用目录的进程 1)用fuser杀掉占用那个目录的进程 fuser -k /directory 2)在启动的进程里面查找 ps -ef |awk '{print }' |grep -v PID |xargs /usr/proc/bin/pwdx 查看TCP进程数 [root@10-15-19...
931 0
|
关系型数据库 Linux 应用服务中间件
Linux使用笔记
现在用的Linux是很早以前安装的redhat9,后来一直就没有使用。这两天在它上面安装了eclipse等软件,总体来说比较顺利,为了下次遇到同样问题能够更快的解决,这里把安装的过程和值得注意的地方记录下来。
1263 0
|
Linux 网络安全 数据安全/隐私保护
|
关系型数据库 Java MySQL
Linux 日常使用小记.
一、Oracle VirtualBox安装Linux7.0全屏设置 1. 点击菜单栏 设备 –> 分配光驱 –> 选择一个虚拟光盘,找到VirtualBox安装目录下的VBoxGuestAdditions.iso,加载此镜像。
1079 0