介绍Linux

目录

1.什么是操作系统

2.现实生活中的操作系统

 3.操作系统的发展史

 4.操作系统的发展

Linux的不同版本以及应用领域

1.Linux内核及发行版介绍

<1>Linux内核版本

<2>Linux发行版本

2.应用领域 

个⼈桌⾯领域的应⽤

服务器领域

嵌⼊式领域

3.文件和目录

windows和Linux文件系统区别

类Unix系统⽬录结构

Linux ⽬录

用户目录 

相对路径和绝对路径

绝对路径 

相对路径

.和..


1.什么是操作系统

2.现实生活中的操作系统

win7 

Mac 

Android 

iOS 

 3.操作系统的发展史

Unix

1965 年之前的时候,电脑并不像现在⼀样普遍,它可不是⼀般⼈能碰的起的,除⾮是军事
或者学院的研究机构,⽽且当时⼤型主机⾄多能提供 30 台终端( 30 个键盘、显示器 ) ,连
接⼀台电脑

为了解决数量不够⽤的问题
1965 年左后由⻉尔实验室、麻省理⼯学院 以及 通⽤电⽓共同发起了 Multics 项⽬,想让⼤
型主机⽀持 300 台终端
1969 年前后这个项⽬进度缓慢,资⾦短缺,⻉尔实验室退出了研究
1969 年从这个项⽬中退出的 Ken Thompson 当时在实验室⽆聊时,为了让⼀台空闲的电脑
上能够运⾏ 星际旅⾏ 游⾏,在 8 ⽉份左右趁着其妻⼦探亲的时间,⽤了 1 个⽉的时间 编写
出了 Unix 操作系统的原型
1970 年,美国⻉尔实验室的 Ken Thompson ,以 BCPL 语⾔ 为基础,设计出很简单且很
接近硬件的 B 语⾔(取 BCPL 的⾸字⺟),并且他⽤ B 语⾔写了第⼀个 UNIX 操作系统。
因为 B 语⾔的跨平台性较差,为了能够在其他的电脑上也能够运⾏这个⾮常棒的 Unix 操作
系统, Dennis Ritchie Ken Thompson B 语⾔的基础上准备研究⼀个更好的语⾔

 

· 汤普逊(左)和丹尼斯 · ⾥奇(右)
1972 年,美国⻉尔实验室的 Dennis Ritchie B 语⾔的基础上最终设计出了⼀种新的语
⾔,他取了 BCPL 的第⼆个字⺟作为这种语⾔的名字,这就是 C 语⾔
1973 年初, C 语⾔的主体完成。 Thompson Ritchie 迫不及待地开始⽤它完全重写了现在
⼤名鼎鼎的 Unix 操作系统
Minix
因为 AT&T( 通⽤电⽓ ) 的政策改变,在 Version 7 Unix 推出之后,发布新的使⽤条款,将
UNIX 源代码私有化,在⼤学中不再能使⽤ UNIX 源代码。 Andrew S. Tanenbaum( 塔能鲍
) 教授为了能在课堂上教授学⽣操作系统运作的实务细节,决定在不使⽤任何 AT&T 的源
代码前提下,⾃⾏开发与 UNIX 兼容的操作系统,以避免版权上的争议。他以⼩型
UNIX mini-UNIX )之意,将它称为 MINIX
Linux
因为 Minix 只是教学使⽤,因此功能并不强,因此 Torvalds 利⽤ GNU bash 当做开发环
境, gcc 当做编译⼯具,编写了 Linux 内核 -v0.02 ,但是⼀开始 Linux 并不能兼容 Unix ,即
Unix 上跑的应⽤程序不能在 Linux 上跑,即应⽤程序与内核之间的接⼝不⼀致,因为 Unix
是遵循 POSIX 规范的,因此 Torvalds 修改了 Linux ,并遵循 POSIX Portable Operating
System Interface ,他规范了应⽤程序与内核的接⼝规范); ⼀开始 Linux 只适⽤于 386
后来经过全世界的⽹友的帮助,最终能够兼容多种硬件;

4.操作系统的发展

 

Linux的不同版本以及应用领域

1.Linux内核及发行版介绍

<1>Linux内核版本

内核 (kernel) 是系统的⼼脏,是运⾏程序和管理像磁盘和打印机等硬件设备的核⼼程序,
它提供了⼀个在裸设备与应⽤程序间的抽象层。
Linux 内核版本⼜分为稳定版和开发版,两种版本是相互关联,相互循环:
  • 稳定版:具有⼯业级强度,可以⼴泛地应⽤和部署。新的稳定版相对于较旧的只是修正⼀些bug或加⼊⼀些新的驱动程序。
  • 开发版:由于要试验各种解决⽅案,所以变化很快。
