标题：文件
详细解释
公文信件郑观应 《盛世危言·考试上》：“次第而升，以资历练，文件自理，枪炮自发。”有关文章魏巍《东方》第四部第十章：“军部的一个参谋，带着一个通讯员到
信息及其承载媒体
示例
记录、规范、程序文件、图样、报告、标准。
文件是一个具有符号的一组相关联元素的有序序列。文件可以包含范围非常广泛的内容。系统和用户都可以将具有一定独立功能的程序模块、一组数据或一组文字命名为一个文件。
注1：媒体可以是纸张，计算机磁盘、光盘或其他电子媒体，照片或标准样品，或它们的组合。
注2：一组文件，如若干个规范和记录，经常被称为“documentation”。
注3：某些要求(如易读的要求)与所有类型的文件有关，然而对规范(如修订受控的要求)和记录(如可检索的要求)可以有不同的要求。
-------------------------------
TS/ISO
文件：以文字或图示描述管理内容或业务内容、通过规定程序由有权人员签署发布、要求接收者据此作出规范反应的电子文档或纸质文档。体系中的文件分为三个层次。
一层次文件——质量手册：对质量体系作概括表述、阐述及指导质量体系实践的主要文件，是公司全体员工进行质量管理活动的基本依据和准则，是企业质量管理和质量保证活动应长期遵循的纲领性文件。
二层次文件——程序文件：对顾客导向过程（COP）和支持过程（SP）及管理过程（MP）以逻辑上独立的活动进行区分、并予以规范、以确保过程和结果符合顾客要求的文件，是质量手册的支持文件，是员工进行质量管理活动的具体依据。
三层次文件——作业文件：依据程序文件的规范，对其所指向的过程进行分解描述、以指导具体操作的文件。比如设备操作规程、作业指导书、图纸、明细表、检查基准书、工艺流程图、行政通知公告、部门管理规范、临时作业文件、对外沟通函件等。
“记录”作为质量体系的第四层次，区别于“文件”，具体定义请见词条“记录”。
计算机文件
计算机文件属于文件的一种，与普通文件载体不同，计算机文件是以计算机硬盘为载体存储在计算机上的信息集合。文件可以是文本文档、图片、程序等等。文件通常具有三个字母的文件扩展名，用于指示文件类型（例如，图片文件常常以 JPEG 格式保存并且文件扩展名为 .jpg）。隐藏的文件显示第一种方法：最为常用的是利用文件夹选项来显示隐藏文件夹或文件；隐藏文件显示方法一(4张)
具体操作步聚如下　　1、打开我的电脑，进入被隐藏的文件或文件夹目录，比如说D 盘；　　选择"工具"菜单下面的“文件夹选项”　　2、在弹出的对话框中，选择“查看”选项卡，并滑动滑条，找到“隐藏文件和文件夹”并选中下面的“显示所有文件和文件夹”；
3、点击应用，如果有必要的话，再选择左上角的“应用到所有文件夹”，这样的话，所以目录中的隐藏文件或文件夹就已经显示出来了。提示：
在这里，站长建议大家将隐藏受保护的操作系统文件（推荐）项取消掉，因为，有些病毒会自加s属性，如果此项为默认，那么就看不到病毒文件了。
第二种方法：利用命令显示隐藏文件或文件夹，备，此方法需要读者朋友有一定的cmd基础命令知识。下面具体进行介绍。
1、我们先去新建一个文件夹，并命名为“测试隐藏文件夹显示方法” 示例为在E盘，如下图，并将此文件夹属性设置为“隐藏”，点击应用：隐藏文件显示方法二(5张)
应用以后，我们可以看到，我的E盘中有隐藏对象，如下图，刷新以后，刚才建立的文件夹不在了，（实际是被隐藏了）
2、点击"开始"菜单--"运行"--"cmd"并回车，打开cmd命令窗口，如图：
我们输入以下命令 e: 然后回车，进入e盘根目录如图：
再输入命令:attrib -h 测试隐藏文件夹显示方法 并回车，如图：
再输入dir列出子项命令，结果如下：
怎么样，是不是已经可以看到此文件夹了呢？再回到桌面环境看看吧。
文件代码
下面是文件系统的代码，根据这个代码我们可以更好地了解文件系统的工作流程
1. 
main.cpp
#include "head.h"
#include "blockinodesuperblock.h"
#include "initial.h"
#include "userop.h"
#include "file.h"
#include "dir.h"
#include "command.h"
#include "chsome.h"
// by ctu_85 http://
blog.
csdn.
net/ctu_85/archive/2008/02/29/2135420.aspx
/////////////////////////////////////////////////////////////////////////////////////////
void main()
{
control.open("control.txt",ios::in | ios::out | ios::nocreate);
int i;
control>>i;
control.close();
if(i!=0)//不为0就初始化
{
initial();
}
control.open("control.txt",ios::in | ios::out | ios::nocreate);
control.seekp(0);
control<<0;//默认是上次基础上继续下去不用再初始化
control.close();
strcpy(curname,"root");//当前目录文件名为root
road[0]=0;//当前目录路径(存放从根目录到这里的结点号)
num=1;//最后位road[num-1]为当前目录文件i结点号
cout<<"请登陆系统\n";
while( !login() )//登陆为止
cout<<"wrong !!!\n";
cout<<" login success"<<endl;
cout<<"******Welcome "<<auser<<"******";
readsuper();
getcommand();//命令解析函数
writesuper();
}
2. blockinodesuperblock.h
/////////////////////////////////////////////////////////////////////////////////////////
int ialloc()//申请一个i结点 返回结点号 否则返回-1
{
if(superblock.fiptr>0)
{
int temp=superblock.fistack[80-superblock.fiptr];//当前可用
superblock.fistack[80-superblock.fiptr]=-1;
superblock.fiptr--;
return temp;
}
return -1;
}
/////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////
void ifree(int index)//指定一个结点号，回收一个i结点
{
disk.open("disk.txt",ios::in | ios::out | ios::nocreate );//清空结点
disk.seekp(514+64*index+2*(index/8));
disk<<setw(64)<<' ';
disk.close();
for(int i=80-superblock.fiptr;i<80;i++)//结点号找到合适位置插入空闲结点号栈
{
if(superblock.fistack<index)//小于它的前移一位
{
superblock.fistack[i-1]=superblock.fistack;
}
else//放在第一个大于它的结点号前面
{
superblock.fistack[i-1]=index;
break;
}
}
superblock.fiptr++;
}
/////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////
/*成组链接法*/
int balloc()//申请一个盘块 返回盘块号 否则返回-1
{
int temp=superblock.fbstack[10-superblock.fbptr];
if(superblock.fbptr==1)//是栈底了==>是记录盘块了
{
//是最后记录盘块最后号0（保留作栈底 分配不成功）
if(temp==0)
{
return -1;
}
superblock.fbstack[10-superblock.fbptr]=-1;
superblock.fbptr=0;
//盘块内容读入栈
for(int i=0;i<10;i++)
{
int id,num=0;
disk.open("disk.txt",ios::in | ios::out | ios::nocreate );
//先计算盘块内容个数num（最多10），最后盘块可能不到10个
disk.seekg(514*temp); 
for(int i=0;i<10;i++)
{
disk>>id;
num++;
if(id==0) break;
}
disk.seekg(514*temp);//盘块内容读入栈
for(int j=10-num;j<10;j++)
{
disk>>id;
superblock.fbstack[j]=id;
}
superblock.fbptr=num;
disk.close();
}
disk.open("disk.txt",ios::in | ios::out | ios::nocreate );//清空回收盘块
disk.seekp(514*temp);
disk<<setw(512)<<' ';
disk.close();
//盘块使用掉
return temp;
}
else//不是记录盘块==>盘块使用掉
{
superblock.fbstack[10-superblock.fbptr]=-1;
superblock.fbptr--;
return temp;
}
}
/////////////////////////////////////////////////////////////////////////////////////////
文件扩展
所谓“文件”，就是在我们的电脑中，以实现某种功能、或某个软件的部分功能为目的而定义的一个单位。
文件有很多种，运行的方式也各有不同。一般来说我们可以通过文件名来识别这个文件是哪种类型，特定的文件都会有特定的图标（就是显示这个文件的样子），也只有安装了相应的软件，才能正确显示这个文件的图标。
文件是与软件研制、维护和使用有关的资料，通常可以长久保存。文件是 软件 的重要组成部分。在软件产品研制过程中，以书面形式固定下来的用户需求、在研制周期中各阶段产生的规格说明、研究人员作出的决策及其依据、遗留问题和进一步改进的方向，以及最终产品的使用手册和操作说明等，都记录在各种形式的文件档案中。
文件是对软件中另一组成部分──程序的解释和说明，是对研制过程进行管理的重要手段。管理人员通过文件来确立不同研制人员或小组之间的工作联系，调整研制周期各阶段之间的衔接关系，并根据所产生的文件检查和控制研制工作的进度。文件也是使用、理解和维护软件所不可缺少的重要资料。
文件就是在我们的电脑中，以实现某种功能、或某个软件的部分功能为目的而定义的一个单位。
文件：电脑中的文件可以是文档、程序、快捷方式和设备。文件是由文件名和图标组成，一种类型的文件具有相同的图标，文件名不能超过255个字符（包括空格）。
文件是指存储在外部介质上的数据的集合。定义：文件是具有符号名的，在逻辑上具有完整意义的一组相关信息项的有序序列。
信息项是构成文件内容的基本单位。读指针用来记录文件当前文件之前的读取位置，它指向下一个将要读取的信息项。
写指针用来记录文件当前的写入位置，下一个将要写入的信息项被写到该处。文件分类按性质和用途分类：系统文件。用户文件。 按文件的逻辑结构分为：流式文件。记录式文件。 按信息的保存期限分类：临时文件。永久性文件。档案文件。 按文件的物理结构分类：顺序文件。链接文件。索引文件。HASH文件。索引顺序文件。 按文件的存取方式：顺序存取文件。随机存取文件。 UNIX系统中文件分类：普通文件。目录文件。特殊文件。在管理信息系统中，文件的分类：①按文件的用途分类：主文件、处理文件、工作文件、周转文件（存放、其他文件。②按文件的组织方式分类：顺序文件、索引文件、直接存取文件。文件系统操作系统中实现文件统一管理的一组软件，被管理的文件以及为实施文件管理所需要的一些数据结构的总称。 文件的逻辑结构是文件的外部组织形式。流式文件基本单位是字符。流式文件是有序字符的集合，其长度为该文件所包含的字符个数，所以称为字符流文件。存取方式文件的存取方式是由文件的性质和用户使用文件的情况决定。
1 顺序存取。
2随机存取。
磁带是顺序存取。磁盘是随机存取。
文件的物理结构：
1顺序结构； 2 链接结构；3 索引结构；4 Hash结构；5 索引顺序结构等 。
如果是三级索引，文件长度最大为：256*256*256+256*256+256+10
文件系统最大的一个特点是“按名存取”。
文件目录是文件控制块的有序集合。目录文件目录文件是长度固定的记录式文件。大多数操作系统如UNIX，DOS采用多级目录机构 ，称为树型目录结构。 从根目录出发到任一非叶结点或树页结点都有且只有一条路径。系统为用户提供一个目前使用的工作目录，称为当前目录。 目录分解法：将目录项分为：名号目录项，基本目录项。 目录文件也分为名号目录文件和基本目录文件。 文件存取控制通过文件的共享，保护和保密三方面体现。 文件的共享是一个文件可以允许多个用户共同使用。存取控制1、 访问者的识别。文件主。文件主的同组用户或合作者。其他用户。 2、 存取权限的识别。 存取控制表一般放在文件控制块里。文件操作文件的操作：OPEN。CLOSE。READ。WRITE。CREAT 。DELETE。
保证文件系统安全的方法是备份。
1、海量转储。
2 、增量转储。