探索Linux-1

news2024/9/22 3:31:53

Linux是什么?

Linux是一个开源的操作系统内核,由林纳斯·托瓦兹(Linus Torvalds)于1991年首次发布。它基于Unix操作系统,但提供了更多的自由和灵活性。Linux内核是操作系统的核心部分,负责管理系统资源、处理硬件设备请求、以及管理程序运行等任务。

Linux用在哪些地方?

以下是一些主要的应用场景:

  •  个人计算:许多用户选择Linux作为他们的个人操作系统,因为它提供了高度的定制性、稳定性和安全性。
  •  软件开发:Linux提供了一个强大的开发环境,包括丰富的编程工具和库,支持多种编程语言,是许多开发者的首选平台。
  • 图形设计和多媒体制作:Linux上有许多专业的图形设计和多媒体制作软件,如GIMP、Kdenlive、Blender等。
  •  教育:Linux因其开源特性和教育价值,常被用于学校和大学的教学环境中。
  • 游戏:虽然游戏通常与Windows系统关联更紧密,但Linux上也有越来越多的游戏支持,特别是通过Steam和Wine等平台。
  • 家庭媒体中心:Linux可以作为家庭媒体中心的操作系统,用于播放音乐、视频和照片。
  • 个人服务器:Linux是构建个人服务器的理想选择,无论是用于文件共享、网站托管还是其他服务-Linux在服务器领域的应用是最强的,免费,稳定,高效
  • 隐私保护:对于注重隐私的用户,Linux提供了更多的隐私保护选项,如使用Tor网络浏览等。
  • 虚拟化和容器技术:Linux是虚拟化和容器技术(如Docker)的理想平台,允许用户在同一台机器上运行多个操作系统或应用程序。
  • 科学计算和数据分析:Linux提供了强大的科学计算和数据分析工具,如Python、R语言和MATLAB等。
  • 移动设备和嵌入式系统:虽然在智能手机领域Android占主导地位,但Linux也在其他移动设备和嵌入式系统中有所应用。
  • 桌面环境和界面:Linux提供了多种桌面环境和用户界面,如GNOME、KDE Plasma、XFCE等,满足不同用户的使用习惯。

Linux在个人桌面领域的应用非常灵活,可以根据用户的需求和偏好进行定制,这也是它受欢迎的原因之一。

Linux和Unix的关系

Unix的由来

Unix是一个开创性的操作系统,其起源可以追溯到20世纪60年代末。最初,Unix是由AT&T贝尔实验室的Ken Thompson和Dennis Ritchie共同开发的,目的是创建一个多用户、多任务的分时系统 。Unix的早期开发受到了他们参与设计的Multics系统的影响,Multics是一个更为复杂的操作系统项目,但最终由于种种原因被终止 。

Unix系统的开发始于1969年,最初是在PDP-7微型机上进行的 。1971年,Unix被移植到了PDP-11计算机上,但当时它只支持16KB内存,并且大多数代码是用汇编语言编写的,这限制了其可移植性 。为了解决这个问题,Ken Thompson创建了一种名为"B"的高级语言,随后Dennis Ritchie基于"B"语言开发了C语言,使得Unix能够用高级语言重写,从而提高了其可移植性 。

Unix的广泛应用得益于其开源特性和灵活性。1974年,Thompson和Ritchie在Communication of ACM上发表了论文,正式向外界披露了UNIX系统 。随后,UNIX系统被广泛配备于美国各大学的PDP-11系列计算机上,为UNIX的广泛应用创造了条件 。Unix的设计哲学,如“小即是美”和“万物皆为文件”,对其发展产生了深远影响 。

Unix系统以其稳定性、安全性和高度的自定义性而受到青睐,广泛应用于服务器、超级计算机和嵌入式设备等领域 。它采用分时操作系统理念,实现了多用户同时交互式作业,并展现出卓越的多用户和多任务处理能力 。Unix系统的成功也为后来的操作系统,包括Linux,奠定了基础 。

Linux的由来

Linux的起源可以追溯到1991年,由芬兰程序员林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学读书时开始的一个个人项目。以下是Linux发展的主要历程:

初始动机:
   - 林纳斯·托瓦兹最初是想为他的个人电脑编写一个操作系统,因为他对当时可用的操作系统不满意。

Minix的影响:
   - 托瓦兹在大学期间学习了操作系统课程,使用的是Andrew S. Tanenbaum教授开发的Minix系统。Minix是一个类Unix操作系统,主要用于教学目的。托瓦兹对Minix的局限性感到不满,决定开发一个更强大的系统。

