文件的概念
文件是以计算机硬盘为载体存储在计算机上的信息集合,文件可以是文本文档、图片、程序等等。
PS:文件是信息集合
数据项:类似于表格中的一格,如 姓名:XXX
记录:一组相关的数据项,类似于表格中的一行
文件的逻辑结构
有结构顺序文件:文件中的记录顺序排列,记录等长
索引文件:索引表(索引号
文件长度
文件指针)
索引顺序文件:顺序文件+索引表
无结构将数据顺序组织成记录并保存,通常以字节为单位
文件的基本操作
这里以C语言中的函数为例说明
创建文件:先寻找可用空间,后创建目录,fopen()写文件:指定文件名和内容执行系统调用,C语言中的fwrite()读文件:指定文件名和内容执行系统调用,C语言中的fread()删除文件:先删除文件对应的目录项,后回收空间,C语言中的remove()截断文件:将文件内容清空,C语言中的ftruncate()文件控制块(FCB)
文件控制块用来存放控制文件需要的各种信息的数据结构,也可以称作文件目录项
基本信息:文件名、文件物理位置、文件的逻辑结构等存取控制信息:只读,可读,可写等使用信息:文件的建立时间,修改时间索引节点:文件名对应的索引编号文件目录
单级目录:不能重名二级目录:主文件目录+用户文件目录,主文件目录记录了用户名和相应用户目录,用户文件目录记录了用户文件的FCB多级目录:二级目录的推广无环图目录:无环图目录更好的实现了文件共享,每个文件都有个共享计数器记录共享链。文件共享
:硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。
参考这个https://www.cnblogs.com/chenyongmou/p/7221399.html
软链接:
1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
2.软链接可以 跨文件系统 ,硬链接不可以
3.软链接可以对一个不存在的文件名进行链接
4.软链接可以对目录进行链接
硬链接:
1.硬链接,以文件副本的形式存在。但不占用实际空间。
2.不允许给目录创建硬链接
3.硬链接只有在同一个文件系统中才能创建