在Linux中,一切都是文件。他们为操作系统服务和设备提供了一个简单而一致的接口。
目录是一种特殊的文件,Linux中的任何事物都可以用一个文件来表示,或者通过特殊的提供。
- 目录
文件除了包含自身的内容外还会有一个名字和一些属性,即“管理信息”,包括文件的创建修改日期以及他的访问权限,这些属性被保存在文件的 inode (节点)中,他是文件系统中一个特殊的数据块,他同时还包含文件的长度和文件在磁盘上的存储位置。系统使用的就是文件的inode编号,目录结构为文件命名仅仅是为了用户方便。
目录是用于保存其他文件的节点号和名字的文件。他其中的每个数据项都是指向某个文件节点的链接,删除文件名就等于删除他们与之对应的链接(ln -i 查看文件的节点号)。可以使用ln命令在不同的目录中创建指向同一个文件的链接。
删除一个文件时,实质上是删除了该文件对应的目录项,同时指向该文件的链接减1。但是该文件中的数据可能仍然能通过其他指向同一文件的链接访问到。如果指向某个文件的链接数(即ln -l 命令的输出中跟在访问权限后面的数字)变为0,就表示该节点以及其指向的数据不再被使用,磁盘上相应的位置被标记为可用空间。