Linux内核的诞生:
   - 1991年,托瓦兹开始编写Linux内核。最初,他只是将其作为一个业余项目,但很快这个项目吸引了其他开发者的兴趣。Linux内核的第一个版本(0.01)于1991年9月发布。

开源和社区贡献:
   - 托瓦兹将Linux内核以开源许可证发布,允许任何人自由地使用、修改和分发。这种开放性迅速吸引了全球开发者的注意,他们开始为Linux贡献代码和改进。

GNU项目的影响:
   - Linux内核的开发受益于GNU项目,特别是Richard Stallman领导的自由软件运动。GNU项目提供了许多工具和库,如GCC编译器和Glibc库,这些工具对Linux的开发至关重要。

Linux发行版的出现:
   - 随着Linux内核的成熟,各种基于Linux的操作系统发行版开始出现。这些发行版提供了完整的操作系统,包括内核、应用程序和用户界面。早期的发行版如Slackware和Debian逐渐发展成今天广泛使用的Ubuntu、Fedora和Red Hat Enterprise Linux等。

商业化和广泛应用:
   - 随着Linux的普及,许多企业和组织开始采用Linux作为服务器和桌面操作系统。Linux因其稳定性、安全性和可定制性而受到青睐。此外,Linux在嵌入式系统和移动设备中也有广泛应用。

持续发展:
   - 至今,Linux内核仍在不断更新和改进。全球的开发者社区继续为Linux贡献代码,使其成为一个不断进化的操作系统。

Linux的成功不仅在于其技术优势,还在于其开放和协作的开发模式,这种模式使得Linux能够迅速适应不断变化的技术需求。

Linux与Unix的关系

Linux和Unix之间有着紧密但明确的关系,主要体现在以下几个方面:

  • 技术灵感:
  •    - Linux的设计受到了Unix的强烈启发。Unix的设计理念、工具和哲学对Linux的创建者林纳斯·托瓦兹有着深远的影响。
  • 类Unix系统:
  •    - Linux通常被归类为一个类Unix系统。这意味着它在很多方面与Unix相似,包括其命令行界面、文件系统结构、以及多用户多任务的操作系统特性。
  • 兼容性:
  •    - Linux旨在与Unix兼容,特别是在应用程序编程接口(API)和用户界面方面。这使得许多Unix程序能够在Linux上运行,尽管两者在底层实现上有所不同。
  • 开源和自由软件:
  •    - 与许多Unix变种一样,Linux是开源的,遵循自由软件的原则。这意味着任何人都可以查看、修改和分发Linux的源代码。
  • 社区驱动:
  •    - Linux的开发类似于Unix的早期发展,是由一个全球开发者社区共同推动的。这种开放和协作的开发模式促进了Linux的快速成长和多样化。
  • Unix哲学:
  •    - Linux继承了Unix的一些核心哲学,如“小即是美”、“让每个程序都做好一件事”以及“万物皆文件”等。
  • 法律和许可:
  •    - 尽管Linux和Unix在技术上有很多相似之处,但它们在法律和许可方面是独立的。Linux是独立开发的,不包含Unix的专有代码。
  • Unix的分支:
  •    - 一些Unix的分支,如BSD,对Linux的发展也产生了影响。例如,Linux早期使用了BSD的一些网络代码。
  • 替代和补充:
  •    - 在某些情况下,Linux被用作Unix系统的替代品,特别是在需要成本效益和灵活性的场景中。同时,Linux也被用作Unix系统的补充,例如在Unix系统上运行Linux应用程序。
  • 共同的遗产:
  •     - Linux和Unix共享着许多相同的工具和实用程序,如grep、sed、awk等,这些都是Unix遗产的一部分,也被Linux所继承。
  • 总的来说,Linux是在Unix的基础上独立发展起来的,它继承了Unix的许多优点,同时也发展出了自己的特点和优势。Linux的成功在很大程度上得益于Unix的开源精神和设计理念。

VM和Linux的安装

vmware的安装

进入wmware官方网站进行下载,需要激活码,可以自行寻找VMware Workstation Pro

centos7的下载

进入centos官方网站进行下载,直接下载,记住下载安装的位置,可以把centos理解为Linux的外壳(发行版)

在VMware中创建一个虚拟机,按照提示一步一步来,在黑屏时不要随意点击,进入下面这个界面

操作系统选择centos7安装包,网络连接选择NAT网络连接

虚拟机克隆

克隆目的:
- 快速复制环境,用于测试、开发或备份。

克隆类型:

  • 完整克隆:包含虚拟机所有数据和配置的独立副本。
  • 链接克隆:基于快照的优化克隆,节省空间但依赖原始快照。