内核源码⽹址: http://www.kernel.org 所有来⾃全世界的对 Linux 源码的修改最终都会汇总
到这个⽹站,由 Linus 领导的开源社区对其进⾏甄别和修改最终决定是否进⼊到 Linux 主线
内核源码中。

<2>Linux发行版本

Linux 发⾏版 ( 也被叫做 GNU/Linux 发⾏版 ) 通常包含了包括桌⾯环境、办公套件、媒体播
放器、数据库等应⽤软件。

 

排名20162015
1
Linux Mint
Linux Mint
2
Debian
Debian
3UbuntuUbuntu
4openSUSEopenSUSE
5redhatFedora
6FedoraManjaro
7ManjaroMageia
8MageiaCentOS
9CentOSArch
10ArchElementary

Fedora

Redhat

 

Ubuntu

 

2.应用领域 

个⼈桌⾯领域的应⽤

此领域是传统 linux 应⽤最薄弱的环节,传统 linux 由于界⾯简单、操作复杂、应⽤软件少的
缺点,⼀直被 windows 所压制,但近些年来随着 ubuntu fedora 等优秀桌⾯环境的兴起,
同时各⼤硬件⼚商对其⽀持的加⼤, linux 在个⼈桌⾯领域的占有率在逐渐的提⾼
典型代表: ubuntu fedora suse linux
Ubuntu中玩QQ

 

服务器领域

linux 在服务器领域的应⽤是其重要分⽀
linux 免费、稳定、⾼效等特点在这⾥得到了很好的体现,但早期因为维护、运⾏等原因同
样受到了很⼤的限制,但近些年来 linux 服务器市场得到了⻜速的提升,尤其在⼀些⾼端领
域尤为⼴泛
典型代表:
  • Red Hat公司的AS系列
  • 完全开源的debian系列
  • suse EnterPrise 11系列等

嵌⼊式领域

近些年来 linux 在嵌⼊式领域的应⽤得到了⻜速的提⾼
linux 运⾏稳定、对⽹络的良好⽀持性、低成本,且可以根据需要进⾏软件裁剪,内核最⼩
可以达到⼏百 KB 等特点,使其近些年来在嵌⼊式领域的应⽤得到⾮常⼤的提⾼
主要应⽤:机顶盒、数字电视、⽹络电话、程控交换机、⼿机、 PDA 、等都是其应⽤领
域,得到了摩托罗拉、三星、 NEC Google 等公司的⼤⼒推⼴

3.文件和目录

windows和Linux文件系统区别

 windows 平台下,打开计算机,我们看到的是⼀个个的驱动器盘符:

每个驱动器都有⾃⼰的根⽬录结构,这样形成了多个树并列的情形,如图所示:

 

Linux 下,我们是看不到这些驱动器盘符,我们看到的是⽂件夹(⽬录) 

Unix系统⽬录结构

ubuntu 没有盘符这个概念,只有⼀个根⽬录 / ,所有⽂件都在它下⾯

