001.前置知识

news2024/11/26 22:50:49
1、硬件

我们知道,组成计算机的硬件主要有“主机”和“输入/输出设备”。

  • 主机包括机箱、电源、主板、CPU(Central Processing Unit,中央处理器)、内存、显卡、声卡、网卡、 硬盘、光驱等。
  • 输入/输出设备包括显示器、键盘、鼠标、音箱、摄像头、打印机和扫描仪等。

硬件介绍

  • 电源保护:UPS(不间断电源,一般能维持 30 分钟-1 小时左右)、双电源(AB 双路)。
  • CPU:相当于人的大脑,常用品牌 Intel(XEON 志强,专门给服务器用的)、AMD。 服务器里面的 CPU 的个数按路算(1 个 CPU 叫 1 路,2 个叫 2 路),注:服务器是 几 U 与几路 CPU 没有关系。CPU 与核心的关系:(CPU 比如工厂,核心比如工人, 而一个核心等于 2 个线程),早期的 CPU 只有一个核心,后来的新技术可以将多个核心封装在一个 CPU 芯片中,性能得到数倍的提升。
  • 内存:是 CPU 和硬盘之间的缓冲设备,临时存储器,断电数据丢失
  • 硬盘:永久存放数据的设备。也有缓存大小,如:7200 转/64M (64M 指缓存区大小)
  • 阵列卡(RAID 卡)的好处:1.把所有硬盘的容量加在一起,2.数据更安全,3. 性能更好。是服务器的标配,连接到服务器的硬盘必须经过 RAID 卡。一般好点的RAID 卡配有电池,可以单独供电。
  • 远程管理卡(iDRAC):利用它可以完成远程的服务器管理工作如:服务器开关 机、配置 BIOS、配置 Raid 卡,安装操作系统等操作。有独立,还有集成的。
  • 程序、进程:程序,放在硬盘中的(静态执行的代码);进程,运行起来的软件(动态执行的代码)
2、服务器

服务器也是一种计算机。服务器,也称伺服器,服务器是指在网络环境下运行相应的应用软件,为网络上用户提供信息资源和各种服务的一种高性能计算机,英文名叫做 Server。

由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。所以服务器无论是在网络连接性能,还是在稳定性等其他各个方面都比 PC 机要高的多。

服务器的构成包括处理器、硬盘、内存,系统等,和通用的计算机架构类似,但 是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。 服务器的特性:

  • 高速度的 CPU 运算能力
  • 长时间的可靠运行
  • 强大的 I/O 外部数据吞吐能力
  • 服务器通常具有更高的性能,效率,高可靠,高可用性,以及更好的扩展性

服务器的分类

  • 按外形分类
    • 塔式服务器
    • 机架式服务器
    • 刀片式服务器
3、开源协议

开源协议规定了你在使用开源软件时的权利和责任,也就是规定了你可以做什么,不可以做什么。

开源协议虽然不一定具备法律效力,但是当涉及软件版权纠纷时,开源协议也是非常重要的证据之一。

对于准备编写一款开源软件的开发人员,也非常建议先了解一下当前最热门的开源许可协议,选择一个合适的开源许可协议来最大限度保护自己的软件权益。

