第一章初识Linux

news2024/10/7 14:29:17

文章目录

  • Linux简介
      • LInux的应用领域
      • Linux OS和各种发行版的关系
      • Linux和Unix的关系
  • Linux相关环境配置
      • 图解VM和Linux的关系
      • Linux自定义分三个区
    • VMware网络连接的三种模式
      • 桥接模式
      • NAT模式
      • 主机模式
    • VMware快照功能
  • Linux的操作方式
  • Linux的目录结构
    • 各种Linux发行版本的常见目录
      • 注意事项
  • Linux的远程操作
      • 为什么我们需要远程操作
      • 如何使用云服务器

Linux简介

LInux的应用领域

服务器领域

  • Linux在服务器领域的应用是最强的

  • LInux免费、稳定、高效等特点在这里得到了很好的体现,尤其是在一些高端领域尤为广泛

嵌入式领域

  • linux运行稳定、对网络的良好支持性、低成本,且可以根据需要进行网络裁剪,内核最小可达到几百kb的特点,使近些年来在嵌入式领域的应用得到非常大的提高

  • 主要应用:机顶盒、数字电视、网络电话、程控交换机、手机、PDA、智能家居、智能硬件等都是其应用领域。以后在物联网中应用会更加广泛。

Linux OS和各种发行版的关系

image-20220520185445070

  • Linux 严格意义来说只是一个 “操作系统内核”.

  • 一个完整的操作系统 = 操作系统内核 + 配套的应用程序.

  • 由于 Linux 是一个完全开源免费的内核, 因此有些公司/开源组织又基于 Linux 内核, 提供了不同的配套程序. 这就构成了不同的 “发行版”.

    • LinuxOS主要做的OS内核(进程管理,内存管理,网络管理,驱动管理)——只负责造车的发动机

    • 各种各样的Linux发行版(基于LinuxOS的基础上的产品)Ubuntu(乌班图)、RedHat(红帽)、CentOS。比较有名的就是Centos,但是放弃了支持这个,但是国内云厂商继续支持(TencentOS),基本都是再Centos 8.X继续的

    • 不同的发行版的Linux,使用(80%)上都是一样的,但是有些是不太一样的

Linux和Unix的关系

image-20230302223847345

  • 一开始的Unix,只能在大型主机或者服务器才能运行的起来,但是随着我们的Minix在一款Unix的系统基础上进行改良,可以在我们的x86个人计算机上运行,随着GNU开源计划的出现(所以Linux全称叫GUN/Linux),许多开发者的努力下不断的强大,演化成我们的Linux的内核

GNU是“GNU’s Not UNIX”的缩写,GNU项目计划最早是与1984年,由著名的美国黑客理查德·斯托曼(Richard Matthew Stallman)发起的,GNU获得了自由软件基金会(FSF)的资金支持一直是GNU的主要资金来源,该项目主要是为了建立免费的开源的UNIX类系统,其基本原则是程序源代码开放和软件思想共享。

Linux相关环境配置

图解VM和Linux的关系

image-20230302230309807

  • 我们在我们Windows系统中,安装我们VM软件来模拟一台机器,进行安装我们的Linux系统

Linux自定义分三个区

  • 第一部分:boot分区,也叫引导分区。一般设置1G左右
  • 第二部分:swap分区。一般设置2G左右
  • 第三部分:根分区。剩余部分全部给根分区。(此处为17G,因为我们设置了20G)。后期存放的软件一般放在根分区。

VMware网络连接的三种模式

image-20230304011031631

桥接模式

我们的张三的Linux采用的就是桥接模式

桥接模式,虚拟系统可以和外部系统通讯,但是容易造成我们的IP冲突,比如我们的网络号是192.168.0,那么总共也就255个IP地址可以使用(不算广播地址和网络号)

  • 之所以可以跟我们的外部主机进行通讯,是因为处于同一个局域网且IP地址的网络号相同

