linux学习笔记三

文件组成

linux文件系统的运行和操作系统的文件组成有关,文件系统会将文件权限,属性放在inode(索引节点)中,至于实际的数据则放在block快中。另外还有一个超级块(super block)会记录整个文件系统的整体信息,包括inode与block的总量,使用量和剩余量。)


1.0 super block:记录此文件的整体信息,包括inode/block的总量,使用量,剩余量,以及文件系统的格式和相关信息等。 2.0 inode:记录文件属性,包括文件的类型,权限,UID,GID,linkcount,文件大小,时间截以及文件数据所在block编号,一个文件占用一个inode。 3.0 block:实际记录文件的内容,若文件太大,会占用多个block。

文件属性.jpg

在整体规划中,文件前面有一个启动扇区(boot sector),这个启动扇区可以安装引导挂载程序,用于将不同的引导装载程序安装到对于的文件系统最前端,而不用覆盖整个硬盘唯一的MRB,这样也能制造出多重引导环境。

使用命令tune2fs-l/dev/sda1可以查看分区的信息,即查看该分区的超级快。

root@kali:/dev# tune2fs -l /dev/sda1
tune2fs 1.43.6 (29-Aug-2017)
Filesystem volume name:   <none>
Last mounted on:          /
Filesystem UUID:          40dbc8ca-5e0d-45a9-a325-dd44eceae166
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)

目录组成

在linux中,目录也被看成文件,称之为目录文件,因此目录也也有 inode和block组成,其中inode记录目录相关的权限与属性,并记录分配到block编号 而block则记录了在这个目录下的文件名和该文件名所占用的block编号。

可以使用命令 ls -li 查看文件的inode。

root@kali:/home# ls -li dflx 
650247 -rw-r--r-- 1 root root 0 11月 15 06:46 dflx

文件类型。

linux系统常见的文件类型包括普通文件,目录文件你,设备文件以及链表文件等 1.0 普通文件,所有用编程语言,语言编译程序,数据库管理程序产生的文本文件,二进制文件,数据文件等都是普通文件,它是一种无结构式的流式文件


2.0 目录文件, 也称文件夹,在linux/UNIX系统中把它当成一种特殊的文件,利用它可以构成文件系统的分层树形的结构


每一个目录的第一项都表示目录本身,并以“.”作为它的文件名。每个目录的第二项的名字是“..",表示该目录的父目录。* 注意以”."开头的文件名表示隐藏文件,使用ls -a命令可以查看。 3.0 设备文件,在linux系统中,所有设备都作为一类特殊的文件对待,用户像使用普通文件那样对设备进行操作。从而实现设备无关性。 **4.0 链接文件,为了解决文件共享问题,引入链接文件。链接文件包括二种,硬链接(hard link)和软链接(soft link)

软连接和硬链接.jpg

文件打包和压缩

1.0 tar 选项 打包/压缩文件 [文件或者目录的列表]

 -c  创建打包/压缩文件
 -z  采用gzip方式打包/解压缩已经打包的文件
 -x  还原打包/压缩文件中的文件和目录
 -v   显示命令执行的过程
 -f   tar命令必须的参数

tar -zcvf dflx 压缩文件 tar -zxvf dflx 解压文件

2.0 gzip [选项] 文件|目录

 -d 压缩文件
 -r 参数为目录时候,安装目录递归压缩目录中所有的文件
 -v 显示文件压缩比例

3.0 zip [选项] 压缩文件 文件列表

 -m 压缩完成后删除源文件
 -r  按目录结构递归压缩目录中的所有文件

先大概介绍这么多吧,以后在简书和博客园,可能二个地方同时进行。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Golang语言社区

linux后台开发常用调试工具

一、编译阶段 nm 获取二进制文件包含的符号信息 strings 获取二进制文件包含的字符串常量 strip...

643140
来自专栏Kevin-ZhangCG

[ SSH框架 ] Struts2框架学习之一

29260
来自专栏程序员宝库

Linux 基础:文件查找 find

在linux的日常管理中,find的使用频率很高,熟练掌握对提高工作效率很有帮助。 find的语法比较简单,常用参数的就那么几个,比如 -name、 -type...

36160
来自专栏散尽浮华

linux运维中的命令梳理(一)

在linux日常运维中,我们平时会用到很多常规的操作命令。 --------------------------------------------------...

498100
来自专栏北京马哥教育

Python 的异步 IO:Asyncio 简介

糖豆贴心提醒,本文阅读时间7分钟 Python 的 asyncio 类似于 C++ 的 Boost.Asio。 异步 IO,就是你发起一个 IO 操作,不用等...

32280
来自专栏前端小叙

vue报错集锦

1、vue报错: 没安装 less-loader css-loader style-loader        可能的很大原因:没安装less 2、vuex报错...

45760
来自专栏Java工程师日常干货

【SpringBoot专题】多环境配置及swagger前言多环境配置分析swagger

在上一篇博客《【SpringBoot专题】快速体验 》中已经带领大家初步了解了SpringBoot,本篇博客将为大家介绍多环境配置、swagger等相关内容。

12440
来自专栏北京马哥教育

用 Python 脚本实现对 Linux 服务器的监控

目前 Linux 下有一些使用 Python 语言编写的 Linux 系统监控工具 比如 inotify-sync(文件系统安全监控软件)、 glances(资...

62160
来自专栏逆向与安全

GDB多线程调试分析

多线程调试的主要任务是准确及时地捕捉被调试程序线程状态的变化的事件,并且GDB针对根据捕捉到的事件做出相应的操作,其实最终的结果就是维护一根叫thread li...

13600
来自专栏LhWorld哥陪你聊算法

【Dubbo篇】--Dubbo框架的使用

Provider: 提供者.发布服务的项目. Registry: 注册中心.所有提供者必须去注册中心注册自己所有能发布的服务. Consumer: 消费者.调用...

84910

扫码关注云+社区

领取腾讯云代金券