Linux ⽬录

  • /:根⽬录,⼀般根⽬录下只存放⽬录,在Linux下有且只有⼀个根⽬录。所有的东⻄都是从这⾥开始。当你在终端⾥输⼊“/home”,你其实是在告诉电脑,先从/(根⽬录)开始,再进⼊到home⽬录。
  • /bin/usr/bin: 可执⾏⼆进制⽂件的⽬录,如常⽤的命令lstarmvcat等。
  • /boot:放置linux系统启动时⽤到的⼀些⽂件,如Linux的内核⽂件:/boot/vmlinuz,系统引导管理器:/boot/grub
  • /dev:存放linux系统下的设备⽂件,访问该⽬录下某个⽂件,相当于访问某个设备,常⽤的是挂载光驱 mount /dev/cdrom /mnt
  • /etc:系统配置⽂件存放的⽬录,不建议在此⽬录下存放可执⾏⽂件,重要的配置⽂件有 /etc/inittab/etc/fstab/etc/init.d/etc/X11/etc/sysconfig/etc/xinetd.d
  • /home:系统默认的⽤户家⽬录,新增⽤户账号时,⽤户的家⽬录都存放在此⽬录下,~表示当前⽤户的家⽬录,~edu 表示⽤户 edu 的家⽬录。
  • /lib/usr/lib/usr/local/lib:系统使⽤的函数库的⽬录,程序在执⾏过程中,需要调⽤⼀些额外的参数时需要函数库的协助。
  • /lost+fount:系统异常产⽣错误时,会将⼀些遗失的⽚段放置于此⽬录下。
  • /mnt: /media:光盘默认挂载点,通常光盘挂载于 /mnt/cdrom 下,也不⼀定,可以选择任意位置进⾏挂载。
  • /opt:给主机额外安装软件所摆放的⽬录。
  • /proc:此⽬录的数据都在内存中,如系统核⼼,外部设备,⽹络状态,由于数据都存放于内存中,所以不占⽤磁盘空间,⽐较重要的⽬录有/proc/cpuinfo/proc/interrupts/proc/dma/proc/ioports/proc/net/* 等。
  • /root:系统管理员root的家⽬录。
  • /sbin/usr/sbin/usr/local/sbin:放置系统管理员使⽤的可执⾏命令,如fdisk、shutdownmount 等。与 /bin 不同的是,这⼏个⽬录是给系统管理员 root使⽤的命令,⼀般⽤户只能"查看"⽽不能设置和使⽤。
  • /tmp:⼀般⽤户或正在执⾏的程序临时存放⽂件的⽬录,任何⼈都可以访问,重要数据不可放置在此⽬录下。
  • /srv:服务启动之后需要访问的数据⽬录,如 www 服务需要访问的⽹⻚数据存放在/srv/www 内。
  • /usr:应⽤程序存放⽬录,/usr/bin 存放应⽤程序,/usr/share 存放共享数据,/usr/lib存放不能直接运⾏的,却是许多程序运⾏所必需的⼀些函数库⽂件。/usr/local: 存放软件升级包。/usr/share/doc: 系统说明⽂件存放⽬录。/usr/share/man: 程序说明⽂件存放⽬录。
  • /var:放置系统执⾏过程中经常变化的⽂件,如随时更改的⽇志⽂件
  • /var/log/var/log/message:所有的登录⽂件存放⽬录,/var/spool/mail:邮件存放的⽬录,/var/run:程序或服务启动后,其PID存放在该⽬录下。

用户目录 

位于 /home/user ,称之为⽤户⼯作⽬录或家⽬录 , 表示⽅式:
/home/user
~

相对路径和绝对路径

绝对路径 
/ ⽬录开始描述的路径为绝对路径,如:
cd /home
ls /usr
相对路径

 从当前位置开始描述的路径为相对路径,如:

cd ../../
ls abc/def
...
每个⽬录下都有 . ..
. 表示当前⽬录
.. 表示上⼀级⽬录,即⽗⽬录
根⽬录下的 . .. 都表示当前⽬录

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/697692.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Pulsar 社区周报 | No.2024-06-07 | Apache Pulsar 新分支 3.3 版本发布

“ 各位热爱 Pulsar 的小伙伴们&#xff0c;Pulsar 社区周报更新啦&#xff01;这里将记录 Pulsar 社区每周的重要更新&#xff0c;每周发布。 ” 本期主题&#xff1a;Apache Pulsar 新分支 3.3 版本发布 Apache Pulsar 新分支 3.3 版本发布&#xff1a;Apache Pulsar 3.3.0[1…

2024屈原故里端午文化节开幕

6月7日&#xff0c;“中国端午诗意宜昌”2024屈原故里端午文化节在宜昌市秭归县屈原广场盛大开幕。相关嘉宾、屈氏后裔、华商侨商及外资企业代表、主流媒体代表和当地民众聚首屈原祠前&#xff0c;缅怀诗祖屈原&#xff0c;共襄端午盛典。 本届屈原故里端午文化节由湖北省人民政…

【SQLAlChemy】filter过滤条件如何使用?

filter 过滤条件 生成 mock 数据 # 创建 session 对象 session sessionmaker(bindengine)()# 本地生成mock数据 for i in range(6):# 生成随机名字, 长度为4到7个字符name .join(random.choice(string.ascii_letters) for _ in range(random.randint(4, 7)))# 生成随机年龄…

Lua搭建网站后台教程

本文讲解如何使用二进制发布包和FastWeb网站管理工具搭建站点 FastWeb网站管理工具 使用该工具可快速在Windows平台部署。支持官方或三方模块的自动安装、日志调试、版本更新等。 1、下载最新版本压缩包 2、解压到任意目录(建议英文) 3、运行 ①点击 [设置]->[安装] 部…

IO进程线程(八)线程(pthread_t)

文章目录 一、线程(LWP)概念二、线程相关函数&#xff08;一&#xff09;创建 pthread_create1. 定义2. 使用&#xff08;不传参&#xff09;3. 使用&#xff08;单个参数&#xff09;4. 使用&#xff08;多个参数&#xff09;5. 多线程执行的顺序6. 多线程内存空间 &#xff0…

BUUCTF---web---[GYCTF2020]Blacklist

1、来到题目连接页面 2、测试单引号和双引号&#xff0c;单引号报错&#xff0c;双引号没报错 1 1" 3、使用万能句式 4、使用堆叠注入测试&#xff0c;查看数据库名 1;show databases;# 5、查看表名 1;show tables;# 6、查看FlagHere中字段名 1;show columns from FlagH…

Python | Leetcode Python题解之第143题重排链表

题目&#xff1a; 题解&#xff1a; class Solution:def reorderList(self, head: ListNode) -> None:if not head:returnmid self.middleNode(head)l1 headl2 mid.nextmid.next Nonel2 self.reverseList(l2)self.mergeList(l1, l2)def middleNode(self, head: ListNo…

Webpack 从入门到精通-基础篇

一、webpack 简介 1.1 webpack 是什么 webpack 是一种前端资源构建工具&#xff0c;一个静态模块打包器(module bundler)。 在 webpack 看来, 前端的所有资源文件(js/json/css/img/less/...)都会作为模块处理。 它将根据模块的依赖关系进行静态分析&#xff0c;打包生成对应的…

CA证书及PKI

文章目录 概述非对称加密User Case: 数据加密User Case: 签名验证潜在问题 CACA证书的组成CA签发证书流程CA验证签名流程CA吊销证书流程 PKI信任链证书链 概述 首先我们需要简单对证书有一个基本的概念&#xff0c;以几个问题进入了解 ❓ Question1: 什么是证书&#xff1f; 证…

数据可视化——pyecharts库绘图

目录 官方文档 使用说明&#xff1a; 点击基本图表 可以点击你想要的图表 安装&#xff1a; 一些例图&#xff1a; 柱状图&#xff1a; 效果&#xff1a; 折线图&#xff1a; 效果&#xff1a; 环形图&#xff1a; 效果&#xff1a; 南丁格尔图&#xff08;玫瑰图&am…

Mysql的InnoDB介绍

目录 show engines查看搜索殷勤&#xff0c;默认InnoDB。 Mysql为什么使用InnoDB作为默认存储引擎 InnoDB主要包括内存结构和磁盘结构 内存结构包含: 磁盘结构中包括: 为什么设计成内存结构和磁盘结构两部分 使用InnoDB存储引擎创建的表&#xff0c;对应的数据文件在哪里…

Android14之向build.prop添加属性(二百一十九)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 优质视频课程:AAOS车载系统+AOSP…

uniapp原生插件开发实战——集成Android端的Twitter登陆

Android集成Twitter登陆的官方教程:https://github.com/twitter-archive/twitter-kit-android/wiki 项目创建 首先可以先看下uniapp原生插件开发教程 uniapp原生插件类型分为两种: Module模式:能力扩展,无嵌入窗体的UI控件,类似于功能插件。Component模式:在窗体中内嵌…

php 混合xml js,html 代码报错 ,结束标签关闭, short_open_tag 的作用,php关闭文件结束判断

结束标签关闭, short_open_tag 的作用&#xff0c;php关闭文件结束判断 有时候我们我们会将php&#xff0c;xml&#xff0c;js&#xff0c;html 混合编写 php文件只要开始标签而不要结尾标签? 混合代码看代码 直接运行 yntax error, unexpected version (T_STRING) in php…

STM32智能家居项目esp8266上云OneNet【附源码+详细教程】

目录 一、硬件选材 二、OneNet使用教程 三、代码修改教程 四、添加数据流方法 五、项目工程&#xff08;源码元件清单教程&#xff09; 小白也能做&#xff0c;项目工程在后文可下载。 一、硬件选材 二、OneNet使用教程 拿到代码后肯定是连不上网的&#xff0c;因为源码…

Android.基本用法学习笔记

设置文本的内容 先在strings.xml声明变量 方法1. 方法2. 设置文本的大小 1.单位dp&#xff0c;大家可以去学一下有关的单位换算 2. 设置文本颜色 1. 2. 4.设置文本背景颜色 1. 2. 设置视图的宽高 与上级视图一致&#xff0c;也就是上一级有多宽就有多少 1. 2. 3. 4. 设置视图…

生成式人工智能重置:从初期热潮到战略扩展

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

cs61C | lecture4

cs61C | lecture4 C 语言内存布局 ### Stack 在最顶部&#xff0c;向下增长。包含局部变量和 function frame information。 > Each stack frame is a contiguous block of memory holding the local variables of a single procedure. > A stack frame includes: > …

C语言详解(文件操作)2

Hi~&#xff01;这里是奋斗的小羊&#xff0c;很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~~ &#x1f4a5;&#x1f4a5;个人主页&#xff1a;奋斗的小羊 &#x1f4a5;&#x1f4a5;所属专栏&#xff1a;C语言 &#x1f680;本系列文章为个人学习…

浅析嵌入式实时系统中信号量的概念

目录 概述 1. 认识信号量 1.1 定义信号量 1.2 信号量的类型 1.2.1 二值信号量 1.2.2 计数信号量 1.2.3 互斥信号量 1.2.3.1 认识互斥信号量 1.2.3.2 互斥信号量的其他特性 2 典型信号量的使用 2.1 等待和信号同步 2.2 多任务等待和信号同步 2.3 信用跟踪同步 2.…