Linux学习必备基础知识_链接程序,共同完成任务-程序员宅基地

技术标签: Linux  系统  

1. 计算机的组成及功能

1.1 计算机的组成

计算机系统由硬件系统和软件系统两大部分组成
在这里插入图片描述

1.2 计算机功能

  • 科学计算
  • 数据处理
  • CAD(Computer-Aided Design)计算机辅助设计
  • CAE(Computer-Aided Engineering)计算机辅助工程
  • CAM(Computer-Aided Manufacturing)计算机辅助制造
  • CAI(computer-aided instruction)计算机辅助教学

2. 内核功能以及作用

内核功能:
内核(Kernel,又称核心)就是操作系统的核心,它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并由内核决定一个程序在什么时候对某部分硬件操作多长时间。直接对硬件操作是非常复杂的。所以内核通常提供一种硬件抽象的方法,来完成这些操作。有了这个,通过进程间通信机制及系统调用,应用进程可间接控制所需的硬件资源(特别是处理器及IO设备)。
内核作用:

  • 进程管理
  • 内存管理
  • 文件管理
  • 驱动管理
  • 网络管理

3. Linux发行版

所谓的Linux发行版就是由个人或者各大厂商根据不同的功能需求在内核版本的基础上增加了不同的功能,如:增加图形界面、增加各种小工具等等,这样就组成了一个Linux发行版。
常见的Linux发行版:
1、按打包方式划分:
基于Dpkg(Debian系)
Debian GNU / Linux是一种强调使用自由软件的发行版。它支持多种硬件平台。Debian及其派生发行版使用deb软件包格式,并使用dpkg及其前端作为包管理器。

  • Ubuntu:知名Linux发行版之一,由Canonical有限公司赞助,基于Debian,使用自己的软件包库,与Debian的有所不同,旨在开发出更加友好的桌面。

    以下基于Ubuntu

    • Linux Mint:基于Ubuntu,人气与Ubuntu不相上下的发行版。
    • Elementary OS:基于Ubuntu,使用基于GNOME名为Pantheon的桌面环境。
    • Ubuntu Kylin:添加了少量中国化定制的 Ubuntu 发行版。
    • Ubuntu GNOME:基于Ubuntu是Linux发行版,但使用的是桌面环境是Gnome。

基于RPM(Red Hat系)
Red Hat Linux和SUSE Linux是最早使用RPM格式软件包的发行版,如今RPM格式已广泛运用于众多的发行版。这两种发行版后来都分为商业版本和社区支持版本。Red Hat Linux的社区支持版本现称为Fedora,商业版本则称为Red Hat Enterprise Linux。

  • CentOS:由社群支持的包,旨在100%地与Red Hat Linux企业版兼容,但不包含Red Hat的商业软件。
  • Fedora:可用作工作站、桌面以及服务器,由红帽公司及其社群开发。
  • Red Hat Enterprise Linux:红帽Linux家族中唯一的商业分支。
  • SUSE/openSUSE:来自德国,是欧洲最流行的包之一。跟红帽一样,也包括大量的软件,需要7张以上的CD,现在则用双DVD。这个包有独特的配置工具YaST。也是United Linux的创立者之一,已经被Novell公司收购。openSUSE是一个新的版本,基于社区,完全开源。

2、按发行方式划分
部分或全部的商业版

  • Red Hat Enterprise Linux:从Red Hat Linux派生出的纯商业版。
  • SUSE:基于德国的纽伦堡,以前叫SuSE,是欧洲最流行的Linux包,由自己独特的配置工具YaST,用户可以下载到体验版(跟专业版类似)。该公司是United Linux的创建者,被Novell收购。
  • Novell Linux 桌面:Novell收购SUSE后,两家的包就互相融合了。

专用包

  • Android:来自Google,以apk格式打包,采用Android Runtime虚拟机提供类似Java (编程语言)的应用程序接口,当前已成为用户最多的智能手机系统之一。
  • Maemo:来自诺基亚,基于Debian,当前专用于诺基亚的N770、N800、N810网络终端,以及N900手机。
  • MeeGo:Maemo与Moblin计划结合的产物。

4. 常见开源协议

GPL: GNU通用公共许可协议(GNU General Public License,缩写GNU GPL 或 GPL),是被广泛使用的自由软件许可证,给予了终端用户运行、学习、共享和修改软件的自由。许可证最初由自由软件基金会的理查德·斯托曼为GNU项目所撰写,并授予计算机程序的用户自由软件定义(The Free Software Definition)的权利。 GPL是一个Copyleft许可证,这意味着派生作品只能以相同的许可条款分发。 这与宽松自由软件许可证有所区别 ,如BSD许可证和MIT许可证就是其中被广泛使用的例子。 GPL是第一个普遍使用的Copyleft许可证。
LGPL(Lesser General Public License): LGPL相对于GPL较为宽松,允许不公开全部源代码
BSD (Berkeley Software Distribution license): 是自由软件中使用最广泛的许可协议之一。BSD 就是遵照这个许可证来发布,也因此而得名 BSD 许可协议。跟其他条款相比,从GNU通用公共许可证(GPL)到限制重重的著作权(Copyright),BSD许可证比较宽松,甚至跟公有领域更为接近。事实上,BSD许可证被认为是copycenter(中间著作权),介乎标准的copyright与GPL的copyleft之间。“Take it down to the copy center and make as many copies as you want”。可以说,GPL强迫后续版本必须一样是自由软件,BSD的后续版本可以选择要继续是BSD或其他自由软件条款或封闭软件等等。
Apache许可证(Apache License),是一个由Apache软件基金会发布的自由软件许可证,最初为Apache http服务器而撰写。Apache许可证要求被授权者保留著作权和放弃权利的声明,但它不是一个反著作权的许可证。