现今存在的开源协议很多 , 可以在 (http://www.opensource.org/licenses/alphabetical )详细查看。我们最常用到的开源协议有 6 种,GPL,LGPL,BSD,Apache,Mozilla,MIT。这些都是 OSI 批准的协议,也是绝大多数公司会用到的协议。

4、Linux 系统构成

Linux 系统一般有 4 个主要部分:内核、shell、文件系统和应用程序。“内核”、“shell”和“文件系统”一起形成了基本的操作系统结构,它们使得用户可以运行程序、管理文件并使用系统。

Linux 内核

Linux 内核是 linux 系统的核心组成,用于实现 CPU 和内存分配、进程调节、设备驱动等核心操作,以面向硬件为主(包围在硬件之上,控制系统程序与硬件之间打交道)

内核作用:内核是操作系统的核心,具有很多最基本功能,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。

Linux 内核版本

Linux 内核版本有两种:稳定版和开发版,Linux 内核版本号由 3 组数字组成 (x.yy.zz):第一个组数字.第二组数字.第三组数字

Linux 内核的版本号命名是有一定规则的,版本号的格式通常为“主版本号.次版本号.修正号”。主版本号和次版本号标志着重要的功能变动,修正号表示较小的功能变更。

  • 第一个组数字:目前发布的内核主版本。
  • 第二个组数字:偶数表示稳定版本;奇数表示开发中版本。
  • 第三个组数字:错误修补的次数。

以 2.6.22 版本为例,2 代表主版本号,6 代表次版本号,22 代表修正号

shell

shell 是系统的用户界面,包裹在内核之上,作用是提供人机交互界面,用户与内核之间打交道的功能,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行,是一个命令解释器。

文件系统

文件系统是文件存放在磁盘等存储设备上的组织方法。Linux 系统能支持多种目前流行的文件系统,如 EXT2、EXT3、EXT4、XFS、FAT、FAT32、VFAT 和 ISO9660 等。

文件系统类型决定了向分区中存放、读取文件数据的方式和效率,在对分区进行格式化时需要选择所使用的文件系统类型。在 Windows 系统中,硬盘分区通常都是采用 FAT32 或 NTFS 文件系统,而在 Linux 系统中,硬盘分区则大都是采用 EXT4、XFS 文件系统。

  • EXT4:第 4 代扩展文件系统,是 RHEL6 中默认使用的文件系统类型,属于典型的 日志型文件系统。其特点是保持有磁盘存取记录的日志数据,便于恢复,性能和稳定性更加出色。
  • SWAP:除了 EXT4 文件系统之外,Linux 中还有一个比较特殊的 SWAP 类型的文件系统,swap 文件系统是专门给交换分区使用的。交换分区类似于 Windows 系统中的虚拟内存,能够在一定程度上缓解物理内存不足的问题。不同的是,在Windows系统中是采用一个名为 pagefile.sys 的系统文件作为虚拟内存使用,而在 Linux 系统 中则是划分了一个单独的分区作为虚拟内存,这个分区就被称为交换分区。交换分区的大小通常设置为主机物理内存的 2 倍,如主机的物理内存大小为 1GB,则交换分区大小设置为 2GB 即可。
  • XFS:RHEL7/CENTOS7 中默认使用文件系统,并不是说原有的 EXT 文件系统不再使用,RHEL 7 仍然是支持 ext4 的,而是面对未来爆炸式增长的数据量,ext 文件系统已经显得原来越力不从心。XFS 文件系统完全为大数据而生,单个文件系统最大可以支持到 8EB 大小,单个文件的大小最大可达到 16T,并且提供了丰富的日志系统,是应对大数据存储的强大的文件系统。XFS 是扩展性高、高性能的文件系统。

应用程序

构成 Linux 系统的应用程序大部分来自 GNU 项目或其他组织的开源软件,例如:

    • 顶顶有名的 C 语言编译工具 GCC
    • 命令解析器程序 bash
    • 网站服务程序 httpd等,

因此 Linux 操作系统最确切的含义为 "GNU/Linux 操作系统" GNU 的名称来源于 "GNU is Not UNIX" 的缩写(自由软件的通用许可协议)。其 目标是编写大量兼容于 UNIX 操作系统的可自由传播、使用的软件,来替换 UNIX 系统的各种商业软件。

5、Linux 目录结构

/:根目录,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、

/sbin 应该和根目录放置在一个分区中。

  • /bin ->/usr/bin:可执行二进制文件的目录,如常用的命令 ls、tar、mv、cat 等。

这些命令对应的文件都是可执行的,普通用户可以使用大部分的命令。

  • /sbin->/usr/sbin:大多是涉及系统管理的命令的存放,是超级权限用户 root 的可

执行命令存放地,普通用户无权限执行这个目录下的命令,如 fdisk、shutdown、

mount 等。与/bin 不同的是,这个目录是给系统管理员 root 使用的命令,普通用

户只能”查看”而不能设置和使用。这个目录和/usr/sbin 或/usr/local/sbin 目录是相

似的;我们记住就行了,凡是目录 sbin 中包含的都是 root 权限才能执行的。

  • /boot:存放 Linux 启动时内核及引导系统程序所需要的核心文件,内核文件和

grub 系统引导管理器都位于此目录,建议单独分区,分区大小 100M~500M 即可

  • /dev:存放 Linux 系统下的设备文件,如光驱,磁盘等。访问该目录下的某个文

件相当于访问某个硬件设备。

  • /etc:一般存放系统的配置文件,作为一些软件启动时默认配置文件读取的目录,

如/etc/fstab 存放系统分区信息

  • /home:系统默认的普通用户的主目录(家目录),在 Linux 中,每个用户都有一

个自己的目录,一般该目录名是以用户的账号命名的。新增用户账号时,用户的家

目录都存放在此目录下,~表示当前用户的家目录,~test 表示用户 test 的家目录。

建议单独分区,并设置较大的磁盘空间,方便用户存放数据

  • /root:系统管理员 root 的家目录。对于系统来说,系统管理员就好比是上帝,它

能对系统做任何事情,甚至包括删除你的文件。因此,请小心使用 root 帐号。

  • /lib->/usr/lib:这个目录里存放着系统最基本的动态链接共享库,其作用类似于

Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。程序在执行

过程中,需要调用一些额外的参数时需要动态连接库的协助。

  • /lib64->/usr/lib64:库文件(64 位)
  • /mnt:用于存放挂载储存设备的挂载目录
  • /media:有些 linux 的发行版使用这个目录来挂载那些 usb 接口的移动硬盘(包括

U 盘)、CD/DVD 驱动器等等

  • /opt:这是给主机额外安装软件所存放的目录,有些软件包也会被安装在这里,

也就是自定义软件包,我们自己编译的软件包,就可以安装在这个目录中;通过源

码包安装的软件,可以通过 ./configure --prefix=/opt/目录。安装到/opt 目录下的程

序,它所有的数据、库文件等等都是放在同个目录下面。直接删除程序不影响系统

设置。

  • /proc:操作系统运行时,进程信息及内核信息(比如 cpu、硬盘分区、内存信息

等)存放在这里。这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通

过直接访问这个目录来获取系统信息。这个目录的内容不在硬盘上而是在内存里,

我们也可以直接修改里面的某些文件,

  • /run:一些进程产生的临时文件,重启会消失
  • /srv:空目录,存放一些服务产生的文件。如 www 服务需要访问的网页数据存放

在/srv/www 内。

  • /sys:存放一些内核文件,与/proc 类似,是一个虚拟的文件系统,主要记录与系

统内核相关的信息,如系统当前已经载入的模块信息等。这个目录实际不占磁盘容

量。

  • /tmp:临时文件目录,任何人都可以访问。系统软件或用户运行程序如 MySQL 时

产生的临时文件存放到这里,此目录数据需要定期清除。重要数据不可放置在此目

录下,此目录空间不宜过小。

  • /usr:应用程序存放目录,如命令、帮助文档等,这是一个非常重要的目录,用

户的很多应用程序和文件都放在这个目录下,类似与 windows 下的 program files 目

录。安装 Linux 软件包时默认安装到/usr/local 目录下。/usr/bin:系统用户使用的应

用程序。/usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。/usr/src:

内核源代码默认的放置目录。/usr/local:这个目录一般是用来存放用户自编译安装

软件的存放目录。

  • /var:这个目录的内容经常变动的,/var/log 用于存放系统日志,/var/lib 存放系

统库文件等。

6、Linux 命令

Linux 命令的执行必须依赖于 shell 命令解释器,shell 实际上是在 linux 操作系统

中运行的一种特殊程序,它位于操作系统内核与用户之间,负责接收用户输入的命

令并进行解释,将需要执行的操作传递给系统内核执行。

shell 在用户和内核之间 充当了“翻译官”的角色。当用户登录到 linux 系统时,会自动加载一个 shell 程序, 以便给用户提供可以输入命令的操作系统。

Bash 是 linux 操作系统中默认使用的 shell 程序,文件位于/bin/bash,根据 linux

命令与 shell 程序的关系,linux 命令一般分为以下两种类型。

内部命令

是指集成于 shell 解释器程序(如 bash)内部的一些特殊指令,也称为内建(built-in)指令,内部指令属于 shell 的一部分,所以没有单独对应的系统文件,只要 shell 解释器被运行,内部指令也就自动载入内存了,用户可以直接使用,内部指令无须从硬盘中读取文件,因此执行效率较高。

外部命令

是指 linux 操作系统中能够完成特定功能的脚本文件或二进制程序,每个外部命令对应系统中的一个文件,是属于 shell 解释器程序之外的命令,所以称为外部命令。Linux操作系统必须知道外部命令对应的文件位置,才能够有shell加载并执行。

Linux 操作系统默认会将存放外部命令、程序的目录(如/bin、/usr/bin、/usr/local/bin 等)添加到用户的“搜索路径”中,当使用位于这些目录中的外部命令时,用户不需要指定具体的位置。

# 查看命令所在的位置
type 命令
    type cd					cd is a shell builtin
    type cat				cat is /usr/bin/cat
7、Linux 命令行的格式

[root@cong11 ~]#

[]		提示符的分隔符号,没有特殊含义。
root	当前的登录用户,现在使用的是 root 用户登录。
@		分隔符号,没有特殊含义。
cong11	当前系统的主机名。
~		代表用户当前所在的目录。
#		命令提示符,Linux 用这个符号标识登录的用户权限等级。#: 超级用户,$: 普通用户

命令的基本格式:命令字 [选项] [操作]

  • 选项:又分为短格式选项(-a)和长格式选项(--all)。短格式选项是英文的简写,用一个减号调用, 而长格式选项是英文完整单词,一般用两个减号调用
  • 参数:参数是命令的操作对象,一般文件、目录、用户和进程等可以作为参数被命令操作。
8、Linux 常用快捷键
  • Ctrl +c 强制终止当前命令
  • Ctrl + l 清屏,等价 clear 命令
  • Ctrl +a 光标移动到行首
  • Ctrl + e 光标移动到行末
  • Ctrl + u 快速删除当前光标处之前的所有字符内容
  • Ctrl + k 快速删除从当前光标处到行尾的所有字符内容
  • Ctrl + r 在历史命令中搜索, history 查看历史命令
  • Tab 键:可以将输入的不完整命令或文件、目录名自动补齐。
  • 反斜杠”\”:如果输入的一行内容太长,终端会自动换行。有时候为了显示美观及方便查看,也可以插入”\”强制换行,在下一行出现的”>”提示符后可以继续输入内容,作为上一行命令的延续。
9、Linux 命令技巧

a.善于使用Tab键:自动补齐命令或路径。

b.善于使用命令历史:输入“history 命令"可以显示所有的命令记录,每条记录都有相应的编号。如果想执行标号为200的命令历史,可以这样输入:!200

c.查找命令存储位置:通过which 命令可以找到常用命令的存储位置。如输入which find,系统将返回find 命令的实际存储位置/bin/find.

10、Linux 帮助命令

a.man 手册:(man ls) 使用 man 手册更详细的查看命令使用帮助,”空格键“:向下翻页,按 “q”键退出,可以在man 中查找,如下操作:

    • 1. 在 man 手册中键入 /
    • 2. 输入要搜索的内容
    • 3. n 查找下一个匹配字符 , 按 N 回到上一个查询到的字符

b. info 信息:(info ls)info信息与man手册的内容类似,但info信息是模块化的,它通过连接显示不同的信息块,看起来有点类似网页。N键进入下一模块信息,P键进入上一信息块,U键返回上一层,空格键翻页,q键退出。

c. help 命令:(ls --help) man手册和info信息内容往往比较多,而仅仅需要的是简短的帮助信息,可以通过--help来获得简要信息。

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

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

相关文章

五分钟,Docker安装kafka 3.5,kafka-map图形化管理工具

首先确保已经安装docker,如果是windows安装docker,可参考 wsl2安装docker 1、安装zk docker run -d --restartalways -e ALLOW_ANONYMOUS_LOGINyes --log-driver json-file --log-opt max-size100m --log-opt max-file2 --name zookeeper -p 2181:218…

ssm+vue的OA办公系统(有报告)。Javaee项目,ssm vue前后端分离项目。

演示视频: ssmvue的OA办公系统(有报告)。Javaee项目,ssm vue前后端分离项目。 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 项目介绍&a…

中心极限定理

中心极限定理是统计学中的一个基本定理,它描述了在满足一定条件的情况下,独立随机变量的均值的分布会在样本容量足够大时趋近于正态分布。中心极限定理为许多统计推断方法的合理性提供了理论基础。 中心极限定理有两种常见的表述:独立同分布…

数据库逗号分割数据查询

遇到一个A表某个字段是B表某个字段拼接而成的。 A一对多B表 即表A某个字段存了B表多个单号或者多个ID,一开始想的是要处理数据想办法分割字符串出来然后关联,百度了下没找到,但是看到PostgreSql数据库可以实现 然后尝试了下 发现可以 第一…

学习指南:如何快速上手媒体生态一致体验开发

过去开发者们在使用多媒体能力时,往往会遇到这样的问题,比如:为什么我开发的相机不如系统相机的效果好?为什么我的应用和其他的音乐一起发声了,我要怎么处理?以及我应该怎么做才能在系统的播控中心里可以看…

中文撰稿好用软件推荐TexPage(似于Overleaf)

由于本人用惯了overleaf所以找到了一个与他功相似的也同样是利用tex写文章。唯一的区别可能也就是overleaf只支持英文,而TexPage中英文都支持。关键是不花钱,好用好用好用,用起来! 平台网址:https://www.texpage.com/…

C/C++算法-----------------------双指针详解技巧及例题

双指针 基本介绍降低时间复杂度降低时间复杂度例题 验证回文串判断是否为环反转链表总结 基本介绍 双指针(two poinnters)实际上是一种算法编程里的一种思想,它更像是一种编程思想,提供看非常高的算法效率,一般来说双…

Android——gradle插件配置方式——dependencies和plugins

引言 我们知道Android studio 需要gradle插件进行构建和编译,随着AGP的升级,引入gradle插件也发生了变化。旧版本通过build.gradle文件中dependencies代码块引入,新版本通过plugins代码块引入 一、旧版本引入方式dependencies 二、新版本引入…

解决java在idea运行正常,但是打成jar包后中文乱码问题

目录 比如: 打包命令使用utf-8编码: 1.当在idea中编写的程序,运行一切正常.但是当被打成jar包时,执行的程序会中文乱码.产生问题的原因和解决方案是什么呢? 一.问题分析 分别使用idea和jar包形式打印出System中所有的jvm参数---代码如下: public static…

一文揭秘共享wifi二维码项目推广技巧!

随着无线网络的普及和移动互联网的快速发展,共享WiFi已成为人们生活中不可或缺的一部分。共享WiFi二维码项目作为一个独具创意的共享项目,将二维码推广与共享WiFi相结合,不仅可以提升品牌曝光度,还能为用户提供便捷的上网体验。那…

windows10通过L2TP VPN隧道连接到企业内网

L2TP协议通过为数据包创建一个虚拟通道,将数据从一个网络传输到另一个网络,而不用担心数据在途中被窃取或篡改。它创建一个点对点的隧道,通过封装PPP(Point-to-Point Protocol)数据包在其内部进行传输,极大…

JSON 格式的接口测试流程【Eolink Apikit】

在进行JSON格式的接口测试时,需要使用工具发送HTTP请求并获取响应。测试工具可以是单独的测试框架,如 Eolink Apikit。测试人员需要根据接口文档和测试用例编写测试脚本,然后运行测试并分析结果,以确保接口的质量和稳定性。 当我…

探索企业主要人员API在金融领域的应用

前言 随着金融科技的不断发展,企业主要人员API在金融领域的应用日益重要。本文将探讨这个话题,并介绍一些关键的应用案例。 企业主要人员API在金融领域的应用 企业人员信息API在金融行业有许多应用。其中一个应用是风险评估。金融机构可以使用API获取…

用requests库下载文件时的挂起问题:一步步诊断与解决方案

在使用 requests 库下载一个大小为125KB的文件时,用户遇到了一个问题,下载进程在代码的特定行挂起了。用户已经检查了操作系统的内存,发现大约有2GB的空闲内存可用。用户正在使用 requests 库的2、28、1版本,并寻求帮助来调试这个…

外汇天眼:什么是非农?非农数据对外汇市场的重要性!

非农数据在外汇市场中扮演着何等关键的角色? 美国非农数据,简称“非农”,具体指排除农业部门、个体户和非盈利机构雇员后的就业相关数据,是反映美国经济实际就业和整体经济状况的关键指标。该数据由美国劳工部劳动统计局每月发布…

Bumptop——3D桌面一键get

今天,博主给大家带来一款免费、炫酷的桌面真理工具——Bumptop。这是一款可使桌面变为极酷3D桌面的软件。采用极酷的3D技术,把图标立体化,同时拖拽动作也是别有动感,充满智慧,可以完全抛弃原先单调的2D和伪3D界面&…

猫罐头哪个牌子好?推荐5款猫罐头品牌排行榜!

选择猫罐头是一项非常重要的任务,绝对不能马虎对待。因为好的猫罐头不仅提供丰富的营养,充足的水分和良好的口感,还能被猫咪轻松吸收。然而,一旦选择错误,不仅无法达到这些效果,还可能产生相反的影响。 作为…

【Axure教程】滑动内容选择器

滑动内容选择器通常是一种用户界面组件,允许用户通过滑动手势在一组内容之间进行选择。这种组件可以在移动应用程序或网页中使用,以提供直观的图片选择体验。 那今天就教大家如何用中继器制作一个滑动内容选择器,我们会以滑动选择电影为案例…

大数据可视化是什么?

大数据可视化是将海量数据通过视觉方式呈现出来,以便于人们理解和分析数据的过程。它可以帮人们发现数据之间的关系、趋势和模式,并制定更明智的决策。大数据可视化通常通过图形、图表、地图和仪表盘等视觉元素来呈现数据。这些元素具有直观、易理解的特…