十项Linux常识
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高,存储成本相对较低,是目前运用较多的一种解决方案。
-

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
CentOS搭建redmine项目管理系统
背景 由于项目需要,决定用开源而强大的redmine系统作为项目管理软件。由于服务器(CentOS6.8)没有预装ruby、ROR(Ruby on rails)环境,本文内容是从0开始搭建的,中间也吃了不少软件兼容性等的苦头,参阅了不少文章,遂做下笔记,希望对有同样需要的同仁有些帮助。 有关redmine的介绍可以自己多做了解,废话不多说,进入正题: 强烈建议:搭建过程请使用“科学上网“环境进行,理由就不用多说了。 软件环境 搭建redmine共需要安装如下软件/包环境,还有一些依赖软件/包等: 1.数据库 (这里以mysql为例) 2.redemine项目源码 3.RVM (Ruby版本管理器) 4.Ruby 5.rubyGems (对 Ruby组件进行打包的 Ruby 打包系统) 6.Rails(Ruby on Rails) 7.其他依赖包等 本次搭建中使用到的软件版本 1.mysql5.5(官方推荐,因为5.6有些已知的问题,当然其他数据库也可以) 2.redmine3.3.3.stable 3.Ruby2.3.3 4.Rails4.2.7.1 5.其他略 安装 MYSQL安装 ...
- 下一篇
centos7新增磁盘、磁盘分区、修改分区属性以及挂载硬盘分区
在RHEL7里新增加一块8G的硬盘,在里面创建一个2G的主分区,6G的扩展分区,再在扩展分区中创建三个2G的逻辑分区,然后再修改逻辑分区的分区类型。在linux文件系统里面最多只能创建4个主分区,如果要创建4个以上的分区,则必须先创建一个扩展分区,然后从扩展分区中划分出多个逻辑分区。再把主分区挂载到新创建的目录上。 首先我们在virtualbox里面新增加一块磁盘:先把虚拟机关机,设置--->存储--->控制器sata--->添加虚拟硬盘。我添加了一块8G的硬盘到我的RHEL7上(原本就有一块20G的硬盘,是我装系统的时候分配的)。 添加完硬盘之后,查看一下硬盘信息,如下可以看到出现了一个未分区的磁盘/dev/sd* 然后查看一下/dev/sdb的磁盘信息fdisk -l /dev/sdb,可以看到磁盘还没有分区,还是一块全新的硬盘。 不知道命令的话输入m获取帮助,嘿嘿 可以看到n为新增分区,p为创建主分区,分区号默认为1,起始扇区这里是2048,我们选择默认的,分区大小我这里分了2个G。 输入p,我们看到分区信息,然后再输入W保存一下 再查看一下dev/sdb信息,...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7设置SWAP分区,小内存服务器的救世主
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- 设置Eclipse缩进为4个空格,增强代码规范
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2全家桶,快速入门学习开发网站教程
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- CentOS8安装Docker,最新的服务器搭配容器使用
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题