磁盘原理
1.磁盘在格式化的时候会自动分为两个区
1.元数据区 用来存储文件的元数据信息 文件名称,大小,时间 ,节点编号 , 数据区地址
2.数据区 用来存储文件的真正的数据
3.配额大小 每个扇区512字节,8个扇区组成1个block 每个block是4k大小.
4.每个文件指针占用4个字节
指针类型
1.指针分为直接指针和间接指针
2.每个块大小是4k,每个指针占用4个字节,所以每个块可以存储1024个指针.每个指针指向的是1个块的地址.通过间接指针可以指向更大的文件.
节点编号
1.每个分区的节点编号范围是有限制的
2.每次新建一个文件都会消耗一个节点编号.当节点编号消耗完毕后,将不能在这个分区创建新的文件.
目录文件
文件夹对应的数据区存储的是此目录下所有文件的名称和对应的inode编号,要访问一个文件首先读取文件夹数据区中对应的inode,然后通过inode
找到文件元数据区的block地址,通过数据区的block地址取到文件的真实数据.用户如果需要访问一个文件,前提必须对包含文件的文件夹有访问权限.
删除文件
删除文件只是删除了文件在元数据表中的记录,文件在数据区中的数据并没有被立即删除,而只是进行了一个标识,表示相关数据块中的内容可以被
其他文件进行写入.
文件恢复的原理是新建一个节点编号,然后把节点的文件指针指向被删除文件数据区的地址即可.
链接文件
1.硬链接
本质上是一个文件起了多个名字.两个不同的分区不能创建硬链接.
不支持文件夹
2.软链接
软连接文件中存储的内容是被链接文件的路径.软连接可以跨分区.
支持文件夹
标准IO和管道
1. ls /error /root > a.log 2&>1
要注意顺序问题,这里先执行后面,再执行前面
1. 2&>1 先把标准错误合并到标准输出
2. >a.log 等价于 1>a.log 把标准输出导入到a.log
2. ls /error /root 2&>1 >data.log
1.先执行 > data.log 等价于 1> data.log 把标准输入导入到data.log
2.再执行 2&>1 把标准错误导入到标准输出 合并错误输出后并没有导入到任何文件
3.cmd &> data.log 把标准输出和标准错误一起重定向到data.log文件.