克隆步骤:

  1. 打开VMware Workstation。
  2. 选择要克隆的虚拟机。
  3. 选择克隆选项,并决定克隆类型。
  4. 为克隆的虚拟机命名并选择存储位置。
  5. 配置网络和硬件设置(如果需要)。
  6. 启动克隆过程并等待完成。
  7. 启动克隆的虚拟机进行验证。

注意事项:

  • 克隆会占用额外存储空间,特别是完整克隆。
  • 链接克隆在运行时可能需要更多性能资源。
  • 确保原始虚拟机的快照未被删除,以维持链接克隆的完整性。
  • 检查软件许可证是否允许虚拟机克隆。

通过克隆,用户可以在不同的虚拟环境中快速部署相同的操作系统和应用程序配置,同时保持原始环境的稳定性和安全性。

右击Centos 7->点击管理->点击克隆(克隆需要在关闭虚拟机的情况下进行)

虚拟机快照

快照定义:
快照是虚拟机在某一时刻的静态副本,包括操作系统、应用程序、数据和系统配置。它类似于传统操作系统中的“系统还原点”。

快照目的:

  • 版本控制:跟踪虚拟机随时间所做的更改。
  • 测试和开发:在不影响原始环境的情况下进行测试或开发。
  • 灾难恢复:在系统故障时快速恢复到之前的状态。

快照类型:

  • 即时快照:捕获虚拟机当前状态的完整副本。
  • 差异快照(链式快照):仅记录自上一个快照以来的更改,节省存储空间。

快照过程:

  • 选择虚拟机:在虚拟化软件中选择要创建快照的虚拟机。
  • 创建快照:选择创建快照的选项,可能需要指定快照的名称和描述。
  • 等待完成:快照创建过程中,虚拟机的状态将被保存。
  • 管理快照:可以查看、重命名、删除或回退到快照。

快照使用:

  • 回退:如果需要,可以将虚拟机回退到快照状态,撤销之后所做的更改。
  • 比较:比较不同快照之间的差异,了解系统的变化。
  • 删除:不再需要的快照可以被删除,释放存储空间。

注意事项:

  • 存储空间:快照会占用额外的存储空间,尤其是即时快照。
  • 性能影响:创建和使用快照可能会对虚拟机的性能产生一定影响,尤其是在磁盘I/O密集型操作时。
  • 依赖性:链式快照依赖于之前的快照,如果删除了早期快照,后续快照可能无法正常工作。
  • 磁盘空间管理:定期清理不再需要的快照,以优化存储空间使用。

快照是虚拟化环境中的一个强大工具,它提供了一种灵活的方式来保存和恢复虚拟机的状态,非常适合需要频繁测试和配置更改的环境。然而,合理管理快照对于维护性能和存储空间至关重要。

快照管理,只需要在VMware进行操作即可

安装vmtools步骤

在VMware Workstation的菜单栏中,选择“虚拟机” -> “安装VMware Tools”
sudo su -
//切换到root用户
mount /dev/cdrom /mnt
//挂载CD-ROM驱动器
cd /mnt
tar zxf VMwareTools-*.tar.gz -C /tmp
cd /tmp/vmware-tools-distrib
./vmware-install.pl -d
//这里,-d 参数表示自动运行安装程序

reboot
//重启
vmware-toolbox-cmd
//配置vmtools的配置项

共享文件夹:

进入settings->选项->共享文件夹->进入/mnt/hgfs文件夹中,当然要和设置的主机路径是一致的才能看到相应的文件夹,注意一定要下载vmwaretools才能启动

目录结构介绍

Linux操作系统以其严格的文件系统层次结构而闻名。这种结构有助于组织文件和目录,使得系统管理更加方便。以下是Linux文件系统的基本目录结构及其主要组成部分的介绍:

1. / (根目录):
   - 所有其他目录的父目录。
   - 根目录下通常包含一些主要的系统目录。

2. /bin:
   - 存放基本的二进制文件(即可执行文件)。
   - 这些文件是系统启动和运行所必需的,如`ls`、`cp`、`mv`等。

3. /sbin:
   - 存放系统管理的二进制文件。
   - 这些文件通常由系统管理员使用,如`fdisk`、`ifconfig`、`iptables`等。

4. /etc:
   - 存放系统配置文件。
   - 几乎所有系统服务和应用程序的配置文件都存放在这里。

5. /lib:
   - 存放共享库文件。
   - 这些库文件是许多应用程序运行所必需的。

6. /media:
   - 临时挂载文件系统的挂载点。
   - 通常用于挂载可移动存储设备,如USB驱动器、CD-ROM等。

