222天 Jacksunhack

重要的人越来越少,剩下的人也越来越重要 ​​

Linux基础❤结构篇0x01

发布于 5个月前 / 159 次围观 / 0 条评论 / Linux基础 / Chiriri

Linux结构

历史

许多事件导致创建了第一个Linux内核,并最终创建了Linux操作系统(OS),从1970年Ken Thompson和Dennis Ritchie(当时两个人都在AT&T工作)的Unix操作系统开始发行。Berkeley软件发行版(BSD)于1977年发布,但由于它包含AT&T拥有的Unix代码,因此产生的诉讼限制了BSD的开发。理查德·斯托曼(Richard Stallman)于1983年开始GNU项目。他的目标是创建一个类似Unix的免费操作系统,而他的部分工作是创建了GNU通用公共许可证(GPL)。多年以来,其他人的项目未能产生可工作的免费内核,直到创建Linux内核,该内核才被广泛采用。

最初,Linux是一个由芬兰学生Linus Torvalds于1991年发起的个人项目。他的目标是创建一个新的免费操作系统内核。多年来,Linux内核已经从禁止商业发行的用C编写的少量文件,发展到具有超过2,300万个源代码行(不包括注释)的最新版本,并已获得GNU通用公共许可证v2的许可。

Linux有600多个发行版(或基于Linux内核以及支持软件和库的操作系统)。一些最受欢迎和最著名的是Ubuntu,Debian,Fedora,OpenSUSE,elementary,Manjaro,Gentoo Linux,RedHat和Linux Mint。

Linux通常被认为比其他操作系统更安全,并且在过去拥有很多内核漏洞的同时,Linux的使用频率也越来越低。与Windows操作系统相比,它不容易受到恶意软件的感染,并且经常更新。Linux也非常稳定,通常为最终用户提供很高的性能。但是,这对于初学者可能会更加困难,并且没有Windows那样多的硬件驱动程序。

由于Linux是免费的开放源代码,因此任何人都可以对源代码进行商业或非商业修改和分发。基于Linux的操作系统可在服务器,大型机,台式机,嵌入式系统(如路由器,电视,视频游戏机等)上运行。在智能手机和平板电脑上运行的整个Android操作系统都基于Linux内核,因此,Linux是安装最广泛的操作系统。

Linux是Windows,iOS,Android或macOS之类的操作系统。操作系统是管理与我们的计算机关联的所有硬件资源的软件。这意味着操作系统将管理软件和硬件之间的整个通信。同样,存在许多不同的分布(发行版)。它就像Windows操作系统的版本。

通过交互式实例,我们可以访问Pwnbox,这是Parrot OS的自定义版本。这将是我们将通过这些模块使用的主要操作系统。Parrot OS是基于Debian的Linux发行版,专注于安全性,隐私和开发。

哲学

Linux遵循五项核心原则:

原理描述
Everything is a fileLinux操作系统上运行的各种服务的所有配置文件都存储在一个或多个文本文件中。
Small, single-purpose programsLinux提供了许多我们可以使用的工具,这些工具可以组合在一起一起使用。
Ability to chain programs together to perform complex tasks不同工具的集成和组合使我们能够执行许多大型和复杂的任务,例如处理或过滤特定的数据结果。
Avoid captive user interfacesLinux被设计为主要与外壳(或终端)一起使用,从而使用户可以更好地控制操作系统。
Configuration data stored in a text file这样的文件的一个示例是/etc/passwd文件,该文件存储在系统上注册的所有用户。

组件

零件描述
Bootloader运行一段代码以引导引导过程以启动操作系统。Parrot Linux使用GRUB Bootloader。
OS Kernel内核是操作系统的主要组件。它在硬件级别管理系统I / O设备的资源。
DaemonsLinux中,后台服务称为“守护程序”。它们的目的是确保诸如计划,打印和多媒体之类的关键功能正常工作。这些小程序在我们启动或登录计算机后加载。
OS Shell操作系统外壳程序或命令语言解释器(也称为命令行)是OS与用户之间的接口。该界面允许用户告诉操作系统该怎么做。最常用的外壳是Bash,Tcsh / Csh,Ksh,Zsh和Fish。
Graphics server这提供了一个称为“ X”或“ X-server”的图形子系统(服务器),允许图形程序在X窗口系统上本地或远程运行。
Window Manager也称为图形用户界面(GUI)。有很多选项,包括GNOME,KDE,MATE,Unity和Cinnamon。桌面环境通常具有多个应用程序,包括文件和Web浏览器。这些允许用户访问和管理操作系统的基本和经常访问的功能和服务。
Utilities应用程序或实用程序是为用户或其他程序执行特定功能的程序。

Linux架构

Linux操作系统可以分为以下几层:

描述
Hardware外围设备,例如系统的RAM,硬盘驱动器,CPU等。
KernelLinux操作系统的核心,其功能是虚拟化和控制常见的计算机硬件资源,例如CPU,分配的内存,访问的数据等。内核为每个进程提供自己的虚拟资源,并防止/减轻不同进程之间的冲突。
Shell命令行界面(CLI),也称为外壳程序,用户可以在其中输入命令以执行内核功能。
System Utility向用户提供所有操作系统功能。

文件系统层次结构

Linux操作系统以树状层次结构构建,并记录在文件系统层次结构标准(FHS)中。Linux由以下标准顶级目录构成:

NEW_filesystem

路径描述
/顶级目录是根文件系统,它包含在挂载其他文件系统之前引导操作系统所需的所有文件以及引导其他文件系统所需的文件。引导后,所有其他文件系统都作为根目录的子目录挂载在标准挂载点上。
/bin包含基本命令二进制文件。
/boot由静态引导加载程序,内核可执行文件和引导Linux OS所需的文件组成。
/dev包含设备文件,以方便访问连接到系统的每个硬件设备。
/etc本地系统配置文件。安装的应用程序的配置文件也可以保存在这里。
/home系统上的每个用户在此处都有一个子目录用于存储。
/lib系统启动所需的共享库文件。
/media外部可移动媒体设备(例如USB驱动器)安装在此处。
/mnt常规文件系统的临时安装点。
/opt诸如第三方工具之类的可选文件可以保存在这里。
/root根用户的主目录。
/sbin该目录包含用于系统管理的可执行文件(二进制系统文件)。
/tmp操作系统和许多程序使用此目录存储临时文件。该目录通常在系统启动时清除,并且可以在其他时间删除而不会发出任何警告。
/usr包含可执行文件,库,man文件等。
/var此目录包含可变数据文件,例如日志文件,电子邮件收件箱,与Web应用程序相关的文件,cron文件等。