查看原文
其他

了解Linux的基础知识和一般概念

点击上方 "程序员小乐"关注, 星标或置顶一起成长

每天凌晨00点00分, 第一时间与你相约


每日英文

No matter when U start, you do not stop after starting. No matter when U end, you do not regret after ended. 

不论什么时候开始,重要的是开始之后就不要停止。不论什么时候结束,重要的是结束之后就不要悔恨。


每日掏心

生命,是一树花开,或安静或热烈,人生:一半是现实,另一半是梦想。有太多的分分秒秒、太多的点点滴滴,汇成心语,凝成回忆;也有太多的选择、太多的无奈,但这无数个太多的背后,我只能让心去承受,让心去感悟。




来自:HMLinux | 责编:乐乐

链接:blog.51cto.com/7424593/1744358

程序员小乐(ID:study_tech)第 762 次推文   图片来自 Pexels


往日回顾:求求你别再乱跑了!一场同学会,6人遭确诊!平均年龄22岁,假期返程如何预防?权威指南来了



   正文   




1、GNU和GPL

GNU计划(又称革奴计划),是由Richard Stallman(理查德·斯托曼)在1983年9月27日公开发起的自由软件集体协作计划。它的目标是创建一套完全自由的操作系统。GNU也称为自由软件工程项目。

GPL是GNU的通用公共许可证(GNU General Public License,GPL),即“反版权”概念,是GNU协议之一,目的是保护GNU软件可以自由的使用、复制、研究、修改和发布。同时要求软件必须以源代码的形式发布。

GNU系统与Linux内核结合构成一个完整的操作系统:一个基于Linux的GNU系统,该操作系统在通常情况下称为“GNU/Linux”,或简称Linux。

2、Linux发行版

一个典型的Linux发行版包括:Linux内核,一些GNU程序库和工具,命令行shell,图形界面的X Window系统和相应的桌面环境,如KDE或GNOME,并包含数千种从办公套件,编译器,文本编辑器到科学工具的应用软件。

主流的发行版:

Red Hat Enterprise Linux、CentOS、SUSE、Ubuntu、Debian、Fedora、Gentoo

3、Unix和Linux

Linux是基于Unix的,属于Unix类,Uinx操作系统支持多用户、多任务、多线程和支持多种CPU架构的操作系统。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

4、Swap分区

Swap分区,即交换区,系统在物理内存不够时,与Swap进行交换。即当系统的物理内存不够用时,把硬盘中一部分空间释放出来,以供当前运行的程序使用。当那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。那些被释放内存空间的程序一般是很长时间没有什么操作的程序。

Swap空间一般应大于或等于物理内存的大小,同时最小不应小于64M,最大应该是物理内存的两倍。

5、GRUB的概念

GNU GRUB(GRand Unified Bootloader简称“GRUB”)是一个来自GNU项目的多操作系统启动引导管理程序。

GRUB是一个支持多种操作系统的启动引导管理器,在一台有多个操作系统的计算机中,可以通过GRUB在计算机启动时选择用户希望运行的操作系统。同时GRUB可以引导Linux系统分区上的不同内核,也可用于向内核传递启动参数,如进入单用户模式。

6、Buffer和Cache

Cache(缓存)位于CPU与内存之间的临时存储器,缓存容量比内存小的多但交换速度比内存要快得多。Cache通过缓存文件数据块,解决CPU运算速度与内存读写速度不匹配的矛盾,提高CPU和内存之间的数据交换速度。Cache缓存越大,CPU处理速度越快。

Buffer(缓冲)高速缓冲存储器,通过缓存磁盘(I/O设备)数据块,加快对磁盘上数据的访问,减少I/O,提高内存和硬盘(或其他I/O设备)之间的数据交换速度。Buffer是即将要被写入磁盘的,而Cache是被从磁盘中读出来的。

7、TCP三次握手

请求端发送SYN(SYN=A)数据包,等待响应端确认

响应端接收SYN,并返回SYN(A+1)和自己的ACK(K)包给请求端

请求端接收到响应端的SYN+ACK包,再次向响应端发送确认包ACK(K+1)

请求端和响应端建立TCP连接,完成三次握手,开始进行数据传输

8、linux系统目录结构

Linux文件系统采用带链接的树形目录结构,即只有一个根目录(通常用“/”表示),其中含有下级子目录或文件的信息;子目录中又可含有更下级的子目录或者文件的信息。

  • /:第一层次结构的根,整个文件系统层次结构的根目录。即文件系统的入口,最高一级目录。

  • /boot:包含Linux内核及系统引导程序所需的文件,例如kernel、initrd;grub系统引导管理器也在这个目录下。

  • /bin:基本系统所需要的命令,功能和"/usr/bin"类似,这个目录下的文件都是可执行的.普通用户也是可以执行的。 

  • /sbin:基本的系统维护命令,只能由超级用户使用。

  • /etc:所有的系统配置文件。

  • /dev:设备文件存储目录.像终端、磁盘、光驱等。

  • /var:存放经常变动的数据,像日志、邮件等。

  • /home:普通用户的目录默认存储目录。

  • /opt:第三方软件的存放目录,比如用户自定义软件包和编译的软件包就安装到这个目录中。

  • /lib:库文件和内核模块存放目录,包含系统程序所需要的所有共享库文件。