7. /mnt:
   - 临时挂载的文件系统。
   - 通常用于挂载网络文件系统或外部存储设备。

8. /boot:
   - 存放启动加载程序和内核。
   - 这些文件是系统启动时必须加载的。

9. /dev:
   - 存放设备文件。
   - 这些文件代表系统中的硬件设备,如硬盘、键盘、鼠标等。

10. /proc:
    - 虚拟文件系统,提供系统运行时的信息。
    - 这些文件不占用实际的磁盘空间,但可以提供关于系统和进程的信息。

11. /sys:
    - 另一个虚拟文件系统,提供系统硬件和驱动程序的信息。
    - 类似于/proc,但更加详细和结构化。

12. /usr:
    - 用户相关的应用程序和文件。
    - 通常包含用户安装的软件和文档。

13. /home:
    - 用户的个人目录。
    - 每个用户的主目录都存放在这里。

14. /opt:
    - 可选软件包的安装位置。
    - 通常用于安装第三方软件。

15. /tmp:
    - 临时文件存放目录。
    - 系统和应用程序的临时文件都存放在这里。

16. /var:
    - 可变数据的存放目录。
    - 包含日志文件、数据库文件、邮件队列等。

17. /root:
    - 系统管理员的家目录。
    - 通常只有root用户才能访问。

18. /srv:
    - 服务数据的存放目录。
    - 通常用于存放网站、FTP服务器等的数据。

19. /mnt:
    - 挂载文件系统的临时目录。
    - 通常用于临时挂载文件系统。

20. /run:
    - 系统运行时的系统数据。
    - 包含系统运行时的临时数据和状态信息。

这些目录构成了Linux文件系统的基础,每个目录都有其特定的用途和功能

请期待下一篇关于Linux的文章吧!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

编程中的智慧四:设计模式总览

前面三篇我们通过从一些零散的例子,和简单应用来模糊的感受了下设计模式在编程中的智慧,从现在开始正式进入设计模式介绍,本篇将从设计模式的7大原则、设计模式的三大类型、与23种设计模式的进行总结,和描述具体意义。 设计模式体…

LeetCode 860柠檬水找零(贪心算法)/406根据身高重建队列(贪心算法)

1. 柠檬水找零 思路分析 只需要维护三种金额的数量,5,10和20。 有如下三种情况: 情况一:账单是5,直接收下。情况二:账单是10,消耗一个5,增加一个10情况三:账单是20&am…

(35)远程识别(又称无人机识别)(二)

文章目录 前言 4 ArduRemoteID 5 终端用户数据的设置和使用 6 测试 7 为OEMs添加远程ID到ArduPilot系统的视频教程 前言 在一些国家,远程 ID 正在成为一项法律要求。以下是与 ArduPilot 兼容的设备列表。这里(here)有一个关于远程 ID 的很好解释和常见问题列表…

【linux】Shell脚本三剑客之awk命令的详细用法攻略

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全…

[用AI日进斗金系列③]用CodeFlying在企微接单自动生成一个固定资产管理系统