VMWare会虚拟一块网卡和真正的物理网卡就行桥接,这样,发到物理网卡的所有数据包就到了VMWare虚拟机,而由VMWare发出的数据包也会通过桥接物理网卡的那端发出。桥接网络是指本地物理网卡虚拟网卡通过虚拟交换机进行桥接。相当于在一个局域网内创立了一个单独的主机,他可以访问这个局域网内的所有的主机

  • 该模式下主机网卡和虚拟机网卡的IP地址处于同一个网段,子网掩码、网关、DNS等参数都相同

  • 桥接模式下虚拟机和主机在网络上地位相等,可以理解为一台新的电脑

NAT模式

  • 我们的王五的Linux就是采用了NAT模式
  • NAT模式,网络地址转换模式,虚拟系统可以和外部系统通讯,不会造成IP冲突
    • NAT网络地址转换模式虚拟出地址100.22,而我们可以将所在的本地机器192.168.00.20作为我们的代理进行访问40和30
    • NAT模式就是虚拟系统将主机当成向外的路由器,因为虚拟机只能 当客户机向外发送请求,不能作为服务器接收外面的请求,因为外部机器是不知道我们虚拟机的IP地址,因为是靠我们的主机进行转发

虚拟系统会通过真实主机的网络来访问外网,而真实主机相当于有两个网卡:真实网卡和虚拟网卡,真实网卡相当于链接了现实世界的真实路由器,而虚拟网卡相当于链接一个虚拟交换机/路由器(这个虚拟交换机同时链接虚拟机和真实主机),此时虚拟机想访问外网就必须通过真实主机IP地址,而外面看来也确实是真实主机的IP地址,实则是虚拟机访问的,完全看不到虚拟网络局域的内部形式。

主机模式

  • 只能和我们的虚拟机所在的本地主机联系,不能访问其他机器

VMware快照功能

  • 如果你在使用虚拟机的时候,想回到原先的某一个状态,也就是说担心某些操作导致的系统异常,需要回到某个正常运行的状态,这就是VM提供的快照管理

image-20230304015910350

Linux的操作方式

两种操作模式

  • 第一种就是基于图像化界面的操作模式,跟我们的平时的Windows的用鼠标点操作模式一样

    • 他是基于事件驱动的模型:用户通过鼠标,键盘向操作系统发送的是一个个事件,操作系统提前为各种事件绑定号该干什么动作,当发生某个事件时候,则执行对应动作即可
  • 第二种基于命令行,跟我们在Windows下的终端输入命令行进行操作

    • 用户输入命令——这里的命令其本质就是我们事先写好的程序
    • 操作系统通过命令行解析我们的输入,分析我们要运行哪个程序
    • 在文件系统找到我们对应的程序,启动程序
    • 执行完程序之后又回到输入命令的界面
  • 我们的Linux一般就是采用第二种基于命令行的操作模式,在我们登录远程Linux系统时,更是只能看到一个输入命令行的终端界面

Linux的目录结构

在Linux的世界里,一切皆为文件

Linux文件系统与Windows有较大的差别

  • 虽然都是使用树形结构组织文件,文件都是分为文件夹和普通文件(文件夹可以作为叶子节点也可以是非叶子节点,普通文件只能是叶子节点)

  • Windows的文件结构是多个并列的树状结构,也就是有多个根目录,最顶部的是不同的磁盘(分区),如C、D、E、F等

  • Linux的文件结构是单个的树状结构,根目录(用"/"表示),其他目录都要位于根目录下/

  • 在Linux中使用正斜杠(/)而不是反斜杠(\)来划分目录。在Linux中,反斜杠是用来标识转义字符的

绝对路径:路径的写法,由根目录/写起

  • 例如: /usr/share/doc 这个目录
  • 绝对路径总是以正斜杠作为起始的,指明文件系统的根目录

相对路径:路径的写法,不是由/写起

  • 例如由/usr/share/doc要到/usr/share/man底下时,可以写成:cd …/man这就是相对路径的写法,相对路径表示就是从当前目录开始出发
  • .表示当前所在路径,…表示当前所在路径的上一层

各种Linux发行版本的常见目录

为了便于定位和查找,Linux中的每个目录一般都存放特定类型的文件,下表列出了
img

  • / 表示根目录,该目录下只能只是文件夹,不能存在普通文件
  • /bin bin 是 Binary 的缩写,存放着可执行文件或可执行文件的链接(类似快捷方式),里面就是放着我们最常使用的命令,比如cat和cd,ls,这个目录对所有用户都有效

