Abel's tech blogAbel's tech blog
  • 基础知识
  • 面向对象
  • IO流
  • String
  • 异常处理机制
  • 多线程
  • 反射机制
  • JVM相关知识
  • 数据库基础
  • 数据库进阶
  • 复杂SQL语句
  • Redis
  • Spring-IOC
  • Spring-AOP
  • Spring-Test
  • SpringBoot
  • SpringMVC
  • MyBatis
  • 基于MyBatis的分页查询
  • SpringSecurity
  • 微服务概念
  • Nacos
  • Dubbo
  • Seata
  • Sentinel
  • SpringGateway网关
  • ELK
  • Quartz
  • 消息队列
  • 数据结构
  • 算法
  • TCP/IP
  • 交换机
  • 路由器
  • Docker
  • Kubernetes
  • Linux
  • 各类工具

    • 菜鸟工具
    • 菜鸟教程
    • IDEA下载
    • 数据结构和算法可视化网站
    • jwt解析
    • maven仓库
  • 开发文档

    • Java 8 API 文档
    • Java 17 API 文档
    • MyBatis 3 中文
    • MyBatis-spring 中文
    • Spring Framework 5 API DOC
    • Spring Framework 6 API DOC
    • SpringBoot 2.7.6 API DOC
    • SpringBoot 3 API DOC
    • Hypertext Transfer Protocol -- HTTP/1.0
  • 配置文件下载

    • 阿里云Maven仓库配置
    • Nginx反向代理配置模板
    • JavaScript组件库
  • JDK 8 Windows x86 64-bit
  • JDK 17 Windows x86 64-bit
  • Maven
  • IntelliJ IDEA 各版本
  • Git
  • 基础知识
  • 面向对象
  • IO流
  • String
  • 异常处理机制
  • 多线程
  • 反射机制
  • JVM相关知识
  • 数据库基础
  • 数据库进阶
  • 复杂SQL语句
  • Redis
  • Spring-IOC
  • Spring-AOP
  • Spring-Test
  • SpringBoot
  • SpringMVC
  • MyBatis
  • 基于MyBatis的分页查询
  • SpringSecurity
  • 微服务概念
  • Nacos
  • Dubbo
  • Seata
  • Sentinel
  • SpringGateway网关
  • ELK
  • Quartz
  • 消息队列
  • 数据结构
  • 算法
  • TCP/IP
  • 交换机
  • 路由器
  • Docker
  • Kubernetes
  • Linux
  • 各类工具

    • 菜鸟工具
    • 菜鸟教程
    • IDEA下载
    • 数据结构和算法可视化网站
    • jwt解析
    • maven仓库
  • 开发文档

    • Java 8 API 文档
    • Java 17 API 文档
    • MyBatis 3 中文
    • MyBatis-spring 中文
    • Spring Framework 5 API DOC
    • Spring Framework 6 API DOC
    • SpringBoot 2.7.6 API DOC
    • SpringBoot 3 API DOC
    • Hypertext Transfer Protocol -- HTTP/1.0
  • 配置文件下载

    • 阿里云Maven仓库配置
    • Nginx反向代理配置模板
    • JavaScript组件库
  • JDK 8 Windows x86 64-bit
  • JDK 17 Windows x86 64-bit
  • Maven
  • IntelliJ IDEA 各版本
  • Git

操作系统概述

硬件和软件

计算机是由:硬件和软件所组成的。

  • 硬件:计算机系统中由电子、机械和光电元件等组成的各种物理装置的总称。
  • 软件:是用户和计算机硬件之间的接口和桥梁,用户通过软件与计算机进行交流。
    • 操作系统,就是软件的一类。

操作系统

操作系统是计算机软件的一种,它主要负责:

作为用户和计算机硬件之间的桥梁,调度和管理计算机硬件进行工作

常见操作系统

  • Windows
  • Linux
  • MacOS
  • Android
  • iOS
  • harmonyOS

Linux

Linux的诞生

Linux创始人:林纳斯 拖瓦斯