今天是【日进斗金】系列的第三期文章。 给新朋友简单介绍一下,我们这个系列主要是教大家如何在企业微信的工作台上接单赚米。 详细介绍可以看看前两期的文章 [用AI日进斗金系列]用码上飞在企微接单开发一个项目管理系统!-CSDN博客 [用AI日进斗金系列…

【Android】性能实践—编码优化与布局优化学习笔记

【Android】性能实践—编码优化与布局优化学习笔记 编码优化 使用场景 如果需要拼接字符串,优先使用StringBuffer和StringBuilder进行凭借,他们的性能优于直接用加号进行拼接,因为使用加号连接符会创建多余的对象一般情况下使用基本数据类…

有监督学习基础

基本概念 给定输入有为(x,y),其中x表示学习特征,y表示输出,m表示输入总数,有监督学习旨在根据输入建立能够预测可能输出的模型,大致可以分为回归和分类两种,代表可能输出是无限的或…

vue 实战 tab标签页+el-card+流式布局+异步接口调用

<template><div><!-- 布局按钮 --><el-button click"dialogVisible true">布局配置查看</el-button><!-- 布局配置对话框 --><el-dialog :visible.sync"dialogVisible" title"布局配置查看" width"…

nature reviews genetics | 单细胞基因组eQTL发展历程

– https://doi.org/10.1038/s41576-023-00599-5 留意更多内容&#xff0c;欢迎关注微信公众号&#xff1a;组学之心 Single-cell genomics meets human genetics 单细胞基因组技术已经扩展到可以检测数千个个体的样本的程度。将大规模的单细胞信息与基因型数据相结合&#x…

STM32F103C8T6基于YMODEM协议的串口IAP升级实践

一.为什么要做IAP升级 1.不易拆卸的设备&#xff0c;可以使用IAP升级&#xff0c;方便用户升级固件 2.YMODEM协议是串口传输协议&#xff0c;传输速率较高&#xff0c;传输文件较大时&#xff0c;传输时间较短 3.不想给别人源代码&#xff0c;但是项目有bug&#xff0c;需要修…

【PLC】三菱FX3U下载程序通讯中断问题解决方法之一

博主最近买了一个三菱PLC FX3U&#xff0c;然后随意在GX Works中编写了一段带有子程序的程序&#xff0c;后来发现刷写程序过程中&#xff0c;会突然出现通讯中断的情况&#xff0c;然后切断PLC电源&#xff0c;变更COM口&#xff0c;重启PLC后&#xff0c;通讯才可以连接上&am…

鸿蒙OpenHarmony Native API【drawing_pen.h】 头文件

drawing_pen.h Overview Related Modules: [Drawing] Description: 文件中定义了与画笔相关的功能函数 Since: 8 Version: 1.0 Summary Enumerations Enumeration NameDescription[OH_Drawing_PenLineCapStyle] { [LINE_FLAT_CAP], [LINE_SQUARE_CAP], [LINE_ROUND_…

PMP考试难度大吗?

由于目前的PMP考试主要以新大纲为主&#xff0c;许多内容都已经发生了变化&#xff0c;因此学习新内容以适应这些变化仍然是非常必要的。 一、新版考试题量和答题时间有何变化&#xff1f; 题量由200道减少到180道&#xff0c;因此答题时间相对更充裕。 二、新版考试的整体难…

洛谷 P1035 [NOIP2002 普及组] 级数求和 题解

思路1&#xff08;68分&#xff0c;测3&#xff0c;测5TLE&#xff09; &#xff1a; #include<bits/stdc.h> using namespace std; int a[100005]; int main() {int k,i;cin >> k;for(i1;;i){double sum0;//要在这里初始化for(int j1;j<i;j){double s1*1.0/j;…

php接口返回的json字符串,json_decode()失败,原来是多了红点

问题&#xff1a; 调用某个接口返回的json&#xff0c;json_decode()失败&#xff0c;返回数据为null&#xff0c; echo json_last_error();返回错误码 4 经过多次调试发现&#xff1a;多出来一个红点&#xff0c;预览是看不到的。 解决&#xff1a;要去除BOM头部 $resul…

Pytorch transforms 的研究

绝对路径与相对路径差别 transforms的使用 from torchvision import transforms from PIL import Imageimg_path "dataset/train/bees/16838648_415acd9e3f.jpg" img Image.open(img_path) tensor_trans transforms.ToTensor() tensor_img tensor_trans(img) prin…

优选算法之二分查找(上)

目录 一、二分查找 1.题目链接&#xff1a;704. 二分查找 2.题目描述&#xff1a; 3.算法流程&#xff1a; 4.算法代码&#xff1a; 二、在排序数组中查找元素的第一个和最后一个位置 1.题目链接&#xff1a;34. 在排序数组中查找元素的第一个和最后一个位置 2.题目描述…

防爆智能手机如何助力电气行业保驾护航?

在电气行业的智能化转型浪潮中&#xff0c;防爆智能手机以其强大的数据处理能力、实时通讯功能及高度集成的安全特性&#xff0c;正成为保障电力网络稳定运行、预防安全隐患的得力助手。 防爆智能手机在电气行业中发挥着重要的保驾护航作用&#xff0c;主要体现在以下几个方面&…

【性能测试-登录时密码加密存储如何传参】

目的】 登录接口&#xff0c;密码加密传输&#xff0c;开发不做处理的情况下&#xff0c;密码如何加密传输 【方案】 使用前置处理器&#xff1a;JSR223 预处理程序&#xff0c;主要是在执行登录接口前将密码按照加密算法获得对应的加密密码&#xff0c;并传入接口 【说明】前…

天工Godwork AT 5.2.6 GodWork2D 2.1.5 GodWork EOS 2.1实景三维建模软件

天工Godwork AT 5.2.6/GodWork2D 2.1.5/GodWork EOS 2.1实景三维建模软件 获取安装包联系邮箱:2895356150qq.com 本介绍用于学习使用&#xff0c;如有侵权请您联系删除&#xff01; 1.自主研发的平差技术&#xff0c;平差模块不依赖PATB、Bingo等国外技术 2.采用特征匹配&…