image-20230304145328671

  • /sbin 类似的是 /sbin 目录,System Binary 的缩写,主要是可执行文件。这里存放是系统管理员使用的系统管理程序,不是所有用户都能访问
  • /home 存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名以用户的账号命令

image-20230304150217565

  • /root 该目录为系统管理员,也称为超级权限着的用户主目录
  • /lib 系统开机所需要的最基本的动态链接共享库,起作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库
  • /etc 所有的系统管理所需要的配置文件和子目录,比如安装mysql数据库 my.conf配置文件就是默认放在这个目录下
  • /usr 这个目录也很重要,用户的很多应用程序和文件都是放在这个目录下面,类似我们的windows下的program files目录
  • 三大不能动的目录
    • /boot 存放的是启动Linux时使用的一些核心文件,例如Linux内核和启动引导程序 如果破坏了这个文件,可能我们的Linux系统直接启动不了
    • /proc 这个目录是一个虚拟的目录,他是系统内存的映射,访问这个目录来获取系统信息,比如我们操作系统运行时,进程信息和内核信息
    • /srv service缩写,该目录存放一些服务器启动后需要提取的数据
  • /dev dev是 device的缩写,这里存放这所有的设备文件,类似我们的windows的设备管理器。在 Linux 中,所有东西都是以文件的形式存在的,包括硬件设备—— 一切皆文件。cpu表示管理着cpu的文件

image-20230304160507088

  • /media linux系统会自动识别一些设备,例如U盘,光驱等等,当识别后,linux会把识别到的设备挂载到这个目录下
  • /mnt 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载到/mnt/上,然后进入该目录就可以查看里面的内容

image-20230304161601572

  • /opt 这是给主机额外安装软件所在的目录,如安装ORACLE数据库就可放到这个目录下,默认为空
  • /var 这个目录中存放不断扩充的东西,习惯将经常修改的目录放在这个目录下,包括各种日志文件。varvariable 的缩写,这个名字是历史遗留的,现在该目录最主要的作用是存储日志(log)信息,比如说程序崩溃,防火墙检测到异常等等信息都会记录在这里。
  • /tmp这个目录是用来存放一些临时文件的,系统重启后不会保存

注意事项

1、Linux是以树的结构存储文件的。不管你的电脑中有几块硬盘(即便没有),也不管硬盘分了几个区,Linux都会给你整出来个根目录,也就是上图中最顶层的“/”

一旦你安装了Linux,它就会在根目录下创建几个文件夹,这些文件夹的名字是“root”、“home”、“dev”等等。路径分是“/root”、“/home”、“/dev”等

2、众所周知,存储文件需要硬盘。Linux这波操作光搞了个目录,但是与硬盘和分区没有任何关系,那么这些文件夹和之后要写入的文件存在哪里啊?这就引入了Linux下“挂载”的概念

挂载即把一个分区或磁盘放在一个目录里

  • 挂载点就是一个特定的目录 挂载的本质就是为设备提供一个访问入口,例如将光盘挂载到/mnt/cdrom的话,就可以通过访问/mnt/cdrom这个目录来访问光盘

挂载就是让系统可以使用新硬盘,未挂载状态像是在我的电脑中点了弹出U盘,那么即使你U盘还插在机器上也使用不了,而在linux中新添加的硬盘,不像Windows那样即插即用,都需要挂载以后才能使用。

Linux的远程操作

为什么我们需要远程操作

  • 在实际开发的时候,我们的Linux服务器是开发小组共享的
  • 正式上线的项目是运行在我们的公网
  • 所以我们的程序员需要远程登录到Linux进行项目管理和开发
  • 我们的远程登录客户端有Xshell(远程操作),Xftp工具(传输文件)
    • Xshell是一个强大的安全终端模拟软件,它支持SSH1,SSH2,以及Microsoft Window平台的Telent协议,可以在Windows界面下用来访问远端不同系统下的服务器

在这里插入图片描述

如何使用云服务器

Shell

  • Shell就是操作Linux的一个平台/界面/控制台
  • SSH协议:Secure Shell 安全版的Shell,公网IP主机会默认启动着一个ssh服务器,进程名一般叫sshd
  • 我们要操作我们的云服务器的话,需要一个ssh的客户端,我们的客户端软件就是Xshell,也可以使用别的客户端

ssh客户端连接Linux系统需要的条件

  • 云服务器的公网IP
  • 云服务器的ssh服务器的监听端口——默认是22端口
  • 登录系统需要的用户名
  • 登录系统需要的密码

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

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

相关文章

GO进阶(5) 垃圾回收机制

一、前言 1、垃圾回收背景 编程语言通常会使用手动和自动两种方式管理内存,C、C 以及 Rust 等编程语言使用手动的方式管理内存,工程师需要主动申请或者释放内存;而 Python、Ruby、Java 和 Go 等语言使用自动的内存管理系统,一般都…

Java八股——wait、sleep与park

sleep()、wait()、park()都可以使线程进入等待状态,但是3种方式在使用上和功能上都有些不同。 共同点: wait(),wait(long)和sleep(long)的效果都是让当前线程暂时放弃CPU的使用权,进入阻塞状态它们都可以被打断唤醒都是native方法执行sleep…

java四种线程池(基本使用)

标题java四种线程池及使用示例 1、线程工厂 1、我们先来写ThreadFactory,在创建线程池时候可以传入自定义的线程工厂,线程工厂说白了就是用来定制线程的一些属性:名字、优先级、是否为守护线程。直接看代码即可。 当然创建线程池的时候可以…

控制台运行java

控制台执行java 新建java代码 新建一个记事本文件,将文件名改为HelloWorld.java,注意:后缀是.java。 若没有显示文件后缀,可以在资源管理器打开显示后缀,然后再次修改文件名,一定要修改成文件类型是java…

缺陷及缺陷管理

今日目标能够说出缺陷的判定标准能够说出描述缺陷的6大核心内容能够描述缺陷状态、严重程度、优先级的作用能够按照提供的缺陷模版完成一个缺陷的提交能够说出缺陷的跟踪流程能够在禅道中提交测试用例能够在禅道中提交缺陷1. 缺陷1.1 缺陷的定义(重点)产…

Python3.8.8-Django3.2-Redis-连接池-数据类型-字符串-list-hashmap-命令行操作

文章目录1.认识Redis1.1.优点1.2.缺点2.在Django中Redis的连接3.Redis的基础用法3.1.hashmap结构3.2.list结构4.命令行查看数据库5.作者答疑1.认识Redis Remote DIctionary Server(Redis) 是一个key-value 存储系统,是跨平台的非关系型数据库。是一个开源的使用 AN…

Linux入门篇-Linux目录结构

简介 简单介绍Linux目录。 Linux的⽬录结构 “/”表示根⽬录,根⽬录是Linux⽬录结构中的最顶级的⽬录,类似于windows的C:\ D:\ /boot⽬录:存放的是系统的启动配置⽂件和内核⽂件 /dev⽬录:存放的是Linux的设备⽂件 /etc⽬录&…

Nacos新手详细知识大全

官网&#xff1a;Spring Cloud Alibaba一、Nacos快速入门1.1 服务注册到Nacos1.1.1 配置**引入com.alibaba.cloud&#xff0c;**以后的版本就不用操心了<!-- com.alibaba.cloud--><!-- com.alibaba.cloud--><dependency><groupId>com.alibaba.cloud<…

SpringCloud之 LoadBalancer负载均衡

文章目录LoadBalancer 负载均衡一、LoadBalanced 负载均衡二、自定义负载均衡三、OpenFeign 实现负载均衡①添加依赖②启动类添加 EnableFeignClients③创建客户端接口 UserClient④service业务中调用客户端接口提示&#xff1a;以下是本篇文章正文内容&#xff0c;SpringCloud…

pv和pvc

一、PV和PVC详解当前&#xff0c;存储的方式和种类有很多&#xff0c;并且各种存储的参数也需要非常专业的技术人员才能够了解。在Kubernetes集群中&#xff0c;放了方便我们的使用和管理&#xff0c;Kubernetes提出了PV和PVC的概念&#xff0c;这样Kubernetes集群的管理人员就…

