linux文件系统

[Bachelor] 磁盘与文件系统

╄→гoц情女王★ 提交于 2019-11-30 03:20:57
目录 文件系统概述 1. 磁盘分区 1.1 磁盘装置名 1.2 MSDOS(MBR) 与 GPT 磁盘分区表(partition table) 1.3 挂载 2. Linux文件系统 2.1 文件系统的概念 2.2 Linux 的 EXT2 文件系统 2.3 文件的存取与日志式文件系统的功能 2.4 Linux 文件系统的运作 文件系统概述 参考自《鸟哥的Linux私房菜》:http://linux.vbird.org/ 1. 磁盘分区 1.1 磁盘装置名 磁盘文件名:实体磁盘大多使用 /dev/sd[a-] 这样的文件名,而虚拟机下的虚拟磁盘可能会使用 /dev/vd[a-p] 这种文件名。 所有使用SCSI模块驱动的磁盘接口的装置文件名都是 /dev/sd[a-p] 的格式。顺序则由磁盘被系统侦测到的顺序决定。 磁盘可能有多个磁盘盘,所有磁盘盘上的同一个磁道组成的同心圆称为磁柱。 1.2 MSDOS(MBR) 与 GPT 磁盘分区表(partition table) MSDOS(MBR)分区表格式 在第一个扇区 512bytes 会有如下数据: 主要启动记录区(Master Boot Record, MBR):安装开机管理程序的地方,446 bytes 分区表(partition table):记录整个硬盘分区的状态,46 bytes 分区表最多只能有四组记录区

Linux目录和基本命令

时光怂恿深爱的人放手 提交于 2019-11-30 02:29:23
Linux文件系统结构 Linux目录结构的组织形式和Windows有很大的不同。首先Linux没有“盘(C盘、D盘、E盘)”的概念。已经建立文件系统的硬盘分区被挂载到某一个目录下,用户通过操作目录来实现磁盘读写。 Linux不像Windows那样的系统目录,Linux使用正斜杠"/"而不是反斜杠"\"来标识目录。 Linux首先是建立一个根"/"文件系统,所有的目录也都是由根目录衍生出来。 登录系统后,在当前命令窗口输入命令: ls / 查看结果如下图: 在Linux底下,所有的文件与目录都是由根目录开始,是目录与文件的源头,然后一个个的分支下来,如同树枝状,因此称为这种目录配置为:目录树。 目录树的特点是什么呢? 目录树的起始点是根目录(/,root); 每一个目录不止能使用本地的文件系统,也可以使用网络上的文件系统,可以利用NFS服务器挂载特定目录。 每一个文件在此目录树中的文件名,包含完整路径都是独一无二的。 目录树架构示意图 以下是对这些目录的解释: /bin : bin是Binary的缩写, 这个目录存放着最经常使用的命令。 /boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。 /dev : dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。 /etc

LVM(逻辑卷管理)

℡╲_俬逩灬. 提交于 2019-11-30 02:16:03
一、LVM概念 LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。 LVM的工作原理其实很简单,它就是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过一个叫做逻辑卷的东西来对其进行底层的磁盘管理操作。比如说我增加一个物理硬盘,这个时候上层的服务是感觉不到的,因为呈现给上层服务的是以逻辑卷的方式。 LVM最大的特点就是可以对磁盘进行动态管理。因为逻辑卷的大小是可以动态调整的,而且不会丢失现有的数据。如果我们新增加了硬盘,其也不会改变现有上层的逻辑卷。作为一个动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性。 二、LVM术语 PV (Physical Volume)- 物理卷 物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘。 VG (Volumne Group)-卷组 卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中

Linux 系统结构详解

拟墨画扇 提交于 2019-11-30 01:56:00
Linux系统一般有4个主要部分: 内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序、管理文件并使用系统。 1、linux内核 内核是操作系统的核心,具有很多最基本功能,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。 Linux 内核由如下几部分组成:内存管理、进程管理、设备驱动程序、文件系统和网络管理等。如图: 系统调用接口:SCI 层提供了某些机制执行从用户空间到内核的函数调用。这个接口依赖于体系结构,甚至在相同的处理器家族内也是如此。SCI 实际上是一个非常有用的函数调用多路复用和多路分解服务。在 ./linux/kernel 中您可以找到 SCI 的实现,并在 ./linux/arch 中找到依赖于体系结构的部分。 2、内存管理 对任何一台计算机而言,其内存以及其它资源都是有限的。为了让有限的物理内存满足应用程序对内存的大需求量,Linux 采用了称为“虚拟内存”的内存管理方式。Linux 将内存划分为容易处理的“内存页”(对于大部分体系结构来说都是 4KB)。Linux 包括了管理可用内存的方式,以及物理和虚拟映射所使用的硬件机制。 不过内存管理要管理的可不止 4KB 缓冲区。Linux 提供了对 4KB 缓冲区的抽象,例如 slab 分配器。这种内存管理模式使用

Linux flash 操作

北战南征 提交于 2019-11-30 00:32:08
目录 命令:flash_erase 命令:flash_eraseall 命令:nandwrite 命令:nanddump 命令:mtd_debug 命令:ftl_format ./mtd_debug info /dev/mtd0 // 输出/dev/mtd0上的一些信息,这里必须用mtdx ./mtd_debug erase /dev/mtd0 0×0 0×40000 // 擦出/dev/mtd0 分区上 从0×0开始的 , 128K*2 大小的数据 ./mtd_debug write /dev/mtdblock0 ox0 0×360810 cq8401.img //向mtdblock0分区,写入 3.6M 大小的文件系统cq8401.img,这里最好用mtdblockx ./mtd_debug read /dev/mtdblock0 ox0 0×360810 read.img //从mtdblock0中读出 3.6M 数据保存到read.img,当然这里的长度应该相等 cmp -l cq8401.img read.img // 验证write to flash 和 read from flash 中的数据是否一致;也可以使用diff命令来比较 ./flash_eraseall -j /dev/mtd1 //用jffs2格式化该分区 ./nanddump -p /dev/mtd1

