文章目录
1、Linux的神秘面纱2、Linux操作系统优秀特质3、Linux操作系统应用领域4、解刨-linux系统结构5、带你一探Linux系统-满血复活的启动过程6、Linux 骨架-文件系统与目录结构6.1、Linux 文件系统概览6.2 、linux/unix 文件系统-奠基石6.2.1、 硬盘存储小知识6.2.2、 inode7、Linux 文件类型1、Linux的神秘面纱
Linux全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux等。
目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debain、Fedora、SuSE、OpenSUSE。
Linux操作系统的诞生、发展和成长过程始终依赖着五个重要支柱:Unix操作系统、MINIX操作系统、GNU计划、POSIX标准和Internet网络。
linux是一个开源操作系统,是用于与计算机硬件打交道的中间层。操作系统管理系统资源,提供最基本的计算功能,如管理及配置内存,同时还提供一些基本的服务程序,如:文件系统、设备驱动程序、用户接口、系统服务程序。
2、Linux操作系统优秀特质
是免费自由的软件。广泛的硬件支持。良好的安全性和稳定性。支持多用户和多任务。拥有良好的可移植性,支持多种平台。3、Linux操作系统应用领域
1、主要市场还是作为企业级应用服务器。2、Android 操作系统就是创建在Linux内核上的。3、LInux广泛应用在嵌入式行业,例如:平板电脑、电视等。4、教育行业与科研领域。
4、解刨-linux系统结构
系统结构主要分为三层:内核层(底层): 系统内核(Kernel);中间层:Shell层;高层:应用层。
1) 内核层:主要控制和管理系统内软硬件资源,扩展硬件的功能。
2) shell层:底层与用户直接交互的界面,用户输入命令,由Shell解释执行并输出结果。
3) 应用层:提供基于X Window协议的图形环境,与系统非捆绑关系,可自由选择性安装。
5、带你一探Linux系统-满血复活的启动过程
6、Linux 骨架-文件系统与目录结构
6.1、Linux 文件系统概览
在 Linux 操作系统中,所有被操作系统管理的资源,例如网络接口卡、磁盘驱动器、打印机、输入输出设备、普通文件或是目录都被看作是一个文件。 也就是说在 Linux 系统中有一个重要的概念:一切都是文件。
其实这是 UNIX 哲学的一个体现,在 UNIX 系统中,把一切资源都看作是文件,Linux 的文件系统也是借鉴 UNIX 文件系统而来。
6.2 、linux/unix 文件系统-奠基石
inode 是 linux/unix 文件系统的基础。
6.2.1、 硬盘存储小知识
我们知道硬盘的最小存储单位是扇区(Sector),块(block)由多个扇区组成。
文件数据存储在块中。块的最常见的大小是 4kb,约为 8 个连续的扇区组成(每个扇区存储 512 字节)。一个文件可能会占用多个 block,但是一个块只能存放一个文件。
6.2.2、 inode
虽然,我们将文件存储在了块(block)中,但是我们还需要一个空间来存储文件的 元信息 metadata :如某个文件被分成几块、每一块在的地址、文件拥有者,创建时间,权限,大小等。这种 存储文件元信息的区域就叫 inode,译为索引节点:i(index)+node。 每个文件都有一个 inode,存储文件的元信息。
我们可以使用 stat 命令可以查看文件的 inode 信息。
每个 inode 都有一个号码,Linux/Unix 操作系统不使用文件名来区分文件,而是使用 inode 号码区分不同的文件。
简单来说:inode 就是用来维护某个文件被分成几块、每一块在的地址、文件拥有者,创建时间,权限,大小等信息。
个人小结:
inode :记录文件的属性信息,可以使用 stat 命令查看 inode 信息。block :实际文件的内容,如果一个文件大于一个块时候,那么将占用多个 block,但是一个块只能存放一个文件。(因为数据是由 inode 指向的,如果有两个文件的数据存放在同一个块中,就全乱套了)
7、Linux 文件类型
Linux 支持很多文件类型,其中非常重要的文件分为七种类型: 普通文件,目录文件,链接文件,设备文件,管道文件,Socket 套接字文件等。
1、普通文件(-) : 用于存储信息和数据, Linux用户可以根据访问权限对普通文件进行查看、更改和删除。比如:图片、声音、PDF、text、视频、源代码等等。
2、目录文件(d,directory file) :目录也是文件的一种,用于表示和管理系统中的文件,目录文件中包含一些文件名和子目录名。打开目录事实上就是打开目录文件。
3、符号链接文件(l,symbolic link) :保留了指向文件的地址而不是文件本身。
4、字符设备(c,char):用来访问字符设备比如键盘。
5、设备文件(b,block) : 用来访问块设备比如硬盘、软盘。
6、管道文件(p,pipe) : 一种特殊类型的文件,用于进程之间的通信(可以联想到操作系统中的进程间的通信的第一种和第二种,匿名管道和有名管道)。
7、套接字(s,socket) :用于进程间的网络通信,也可以用于本机之间的非网络通信。