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

智能推荐

C++ thread多线程的几种方法_c++多线程实现的四种方式-程序员宅基地

文章浏览阅读2.1k次。进程与线程:一个程序创建运行就是一个进程,一个进程有一个主线程,主线程唯一主线程执行main函数中的代码,当main函数执行完毕,主线程终止,其生命周期与进程一致。在主线程以外可以通过代码创建其他线程来执行函数或者其他程序。c++头文件 :#include <thread>创建线程一:线程执行函数例如要创建线程执行函数 hello()void hello(){cout<<"hello"<<endl;}只需要在函数里面调用创建线程调用:voi_c++多线程实现的四种方式

C#多线程之Thread,ThreadPool,Task,Parallel_c# parallel-程序员宅基地

文章浏览阅读2.8k次,点赞9次,收藏52次。C#多线程之Thread,ThreadPool,Task,Parallel_c# parallel

linux5 syscall 流程_Linux系统调用(syscall)原理(转)-程序员宅基地

文章浏览阅读84次。引言:分析Android源码的过程中,要想从上至下完全明白一行代码,往往涉及app、framework、native一直到kernel,可能迷失到代码世界,明白了系统调用原理,或许能帮你峰回路转,找到进入kernel函数的入口。本文主要讲解ARM架构相关源码:/bionic/libc/kernel/uapi/asm-arm/asm/unistd.h/bionic/libc/arch-arm/sys..._linux syscall读文件

计算机10的原理图,计算机地图制图原理(10页)-原创力文档-程序员宅基地

文章浏览阅读144次。计算机地图制图原理第 1 章计算机地图制图是指以计算机硬件设备为基础,在相应软件软件系统的支持下,以数字格式对地图制图要素与现象数据进行采集、处理与管理,按照地 图制作的规范进行符号化、 图版制作与输出,并提供地图自动分析的过程。地图是按照一定的数学法则,将地球(或星体)表面的空间信息,经概括综合后以可视化、数字化或可触摸的符号形式,缩小表达在一定载体上的图形模型,用以传输、模拟和认知客 ..._计算机地图制图实验原理

爱了爱了!0.052 秒打开 100GB 数据,这个Python开源库火爆了!-程序员宅基地

文章浏览阅读99次。许多组织都在尝试收集和利用尽可能多的数据,以改善其经营方式,增加收入和提升影响力。因此,数据科学家面对50GB甚至500GB大小的数据集情况变得越来越普遍。不过,这类数据集使用起来不太..._爱了爱了!0.052 秒打开 100gb 数据

宏基ec471g黑苹果_宏碁acer ec-471g 黑苹果配置教程-程序员宅基地

文章浏览阅读866次。1tb sshd 混合硬盘 分区GPT+Journaled HFS OSX10.11.4500GB 机械硬盘 分区MBR+NTFS 系统win10系统/dev/disk0 (internal, physical): 1tb sshd 混合硬盘 在笔记本硬盘位#: TYPE NAME ...

随便推点

英语发音规则---E字母常见的发音组合有哪些-程序员宅基地

文章浏览阅读1.1w次,点赞2次,收藏2次。英语发音规则---E字母常见的发音组合有哪些一、总结一句话总结:很好记的e和5个元音字母的组合,加一个非e开头的iee:开音节 /i:/ eve /i:v/ n. 夏娃----闭音节 /e/ leg /leg/ [lɛɡ] n. 腿 ---非重读[ə] /i/ evidence /'evɪdəns/ ['ɛvɪdəns] n. 证据ea:/e/:bread /br..._字母组合ew与eu的读音

python循环语句怎么换行_python_循环语句-程序员宅基地

文章浏览阅读2.6k次。#循环语句#打印1到10# print(1,2,3,4,5,6,7,8,9,10)#如果打印大于10个,一个一个输入麻烦#用while循环实现,当while后面的表达式为真时,则执行while,直达表达式为假时,停止循环# i=1# while i<=10:# print(i)# i+=1#每次自增1,避免死循环#打印出来效果不一样,全部是换行# while i<=10..._python 循环输出end='',flush=true

jwt java redis_jwt基于Spring及Redis的鉴权-程序员宅基地

文章浏览阅读236次。首先,介绍下jwt(json web token)。jwt包括3个部分:Header (头部)、Payload (负载)、Signature (签名),其实token就可以理解为一个身份验证的令牌、票据。️header ='{"alg":"HS256","typ":"JWT"}' 其中 alg表示该令牌的加密方式,type不用管。️Payload负载部分 就是具体的认证信息,通过修改这部..._java的jwt和redis讲解

华为怎么把系统语言改成英语_怎么给华为手机更改语言?华为手机设置语言,涨知识了...-程序员宅基地

文章浏览阅读5.6k次。目前很多人都开始使用华为手机,手机的语言也分为很多种,有时我们也需要对手机进行个性化的处理,那就需要更改到手机的语言,那么华为手机应该如何更改语言么?接下来,我便分享一些经验步骤给大家。工具/材料·手机·设置操作方法01首先打开华为手机的桌面找到并打开齿轮状的“设置”。02打开设置以后,我们点击全部设置,并向下滑动屏幕。03向下滑动时找到“语言及输入法”,并且点进去。04点击进去”语言及输入法“以..._华为手机语言设置在哪

初学python的感受和收获_【雕爷学编程】零基础接触Python的一点收获和学习体会...-程序员宅基地

文章浏览阅读2.1k次。前几天在今日头条上看到一则广告,于是交了8.9元学费(还有不少是0学费的体验课),参加了小咖编程的一个四天课程(每天大概要用二小时左右),是Python的入门基础语法课,老师叫喵酱(教义做的非常棒)。偶然头回接触Python,学习的点点收获汇报如下。第一关开启星际迷航(进入Python新世界,了解print()输出函数的作用)1、Python是一门编程语言,我们通过编程语言来完成与计算机之间的交流..._初学python课程总结与感想

i9级E52450处理器_2020年桌面级CPU处理器最新性能天梯排行榜,第十代Intel处理器表现不错,AMD YES!...-程序员宅基地

文章浏览阅读5k次。2020年5月初,Intel正式发布了第十代桌面处理器,共33款comet lake-s系列处理器,包括不锁定多个频率的K系列处理器,以及阻止核心的F系列处理器。就在本周,Intel已经正式解禁10代CPU,意味着大家现在可以购买新款处理器,各款会陆续上架。令人失望的是,10代Intel处理器仍然采用14nm++制程工艺,更换了新的CPU插槽,意味着第十代处理器需要更换400系列主板芯片..._e5-2450相当于i几

推荐文章

热门文章

相关标签