磁盘原理
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.硬链接 ln f1 f2
本质上是一个文件起了多个名字.两个不同的分区不能创建硬链接.两个文件指向的inode是一样的.文件的链接数会增加1
删除任何一个硬链接文件都不会影响其它链接文件.
新建的文件夹至少有2个链接数 1.文件夹名 2. . 代表当前目录
不支持文件夹创建
2.软链接 ln -s f1 f2
软链接文件不是同一个文件,软连接文件的大小是原始文件路径字符串的大小(一个文件对应的快捷方式)
软连接文件中存储的内容是被链接文件的路径.软连接可以跨分区.
支持文件夹创建
f1如果使用相对路径(可以使用绝对路径),那么它使用的相对路径并不是当前的工作目录,而是相对于软连接文件f2的路径.
3.链接文件效果
通过新的文件名访问到原始的文件内容
标准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文件.
4.ls /root /error 2>&1 和 ls /root /error 1>&2 和 ls /root /error 只是把标准输入和输出合并是没有任何作用的,三者的执行结果完全一样.