【Python】torch.einsum()解析

【Python】torch.einsum()解析 文章目录【Python】torch.einsum()解析1. 介绍2. 示例2.1 Pytorch矩阵乘法2.2 Numpy高阶张量3. 参考1. 介绍 爱因斯坦简记法&#xff1a;是一种由爱因斯坦提出的&#xff0c;对向量、矩阵、张量的求和运算 ∑\sum∑ 的求和简记法。在该简记法当中…

链表面试题

链表面试题1. 删除链表中等于给定值 val 的所有结点。2. 反转一个单链表。3. 给定一个带有头结点 head 的非空单链表&#xff0c;返回链表的中间结点。如果有两个中间结点&#xff0c;则返回第二个中间结点。4. 输入一个链表&#xff0c;输出该链表中倒数第k个结点。5. 将两个有…

延时任务的四种实现方式

什么是延迟任务&#xff1f;顾明思议&#xff0c;我们把需要延迟执行的任务叫做延迟任务。延迟任务的使用场景有以下这些&#xff1a;红包 24 小时未被查收&#xff0c;需要延迟执退还业务&#xff1b;每个月账单日&#xff0c;需要给用户发送当月的对账单&#xff1b;订单下单…

计算机网络之MAC和IP地址

MAC地址 在局域网中&#xff0c;硬件地址&#xff0c;又称为物理地址或MAC地址。 目前现在的局域网中实际上使用的都是6字节的MAC地址&#xff0c;所以每一个以太网设备都具有唯一的MAC地址。 MAC地址的格式 假设传输使用的是IP数据&#xff0c;V2的MAC帧较为简单&#xff…

Sonar:VSCode配置SonarLint/SonarLint连接SonarQube

需求描述 公司为项目代码配置了Sonar检测&#xff0c;希望在VSCode中开发项目时能够同步检测结果。 注意事项 SonarQube版本必须为7.9&#xff0c;否则SonarLint无法连接&#xff08;GitHub-SonarLint-Wiki第一行就有说明&#xff09;&#xff01;&#xff01;&#xff01;S…

【前端】一个更底层库-React基础知识点第2篇

目录属性状态PROPSPROP VALIDATIONSTATEFORMCONTROLLED COMPONENTSMIXINCOMPONENT APICOMPONENT LIFECYCLETOP API上一篇文章也是React基础知识点&#xff0c;了解到了React是什么&#xff1f;为什么要使用React&#xff1f;还知道了JSX概述&#xff0c;JSX嵌入变量&#xff0c…

python Django中的cookies和session会话保持技术

cookies和session都是为了保持会话状态而诞生的两个存储技术会话定义&#xff1a; 从打开浏览器访问一个网站&#xff0c;到关闭浏览器结束此次访问&#xff0c;称之为一次会话HTTP协议是无状态的&#xff0c;导致会话状态难以保持Cookies-定义 cookies是保存在客户端浏览器上的…

超简单的卷积和加法融合

神经网络的优化除了之前提到的一些硬件优化手段(AI硬件加速拾遗)之外&#xff0c;还有很多图层方面的优化手段。大家好啊&#xff0c;我是董董灿。 而且图层方面的优化&#xff0c;有时效果更佳。往往一个有效的优化&#xff0c;甚至可以“消除”掉一个算子的存在。 这里的“…

Vue组件-$refs、$nextTick和name属性的使用

Vue组件-$refs和$nextTick使用一、获取DOM二、$refs获取组件对象三、$nextTick异步更新DOM四、组件name属性的使用一、获取DOM 通过id或ref属性获取原生DOM 在mounted生命周期 – 2种方式获取原生DOM标签 目标标签 – 添加id / ref恰当时机, 通过id / 通过ref属性 获取目标标签…

Ubuntu系统新硬盘挂载

Ubuntu系统新硬盘挂载 服务器通常会面临存储不足的问题&#xff0c;大部分服务器都是ubuntu系统&#xff0c;该篇博客浅浅记载一下在ubuntu系统上挂载新硬盘的步骤。本篇博文仅仅记载简单挂载一块新的硬盘&#xff0c;而没有对硬盘进行分区啥的。如果需要更加完善的教程&#…