Linux诞生于1991年,作者上大学期间

因为创始人在上大学期间经常需要浏览新闻和处理邮件,发现现有的操作系统不好用,于是他决心自己写一个保护模式下的操作系统,这就是Linux的原型,后来经过全世界网友的支持,现在能够兼容多种硬件,成为最流行的服务器操作系统之一。

![林纳斯 拖瓦斯&linux](../images/林纳斯 拖瓦斯&linux.png)

Linux 内核

Linux内核的组成如下:

  • Linux系统内核
  • 系统级应用程序

内核提供系统最核心的功能,如:调度CPU、调度内存、调度文件系统、调度网络通讯、调度IO等

系统级应用程序,可以理解为出厂自带程序,可供用户快速上手操作系统

Linux内核

Linux发行版

Linux内核是免费、开源的,这也就代表了:

  • 任何人都可以获得并修改内核,并且自行集成系统级程序
  • 提供了内核+系统级程序的完整封装,称之为Linux发行版
常用的、知名的Linux发行版

Linux发行版

不同的发行版:

  • 基础命令100%是相同的
  • 部分操作不同(如软件安装)

Linux目录结构

Linux的目录结构是一个树形结构

Windows系统可以拥有多个盘符,如C盘、D盘、E盘

Liunx没有盘符这个概念,只有一个根目录 / ,所有文件都在它下面

linux目录结构

  • / :根目录
  • /bin :保存命令文件
  • /dev :保存外部设备
    • |-mnt :挂载
  • /etc :所有的配置文件
  • /home :用户的主目录
  • /usr :应用程序的文件

常用命令

  • Linux命令的格式:

    命令 -选项... 参数1 参数2 参数3
    
  • ls命令 - 列出当前目录的所有子目录及文件

    ls:显示某目录下所有的目录及文件
    选项:每个命令都会有若干个选项,每个选项都代表一种功能
    ls -l :以长格式显示当前目录下的所有子目录及文件
    ls -a :显示当前目录下所有目录及文件,包括隐藏文件
    ls -la :以长格式列出当前目录下所有的目录以及文件,包括隐藏文件
    
  • 命令帮助手册

    命令 --help :查看指定命令的详细信息,eg:ls --help
    man 命令 :查看给定命令的详细信息,eg:man ls
    
  • pwd

    pwd:显示当前所处目录
    
  • cd

    切换到指定的目录
    cd ..  切换到上一级目录
    cd /etc
    
    cd  切换到指定的目录,可以是绝对路径可以是相对路径
    cd  /  使用绝对路径
    cd  ..  使用相对路径
    
  • more:

    more命令:查看更多  
    
  • | :管道符

    用法: ls|more    前一个命令的结果作为后一个命令的数据源
    		
    常见的用法:
        ls|grep tomcat    grep命令:对数据进行筛选
    
  • mkdir - 创建文件夹

    用法:mkdir  文件夹名称
    -创建一级目录: mkdir  目录名称  不能创建多级目录
    -创建多级目录: mkdir -p a/b/c  创建多级目录
        				-p :parents 
    
  • touch 命令

    作用1:创建新文件
          touch  不存在的文件名   
    
  • cp 命令 复制

    cp  源文件/文件夹  目标文件夹/文件
      
      复制文件夹(下有内容)到另一个文件夹
        	必须使用递归复制
        		选项: -r  递归    
    
  • vim 命令 编辑文件

    vim hello.txt
    对文件进行编辑,需要切换模式,
        1.按INSERT键进入编辑模式,就可以开始编辑文件内容
        2.编辑完成,需要保存且退出文件编辑 ,先按ESC退出编辑模式,然后输入 :wq 保存并退出文件
    
  • cat 命令 - 查看文件内容

    cat 文件名
    
  • 关闭防火墙

如果当前windows系统要连接Linux中的资源,一般都要关闭Linux的防火墙,实际开发中,不会彻底关闭防火墙,而是开发指定的端口号

systemctl stop firewalld