9、硬链接和软链接

硬链接(Hard Link):硬链接是使用同一个索引节点(inode号)的链接, 即可以允许多个文件名指向同一个文件索引节点(硬链接不支持目录链接,不能跨分区链接),删除一个硬链接,不会影响该索引节点的源文件以及其下的多个硬链接。

ln source new-link

软连接(符号链接,Symbolic Link):符号链接是以路径的形式创建的链接,类似于windows的快捷方式链接,符号链接允许创建多个文件名链接到同一个源文件,删除源文件,其下的所有软连接将不可用。(软连接支持目录,支持跨分区、跨文件系统)

ln -s source new-link

10、RAID技术

磁盘阵列(Redundant Arrays of independent Disks,RAID),廉价冗余(独立)磁盘阵列。

RAID是一种把多块独立的物理硬盘按不同的方式组合起来形成一个硬盘组(逻辑硬盘),提供比单个硬盘更高的存储性能和数据备份技术。RAID技术,可以实现把多个磁盘组合在一起作为一个逻辑卷提供磁盘跨越功能;可以把数据分成多个数据块(Block)并行写入/读出多个磁盘以提高访问磁盘的速度;可以通过镜像或校验操作提供容错能力。具体的功能以不同的RAID组合实现。

在用户看来,RAID组成的磁盘组就像是一个硬盘,可以对它进行分区、格式化等操作。RAID的存储速度比单个硬盘高很多,并且可以提供自动数据备份,提供良好的容错能力。

RAID级别,不同的RAID组合方式分为不同的RAID级别:

RAID 0:称为Stripping条带存储技术,所有磁盘完全地并行读,并行写,是组建磁盘阵列最简单的一种形式,只需要2块以上的硬盘即可,成本低,可以提供整个磁盘的性能和吞吐量,但RAID 0没有提供数据冗余和错误修复功能,因此单块硬盘的损坏会导致所有的数据丢失。(RAID 0只是单纯地提高磁盘容量和性能,没有为数据提供可靠性保证,适用于对数据安全性要求不高的环境)

RAID 1:镜像存储,通过把两块磁盘中的一块磁盘的数据镜像到另一块磁盘上, 实现数据冗余,在两块磁盘上产生互为备份的数据,其容量仅等于一块磁盘的容量。当数据在写入一块磁盘时,会在另一块闲置的磁盘上生产镜像,在不影响性能情况下最大限度的保证系统的可靠性和可修复性;当原始数据繁忙时,可直接从镜像拷贝中读取数据(从两块硬盘中较快的一块中读出),提高读取性能。相反的,RAID 1的写入速度较缓慢。RAID 1一般支持“热交换”,即阵列中硬盘的移除或替换可以在系统运行状态下进行,无须中断退出系统。RAID 1是磁盘阵列中硬盘单位成本最高的,但它提供了很高的数据安全性、可靠性和可用性,当一块硬盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据。

RAID 0+1:也被称为RAID 10,实际是将RAID 0和RAID 1结合的形式,在连续地以位或字节为单位分割数据并且并行读/写多个磁盘的同时,为每一块磁盘做镜像进行冗余。通过RAID 0+1的组合形式,数据除分布在多个盘上外,每个盘都有其物理镜像盘,提供冗余能力,允许一个以下磁盘故障,而不影响数据可用性,并且有快速读/写能力。RAID 0+1至少需要4个硬盘在磁盘镜像中建立带区集。RAID 0+1技术在保证数据高可靠性的同时,也保证了数据读/写的高效性。

RAID 5:是一种存储性能、数据安全和存储成本兼顾的存储解决方案。RAID 5可以理解为是RAID 0和RAID 1的折衷方案,RAID 5至少需要三块硬盘。RAID 5可以为系统提供数据安全保障,但保障程度要比镜像低而磁盘空间利用率要比镜像高。RAID 5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较低,是目前运用较多的一种解决方案。

欢迎在留言区留下你的观点,一起讨论提高。如果今天的文章让你有新的启发,学习能力的提升上有新的认识,欢迎转发分享给更多人。

欢迎各位读者加入程序员小乐技术群,在公众号后台回复“加群”或者“学习”即可。

猜你还想看


阿里、腾讯、百度、华为、京东最新面试题汇集

Springboot 优雅停止服务的几种方法

在 Spring Boot 中,如何干掉 if else!

Python2 已终结,入手Python 3,你需要这30个技巧


关注「程序员小乐」,收看更多精彩内容
嘿,你在看吗?
: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存