上一篇文章讨论Ubuntu Linux中的工作捷径。这一篇我想聊一聊Linux文件系统,还有理应在什么地方找到想要的文件。再次说明,我这篇文章基于Ubuntu Linux。
如果使用Microsoft Windows XP,你就知道,安装应用软件时,常常但不总是安装在"C:\Program Files\<application name>"。用户的数据将存放在"C:\Documents and Settings\"。如果是Microsoft Vista用户,那么,用户数据就去到"C:\Users\<your user name>\"。
但Linux如何运作?当你安装应用软件或者建立新的文档时,安装到什么地方?让我们看一看Linux文件系统怎样把文件存储起来。
好,首先,我要解释源自Unix文件系统的基本结构。Unix文件系统有几十年历史,它有一个从树根开始的树形结构,人们恰如其分把起点称为"root"。这个根由字符"/"表示,与Windows文件夹字符"\"相对。从"root"开始,有若干系统实际驻留的文件夹。
许多文件夹脱离根后普通用户就不能使用,所以我就不费事多说,而是要讲叙它们的基本用途。
从上而下(按字母顺序):
/bin:存储二进制文件(Microsoft中的.exe文件也就是二进制文件)。它们包括像实用的压缩软件一样的工具。
/boot:存储启动进程需要的文件。
/dev:部分系统设备的有关信息。
/etc:这是有趣的文件夹之一。"etc"实际上表示“可编辑的文本配置(文件)”。这个文件夹因许多系统应用程序而具有多个子文件夹,因此,它在某些方面与"C:\Program Files\"目录相似。每个应用程序会有一文件夹和一个与其相联系的.conf文件。这些文件有点象在一些Windows应用软件中找到的.ini文件。可以编辑.conf文件,作出修改,以适应应用程序。例如,我就在笔记本电脑上运行"squid(乌贼)"(一种互联网代理服务应用程序),所以必须编辑/etc/squid/squid.conf文件,设置"visible_hostname",使这个代理服务器正常运转。
/home:是下一个文件夹,这个目录几乎与"C:\Documents and Setttings\"(XP)或者"C:\Users\"(Vista)完全相同。你将在这里找到用户建立的文件和文件夹。它也包含许多句点在前的文件和文件夹。这些通常是隐藏的,不过,一按Ctrl+H,它们就看得见了。这些“有点的”文件和文件夹包含与用户有关的应用程序设置。有关这一点的一个例子是.Mozilla (Firefox),这个文件夹包含诸如用户书签之类的文件。
接下来两个文件夹,/initrd和/lib与用户无关,所以我就不做解释。
/lost+found是一个特殊的文件夹,用来恢复文件系统。我从来没有在这个文件夹中看到任何文件。
/media是另一个有趣的文件夹,当你插上一个外部硬盘或者一个USB key或者类似的硬件的时候,这种设备就会出现在这个文件夹。系统给设备指定一个得自设备名称的子文件夹。我已经专门给我的所有设备命名,因此,当我把外部硬盘插上去时,这个硬盘就会出现在/media/IDE320或/media/SATA750或/media/USB2GB。在这里也可以找到DVD和CD设备,不过,它们也常常作为一个图标出现在桌面。
/mnt经常用于挂载外部文件系统(如在连接服务器的时候)。有关这个的更多内容以后再说。
/opt:老实说,我不用/opt,但是人们推荐把下载的应用程序(例如我在先前的文章中提到的Gantt项目)存放到这个文件夹。
/proc是一个虚拟文件夹,系统启动时产生。它保存关于连接数量、文件系统和其它相关的系统信息。如果你进入某个终端并键入"cat /proc/version",你就会得到一些有关系统的信息。而"cat /proc/cpuinfo"将显示系统中有关CPU的大量信息。
/root是根用户的主目录。
/sbin存储二进制文件(正如/bin),不过这些只是根用户(也通称为“超级用户”,即"sbin"中的"s")可以执行的文件。这些文件实际上可能扰乱系统,因此只能由根用户使用。它们的能力包括格式化分区、更改系统时间及其它。
/srv和/sys:无话可说。从来没有注意!
/tmp:用作暂时存储器,就像Windows中的各种临时文件夹。
/usr:再说一次实话,对这个文件夹我没有百分之百的把握,因为我未曾仔细地考察过。这里存储各种各样的东西,例如,大量系统文档和帮助文件。许多应用程序也安装在这里,所以我确实应该更多地了解这个文件夹。
最后,/var是那些有趣文件夹中的另一个。这里存储的全部是大小可变的文件,所以,在这个文件夹,特别是在/var/log文件夹中,经常可以找到日志文件(因为它们的大小在变)。如果在终端把下述的"tail -f /var/log/messages"输入,那么,你就会得到自动更新的"messages"日志文件的最后几行。这个完全与Windows中的事件日志文件相似,并且对于弄明白系统发生什么事件很有帮助。
所以,既然我们考察了文件系统中的情况,那么,安装应用程序时会发生什么呢?如果使用Add/Remove Applications(添加/删除应用程序)或者Synaptic软件包管理安装程序(参见先前的文章),软件包管理器就会帮你照看所有文件的安置。如果决定卸载文件,那么,它就从正确的位置把文件移除。不久,你对此就不加思索。
作为一个用户,如果建立文件,可以把文件保存到/home/<这里是你的用户名>文件夹。Ubuntu把几个子文件夹插在这里:Desktop、Documents、Pictures、Music等等,这就很容易把文件组织起来。这也意味着,重装系统或者迁移到另一个系统时,只须备份一个文件夹。
过去几周全部时间用于工作,还有奇妙的法国之旅已经给我的写作带来不好的影响!本周回到学校后,我将要设法增加产量。下一篇文章将试谈连接服务器。
一如既往,感谢你读到底,并请随意留下你的反馈意见和评论。十分感激!












Linux文件系统
翻译:
