Linux基础知识回顾
1、描述计算机的组成及其功能
计算机是由计算机软件系统和计算机硬件系统两大系统组成
计算机硬件组成
1946年数学家冯诺依曼提出,计算机硬件由运算器、控制器、存储器、输入设备和输出设备5大部件组成,如下图
计算机各个组成部分的功能:
运算器的功能主要实现算术运算和逻辑运算与控制器组成CPU。
控制器的功能主要就是将指令逐条从存储器中取出,经译码分析后向各相应的操作控制信号作用于其他部件,使得各个部件有条不紊协调工作。
存储器的功能主要是将计算机各程序和各种数据信息存储下来,并能在计算运行过程中高速、自动地完成程序和数据的存取。
输入设备的功能是用来向计算机输入各种原始数据和程序,比如键盘,鼠标等
输出设备的功能是将计算机的运算结果或者中间数据、结果等打印或者显示出来,比如显示器。
计算机软件由系统软件和应用软件组成,系统软件是指由计算机生成厂家(部分“由第三方”)为使用该计算机而提供的基本软件,最常用的有操作系统、文字处理程序、计算机语言处理程序、数据库程序、联网及通讯软件、各类服务程序和工具软件等。其中操作系统是最基本最重要的系统软件,它负责管理计算机系统的各种硬件资源(如CPU\内存、磁盘、外部设备等)并且负责解释用户对机器的管理命令,使它转换为机器实际的操作。常见的系统有Linux、Windows、unix等。
2、描述内核功能以及作用。
内核是操作系统最基本的部分,它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间,是操作系统工作的基础。它负责管理系统的进程、内存、设备驱动、文件和网络系统。
Linux内核主要功能和作用是负责系统的进程管理、内存管理、文件系统、设备驱动管理、网络管理。
内存管理:内核为每个程序建立一个虚拟的地址空间,并管理内存的申请和释放。
进程管理:负责进程的创建回收监控等一系列的进程管理。
文件系统:负责管理和存储文件信息的软件,负责管理和调度文件的储存空间、提供文件的逻辑结构、物理结构和储存方法;实现文件从标识到实际地址的映射,实现文件的控制操作和存取操作,实现文件信息的共享并提供可靠的文件保密和保护措施,提供文件的安全措施。
设备驱动管理:负责加载或移除以及管理相关设备驱动模块的使用。从而实现控制硬件的目的。
网络管理:负责管理各种网络设备,并实现各种网络协议栈,最终实现和其他网络或设备连接通信。
3、按系统罗列常见Linux的发行版,并描述不同发行版之间的联系与区别。
Linux的常见发行版有:RedHat、Fadora、suse、红旗、debian、Ubuntu、centos
不同的发行版之间的联系和区别:
RedHat,是redhat自己的发行的企业版,也是redhat的一个重要节点。
Fedore是一款基于Linux的操作系统,也是一组维持计算机正常运行的软件集合,由红帽公司赞助。
suse Linux,针对个人用户。
红旗Linux的发行版,包括桌面版、工作站版、数据中心版,是中国较大、较为成熟的Linux版本之一。
debian,三大发行版中唯一以社区形式运作,不以商业公司形式运作。是一个致力于创建自由操作系统的合作组织。而其debian开发者所创建的操作系统中绝大部分基础工具来自于GNU工程。
ubuntu,是一个以桌面应用为主的Linux操作系统。ubuntu的目标在于为一般用户提供最新的、相当稳定的操作系统。
centos,是一个基于redhatLinux提供的可自由使用源代码的企业级Linux发行版,目前centos已被redhat公司收购,成为redhat旗下的一个组织。
4、描述常见的开源协议(GPL,LGPL,BSD,Apache等)以及开源协议的区别。
GPL:是GUN General Public License 的缩写,它和其他的开源协议不一样,在获取源代码修改后不允许闭源,新增代码重新发布时要采用GPL开源协议。
LGPL:是GUN Lesser General Public Licese (GNU 宽通用许可证)的缩写,在GPL协议的基础上发布的更宽松的协议,获取源代码修改后可以选择公开一部分源代码,来获取开发软件的拥有权。
MPL:是The Mozilla Public License的缩写,Mozilla小组为其开源软件项目设计的软件许可证,它在获取开源源码中,修改里面的一部分代码后选择提供说明文档,来描述改动的功能。
BSD:是原先用在加州大学伯克利分校发表的各个版本的许可证(BSD是Berkly Software Distribution的缩写)。相较于GPL许可证和MPL许可证的严格性,BSD许可证就宽松很多,一样是只需要附上许可证的原文,但它还要求进一步的将开发者将自己的版权资料放上去,所以以BSD许可证发行的软件,可能会遇到一些版权资料许可证所占空间比程序还大的状况。
MIT:许可证之名源自麻省理工学院(Massachusetts Institute of Technology,MIT),是许多软件授权条款中,被广泛使用的一种。与其他常见的软件授权条款(如GPL、LGPL、BSD)相比,MIT是相对宽松的软件授权条款,但是赋予软件被授权人更大的权力与更少的限制。
Apache:许可证(Apache Licese)是一个在Apache软件基金会发布的自由软件许可证,Apache许可证要求被授权者在每一个文件中写入版权申明,以维护开发者的劳动成果。
5、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
1)一切皆文件(包括硬件)
一切皆文件是Linux的基本哲学思想,普通文件,目录文件、字符设备、块设备等这些在Linux系统里都是以文件的形式存在。
2)小型,单一用途的程序
一个单一的程序或者可执行的文件,不会太过于复杂也不会过大,这样才能保证Linux的高速运转,简单说就是一个功能就用一个小而简单的程序实现。
3)连接程序,共同完成复杂的任务
过于复杂的程序,Linux会通过链接很多简单不同功能的程序来共同实现一个复杂的过程,保证了简单功能高效的同时也实现了复杂程序,当然实现复杂程序也必然是高效的。
4)避免令人困惑的用户界面
Linux上支持的脚本语言种类十分丰富、易学简单,方便使用者以脚本的方式自动完成众多功能。
5)配置数据存储在文本中
Linux是一款开源的系统,所有的系统配置都写在配置文件之中,无论修改什么只要在配置文件中修改即可,修改配置文件只需要任意一款文本编辑器就可以。不用像Windows只可以在注册表中修改,工具单一,过于复杂。
6、描述Linux目录结构以及目录结构命名规定。
/boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader,grub)都存放于此目录
/bin:所有用户使用的基本命令;不能关联至独立分区,os启动即会用到的程序
/sbin:管理类的基本命令;不能关联至独立分区,os启动即会用到的程序
/lib:启动时程序依赖的基本共享库文件及内核模块文件集(/lib/modules)
/lib64:专用于x86_64系统上的辅助共享库文件存放位置
/etc:配置文件目录
/home/USERNAME:普通用户家目录
/root:管理员的家目录
/media:便携式移动设备挂载点
/mnt:临时文件系统挂载点
/dev:设备文件及特殊文件存储位置
/opt:第三方应用程序的安装位置
/srv:系统上运行的服务用到的数据
/tmp:临时文件储存位置
/usr:universal shared ,read-only data(通用共享只读数据),
bin:保证系统拥有完整功能而提供的应用程序
sbin:
lib:32位系统使用
lib64:只存在64位系统
include:C程序的头文件(head file)
share:结构化独立的数据,例如doc,man 等
local:第三方应用程序的安装位置,它下面也有bin,sbin,lib,lib64,etc,share,其作用同上
/var:variable data files(变动的数据文件)存放一些经常要变动的文件目录,如系统日志文件,应用程序的日志文件等。。
cache:应用程序缓存目录
lib:应用程序状态信息数据
local:专用于为/usr/local下的应用程序储存可变数据;
lock:锁文件
log:日志目录及文件
opt:专用于/opt下的应用程序储存可变数据;
run:运行中的进程相关数据,通常用于存储进程pid文件
spool:应用程序数据池
tmp:保存系统两次重启之间产生的临时数据
/proc:用于输出内核与进程信息相关的虚拟文件系统
/sys:用于输出当前系统上硬件设备相关信息虚拟文件系统
/selinux:security enhanced Linux,selinux相关的安全策略等信息的存储位置
Linux目录结构被组织成一个单根倒置树结构,文件系统从根目录下开始,用“/”表示,文件名称区分大小写,以“.”开头的文件都是隐藏文件,路径分割符为“/”。
目录结构命名规定
1.文件名最长255个字节
2.包括路径在内文件名称最长4095个字节
3.一般显示蓝色的文件都是目录,绿色表示是可执行文件 ,红色表示压缩文件,浅蓝色表示连接文件,黄色表示设备文件,灰色表示其他文件。
4.标准Linux文件系统(如ext4),文件名称大小写敏感。
Linux基础知识回顾的更多相关文章
- Linux基础知识回顾及BASH学习
2019-2020-030189224 <网络攻防技术与实践>第一周学习总结 Linux基础知识错题回顾 1.Linux中使用(B)命令新建空白文件. A .mkdir B .touch ...
- 系统和帮助-Linux基础知识
iOS镜像: 硬盘分区:留出一些空间;实在不成,可安装完成以后,新增一块虚拟硬盘; 终端:terminal 用户界面: GUI:图形界面 GNome KDE CLI: bash,zsh,sh,csh, ...
- java基础知识回顾之---java String final类普通方法
辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正. /* * 按照面向对象的思想对字符串进行功能分类. * ...
- C#基础知识回顾-- 反射(3)
C#基础知识回顾-- 反射(3) 获取Type对象的构造函数: 前一篇因为篇幅问题因为篇幅太短被移除首页,反射这一块还有一篇“怎样在程序集中使用反射”, 其他没有什么可以写的了,前两篇主要是铺垫, ...
- C#基础知识回顾-- 反射(1)
C#基础知识回顾-- 反射(1) 反射(reflection)是一种允许用户获得类型信息的C#特性.术语“反射”源自于它的工作方式: Type对象映射它所代表的底层对象.对Type对象进行查询可以 ...
- Linux基础知识入门
[Linux基础]Linux基础知识入门及常见命令. 前言:最近刚安装了Linux系统, 所以学了一些最基本的操作, 在这里把自己总结的笔记记录在这里. 1,V8:192.168.40.10V1: ...
- C#基础知识回顾--线程传参
C#基础知识回顾--线程传参 在不传递参数情况下,一般大家都使用ThreadStart代理来连接执行函数,ThreadStart委托接收的函数不能有参数, 也不能有返回值.如果希望传递参数给执行函数, ...
- python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。
本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...
- 运维之linux基础知识(一)
运维之linux基础知识(一) 1.GUI:Graphic User Interface 图形用户界面 2.CLI:Command line Interface 命令行界面 3 dll:Dynamic ...
随机推荐
- Node Sass could not find a binding for your current environment: OS X 64-bit with Node.js 10.x
运行Reac项目报: Node Sass could not find a binding for your current environment: OS X 64-bit with Node.js ...
- SpringMVC快速入门记录(二)
一.数组参数绑定和List参数绑定 1.数组参数绑定 提交多个相同name的参数,保持name的名字和Controller方法参数的数组名称相同即可. 2.List参数绑定 List中存放对象,并将定 ...
- Spring Cloud Alibaba学习笔记(3) - Ribbon
1.手写一个客户端负载均衡器 在了解什么是Ribbon之前,首先通过代码的方式手写一个负载均衡器 RestTemplate restTemplate = new RestTemplate(); // ...
- PowerUp攻击模块实战
PowerUp攻击模块实战 1.将PowerUp.ps1脚本上传至目标服务器,然后在本地执行 2.使用IEX在内存中加载此脚本,执行以下命令,脚本将进行所有的检查. powershell.exe ...
- [HDU5955]Guessing the Dice Roll
Problem Description There are N players playing a guessing game. Each player guesses a sequence cons ...
- 关于Mapper.xml生效的问题
昨天在新建Springboot启动后,发现执行相关的SQL报错,具体报错信息如下: org.apache.ibatis.binding.BindingException: Invalid bound ...
- 如何在项目中使用Spring异步调用注解@Async
本文主要介绍如何使用Spring框架提供的异步调用注解@Async,异步线程池配置.异常捕获处理. 开启@Async注解支持 使用@Async注解的之前,必须在项目中启动时调用@EnableAsync ...
- 【阿里云IoT+YF3300】6.物联网设备报警配置
纵然5G时代已经在时代的浪潮中展现出了它的身影,但是就目前的物联网环境中,网络问题仍旧是一个比较突出的硬伤.众所周知,在当前的物联网规划中,与其说是实现万物互联,倒不如说是行业指标数据监控.对于一些特 ...
- vue系列---响应式原理实现及Observer源码解析(一)
_ 阅读目录 一. 什么是响应式? 二:如何侦测数据的变化? 2.1 Object.defineProperty() 侦测对象属性值变化 2.2 如何侦测数组的索引值的变化 2.3 如何监听数组内容的 ...
- 你必须知道的容器监控 (2) cAdvisor
本篇已加入<.NET Core on K8S学习实践系列文章索引>,可以点击查看更多容器化技术相关系列文章.上一篇我们了解了docker自带的监控子命令以及开源监控工具Weave Scop ...