task2

  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即可看到文件权限被修改。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,628评论 9 467
  • 一个基本的计算机系统由“硬件”和“软件”组成,一台Linux设备,主要的组成如下图所示: 一般情况下,我们所说的L...
    时待吾阅读 1,681评论 0 16
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • Linux系统一般有4个主要部分: 内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本...
    偷风筝的人_阅读 3,283评论 1 17
  • 暮雨纷纷,烟波升平, 万山瑶瑶,一见倾心。 佳人在侧,山水飘摇, ...
    百嫁薇阅读 512评论 0 8