task2

作者: yingtaomj | 来源:发表于2017-03-08 10:48 被阅读36次
    1. 给出分区大小。
      命令:df -h(print sizes in powers of 1024 (e.g., 1023M))
      分区
      udev:linux设备管理器,管理/dev目录底下的设备节点
      tmpfs:基于内存的文件系统,使用内存或swap分区来存储文件
      /dev/sda n:访问这些外部设备的端口,代表第一块SATA接口的硬盘的第n个分区
    2. 根据文件路径找到文件管理信息(簇号,文件索引)和文件内容。
      linux中的簇号即为block号
      利用filefrag命令查看文件分布在哪些block里
      filefrag
      即:文件占有30157个块,这些块是discontinuous分布的,分为四个部分,从截图中可以看到这四个部分的起始块号和结束块号。
      文件索引文件为inode,用stat查看
      inode
      如何查看文件内容:根据文件的类型不同用不同的命令,如文本文件可用vim filename打开。
    3. 如何安全删除文件
      rm为安全删除文件命令,如果该文件f1只有一个硬链接,且当前没有程序使用该文件,那么文件数据就被删除了,否则,就会出现以下的情况:
    4. 文件的硬链接只有f1,但是当前有进程正在使用f1,data的删除操作并不立即执行,而是等到正在使用f1的所有进程都对f1执行了close操作之后,,再执行data的删除操作,在此期间,进程可对f1进行正常的读写操作,因为已经将i_node复制到内存,可直接通过i_node访问文件数据而不再需要借助f1
    5. 当前无进程引用f1,但该文件有多个硬链接。data的删除操作并不执行,rm的执行结果只是切断了f1->i_node这条连接,也就是说我们无法再通过f1访问i_node了,当然也就不能访问i_node所指向的文件数据了。

    删除文件数据的实质是将数据所在内存区域的标志位置为空闲,其中的数据并未清空,只是没有了i_node->data的链接,没有办法获取data的首尾地址,我们无法访问正常data了。

    1. 文件删除后,如何恢复它

    linux没有固定的回收站,我们看到的回收站是桌面环境的,用终端删除文件之后不会存在回收站里。

    恢复方法:借用extundelete软件。

    1. 确定删除文件所在分区 df -h /home,结果为/dev/sda8
    2. 调用命令sudo ./extundelete /dev/sda8 --restore-all,结束后会在程序的目录下生成一个目录RECOVERED_FILES
    3. 可用grep命令找到所需文件。

    5.对文件设置访问权限,会修改该文件在文件系统中的哪些内容?
    修改权限命令:chome 777 a.txt

    文件数据都储存在"块"中,而储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等则是在inode中。

    stat file即可看到文件权限被修改。

    相关文章

      网友评论

          本文标题:task2

          本文链接:https://www.haomeiwen.com/subject/jctbgttx.html