5. Linux哲学思想

一切皆文件
在Linux系统中,一切皆文件,也就是包括硬件设备、网络通信接口等等都是一个文件。
小型,单一用途的程序
一个程序只负责做好自己的本职工作。
链接程序,共同完成复杂的任务
当遇到复杂任务,通过不同功能用途的程序组合起来完成任务。
避免令人困惑的用户界面
在Linux系统中,主打的就是命令行,命令行的优势管理效率高,还能够节省一些硬件资源,很容易实现自动化批量管理。
配置数据存储在文本中
Linux系统中,服务的相关配置都是存储在一个文件中,结合文本处理工具及脚本管理效率非常高,用文本的方式也能够节省系统资源及硬件资源。

6. Linux目录结构

在这里插入图片描述
Linux目录被组织成一个单根倒置树结构,从根目录下开始,用“/”表示
系统中常见目录作用:
/boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub) 都存放于此目录
/bin:所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序
/sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序
/lib:启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)
/lib64:专用于x86_64系统上的辅助共享库文件存放位置
/etc:配置文件目录
/home:普通用户家目录
/root:管理员的家目录
/media:便携式移动设备挂载点
/mnt:临时文件系统挂载点
/dev:设备文件及特殊文件存储位置
/opt:第三方应用程序的安装位置
/srv:系统上运行的服务用到的数据
/tmp:临时文件存储位置
/usr:universal shared, read-only data

  • bin:保证系统拥有完整功能而提供的应用程序
  • sbin:此目录包含系统管理员专用的任何非必需二进制文件
  • lib:存放库文件,32位系统使用
  • lib64:存放库文件,只存在64位系统
  • include:C程序的头文件(header files)
  • 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相关的安全策略等信息的存储位置

文件命令规则:

  • 文件名最长255个字节
  • 包括路径在内文件名称最长4095个字节
  • 除了斜杠和NUL,所有字符都有效。但使用特殊字符的目录名和文件不推荐使用,有些字符需要用引号来引用它们
  • 标准Linux文件系统(如ext4),文件名称大小写敏感,例如:MAIL, Mail, mail, mAiL(很多人都说Linux系统区分大小写,其实说法是错误的,区分大小写是和文件系统有关的。)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ICT_fengyun/article/details/101677726

智能推荐

Python中 tf.placeholder()函数解释_python placeholder-程序员宅基地

文章浏览阅读6.4k次,点赞6次,收藏11次。此函数可以理解为形参,用于定义过程,在执行的时候再赋具体的值。不必指定初始值,可在运行时,通过 Session.run 的函数的 feed_dict 参数指定。这也是其命名的原因所在,仅仅作为一种占位符。tf.placeholder( dtype, shape=None, name=None)参数:dtype:数据类型。常用的是tf.float32,tf.float64等数值类型shape:数据形状。默认是None,就是一维值,也可以多维,比如:[None,3],表示_python placeholder

RK平台,芯片rtl8821cs,重启wifi概率性无法打开_rk重新上电概率打不开wifi蓝牙-程序员宅基地

文章浏览阅读3.4k次。文章目录重启wifi概率性无法打开发现问题问题分析解决方法重启wifi概率性无法打开发现问题  最近在调试A100项目,建立在RK平台上的一个医疗随行包+智能音箱;在调试的过程中发现了一个bug:通过reboot命令重启的时候会概率性的出现WIFI打不开的情况;问题分析  根据查看kernel log,发现在sdio去探测设备的过程中,sdio报错了,导致无法探测到设备,以致于驱动..._rk重新上电概率打不开wifi蓝牙

文件系统的类型简介_系统用认识媒介类型是文件的什么-程序员宅基地

文章浏览阅读4.2k次。文件系统的类型简介Linux支持多种文件系统类型,包括ext2、ext3、vfat、jffs、romfs和nfs等,为了对各类文件系统进行统一管理,Linux引入了虚拟文件系统VFS(Virtual File System),为各类文件系统提供一个统一的应用编程接口。根据存储设备的硬件特性、系统需求,不同的文件系统类型有不同的应用场合。在嵌入式Linux应用中,主要的存储设备为_系统用认识媒介类型是文件的什么

魅族u20怎么刷Android,魅族魅蓝U20/U10一键Root权限获取+USB驱动安装-程序员宅基地