proc文件系统编程

五迷三道 提交于 2019-11-29 21:40:34
proc文件系统是一种虚拟的文件系统,它只存在于内存当中,一般用来在内核中输出一些信息到用户层,通常可以利用其来打印内核程序中的一些调试信息,具体的操作如下代码。 #include <linux/kernel.h> #include <linux/module.h> #include <linux/uaccess.h> #include <linux/proc_fs.h> MODULE_LICENSE("Dual BSD/GPL"); MODULE_AUTHOR("fuyajun1983cn@yahoo.com.cn"); // Entries for /proc/gdl and /proc/gdl/memory static struct proc_dir_entry * mm_proc_mem; //对应目录项 static struct proc_dir_entry * mm_proc_dir; //对应文件 static int mm_write_proc_func(struct file * file, const char * buffer, unsigned long count, void * data) { unsigned char file_name[80]; unsigned int size_to_copy; size_to_copy = count;

常用linux指令

十年热恋 提交于 2019-11-29 21:35:23
1、为用户 tangtest 设置初始密码 1qazxsw2 echo 1qazxsw2 | passwd --stdin tangtest passwd tangtest 2、cd cd / 进入系统根目录 ~表示用户主目录,即HOME变量指定的目录,如root用户的主目录为/root。 -表示前一个工作目录。 ..表示上级目录。 .表示当前目录 3、 source、sh、bash、./执行脚本 4、查找进程列表里的关键字dae ps -e|grep dae ps -f|grep dae ps -ef|grep dae 5、查找文件位置:find,locate和whereis find命令是linux中最强大的查找文件的命令,它的格式为”find <指定目录> <指定条件> <指定动作>“。比如使用find命令搜索在根目录下的所有interfaces文件所在位置,命令格式为”find / -name 'interfaces'” 第二个命令是locate命令,使用locate也可以搜索到linux系统中的文件,同样的这里使用locate命令搜索interfaces文件,命令为”locate interfaces“,locate命令是比find命令快的,因为它查询的是locatedb数据库,该数据库包含本地所有的文件信息 最后一个是使用”whereis“命令搜索文件

Linux常用命令整理

本小妞迷上赌 提交于 2019-11-29 17:26:45
系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuinfo 显示CPU info的信息 cat /proc/interrupts 显示中断 cat /proc/meminfo 校验内存使用 cat /proc/swaps 显示哪些swap被使用 cat /proc/version 显示内核的版本 cat /proc/net/dev 显示网络适配器及统计 cat /proc/mounts 显示已加载的文件系统 lspci -tv 罗列 PCI 设备 lsusb -tv 显示 USB 设备 date 显示系统日期 cal 2007 显示2007年的日历表 date 041217002007.00 设置日期和时间 - 月日时分年.秒 clock -w 将时间修改保存到 BIOS 关机 (系统的关机、重启以及登出 ) shutdown -h now 关闭系统(1) init 0 关闭系统(2) telinit 0 关闭系统(3) shutdown -h hours

文件系统

和自甴很熟 提交于 2019-11-29 15:51:15
文件系统是存储和组织计算机数据的方法,使用文件和树形目录的抽象逻辑概念代替磁盘等物理设备使用数据块的概念。 常用的文件系统: 磁盘文件系统 Linux系统中有ext2/3/4、xfs等文件系统,可以直接应用在软硬件存储设备上。 内存文件系统 使用内存来模拟存储设备的文件系统,一般不会很大,如TmpFS,可用于存储临时数据,重启计算机后存放在内存文件系统的数据就会消失。 特殊文件系统 sysfs文件系统 Linux设备驱动模型中的总线、驱动和设备都可以在sysfs文件系统中找到对应的节点。当内核检测到新设备后,会在sysfs文件系统中生成一项新的记录。 proc文件系统 proc是虚拟文件系统,不占用存储空间,存储的是当前内核运行状态的特殊文件,可以通过这些文件查看系统硬件和运行进程的信息。比如/proc、cpuinfo存放了当前计算机的CPU信息,使用cat命令可以显示文件的内容。 来源: https://blog.csdn.net/SundayO/article/details/100847603

docker学习笔记之二镜像

回眸只為那壹抹淺笑 提交于 2019-11-29 15:49:34
UnionFS (联合文件系统) : Union文件系统(UnionFS)是一.种分层、轻量级并A高性能的文件系统,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem)。Union 文件系统是Docker镜像的基础。镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。 特性: -次同时加载多个文件系统,但从外面看起来,只能看到一个文件系统,联合加载会把各层文件系统叠加起来,这样最终的文件系统会包含所有底层的文件和目录 Docker镜像加载原理: docker的镜像实际上由一层- -层的文件系统组成,这种层级的文件系统UnionFS. botfs(boot file system)主要包含bootloader和kernel, bootloader E要是引导加载kernel, Linux刚启动时会加载bootfs文件系统,在Docker镜像的最底层是bootfs.这一层与我们典型的Linux/Unix系统是一"样的,包含boot加载器和内核。当boot加载完成之后整个内核就都在内存中了,此时内存的使用权已由bootfs转交给内核,此时系统也会卸戰bootfs。 roofs (root file