文章浏览阅读1.5k次。魅族新的手机型号为魅蓝U20发布了,,售价特公布了为千元级别手机,那么meizuU20手机配置如何呢?我们看看吧,,屏幕尺寸为5.5英寸,分辨率为1920*1080高清,系统是基于安卓的Flyme5系统,兼容安卓系统的APK格式文件安装和使用。处理器为HelioP101.8GHz(八核心)摄像头为1300万像素,前置为500万,。可运行内存为2GB,机身存储空间为16GB这个手机目前售价为..._1920*1080手机可以root的

陕西省计算机二级mysql报名_转发教育部考试中心关于全国计算机等级考试(NCRE)体系调整的通知...-程序员宅基地

文章浏览阅读112次。附件全国计算机等级考试调整方案2015年,考试中心组织召开了第六届全国计算机等级考试(NCRE)考委会会议,会议完成NCRE考委会换届选举,并确定了下一步改革目标。在新的历史时期,NCRE将在保持自身特色、稳定发展的基础上进一步考试改革。从2018年3月开始,将实施2018版考试大纲,并按新体系开考各个考试级别。具体调整内容如下:一、考试级别及科目1.一级新增“网络安全素质教育”科目(代码:17)..._二级mysql报名

nuxt使用core-js在ie11下的兼容性问题处理_corejs版本不兼容-程序员宅基地

文章浏览阅读2.2k次。nuxt ie兼容性问题_corejs版本不兼容

随便推点

校验码——奇偶校验码详解,码距,例题_奇偶校验题目-程序员宅基地

文章浏览阅读1.1w次,点赞7次,收藏18次。相关文章: 校验码——码距 校验码——海明码及码距 校验码——CRC循环冗余校验码 一、码距二、奇偶校验码 奇偶校验码是一种增加二进制传输系统最小距离的简单和广泛采用的方法。例如,单个的奇偶校验将使码的最小距离由一增加到二。 一个二进制码字,如果它的码元有奇数个1,就称为具有奇性。例如,码字“10110101”有五个1,因此,这个码字具有奇性。同样,偶性码字具有偶数个1。注意奇性检测等效于所有码元的模二加,..._奇偶校验题目

25.请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字 符串。_3、(串比较):编写一个函数fun,功能是对两个字符串进行比较;在主函数中输入两个字 符串,调用fu-程序员宅基地

文章浏览阅读4k次,点赞9次,收藏10次。25.请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。例如,输入:beijing shanghai(为回车键),函数将返回shanghai。#include <stdio.h>char *fun(char *s1,char *s2){//考察传递字符串 char *p=s1; char *q=s2; int m=0; int n=0; while(*p){ _3、(串比较):编写一个函数fun,功能是对两个字符串进行比较;在主函数中输入两个字 符串,调用fun函数完成串比较,在主函数中输出这两个字符串的比较结果。要求用指针完成fun函数,不得使用strcmp库函数。

pycharm使用日志_pycharm r日志详情-程序员宅基地

文章浏览阅读4.5k次。这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma..._pycharm r日志详情

Universal-Image-Loader源码阅读(3)-utils/IoUtils_universal_utils-程序员宅基地

文章浏览阅读176次。该类从名字看就是IO工具类。同样类声明为final,构造为private,方法都是static。这些是工具类的标配呀!源码:/** * Provides I/O operations * * @author Sergey Tarasevich (nostra13[at]gmail[dot]com) * @since 1.0.0 */public final _universal_utils

淘宝代购系统;海外代购系统;代购程序,代购系统源码PHP前端源码演示-程序员宅基地

文章浏览阅读549次。本帖只展示部分演示站 需了解更多请移步注册http://console.open.onebound.cn/console/?i=Rookie代购业务近年兴起的一种购物模式,是帮国外客户购买中国商品。主要通过外贸代购模式,把淘宝、天猫等电商平台的全站商品通过API接入到你的网站上,瞬间就可以架设一个有数亿产品的大型网上商城,而且可以把这些中文的商品全部自动翻译成各国语言,能让国外客户看懂,直接在网站上下单,然后网站运营方代为购买再邮寄给客户,收取商品差价以及代购费和运费,利润可观,市场巨大。目前跨境

回溯法:《装载问题》-python实现_装载问题有一批共n个集装箱要装上2艘 python-程序员宅基地

文章浏览阅读3.6k次。有一批共n个集装箱要装上2艘载重量分别为c1和c2的船,其中集装箱i的重量为wi,且。装载问题要求确定是否有一个合理的装载方案可将这些集装箱装上这2艘船。如果有,找出一种装载方案。例如当n=3,c1=c2=50且w=[10,40,40]时,则可以将集装箱1和2装到第一艘轮船上,而将集装箱3装到第二艘轮船上;如果w=[20,40,40],则无法将这3个集装箱都装上轮船。容易证明,如果一个给定装载问题..._装载问题有一批共n个集装箱要装上2艘 python

推荐文章

热门文章

相关标签