3.1 Linux 前置知识

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 目录结构

  • /:根目录,一般根目录下只存放目录,不要存放文件。
  • /usr:存放应用程序目录,如命令、帮助文档等。安装 Linux 软件包时默认安装到/usr/local 目录下。
    • /usr/bin:系统用户使用的应用程序。
    • /usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
    • /usr/src: 内核源代码默认的放置目录。
    • /usr/local:这个目录一般是用来存放用户自编译安装软件的存放目录。
  • /bin ->/usr/bin:可执行二进制文件的目录,如常用的命令 ls、tar、mv、cat 等。
  • /sbin->/usr/sbin:存放超级用户使用的比较高级的管理程序和系统守护程序。普通用户无权限执行这个目录下的命令。这个目录和/usr/sbin 或/usr/local/sbin 目录是相似的;
  • /boot:存放 Linux 启动时内核文件及引导系统程序(grub 系统引导管理器)所需要的核心文件。
  • /dev:存放 Linux 系统下的设备文件。访问该目录下的某个文件相当于访问某个硬件设备。
  • /etc:一般存放系统的配置文件,作为一些软件启动时默认配置文件读取的目录, 如/etc/fstab 存放系统分区信息
  • /proc:操作系统运行时,进程信息及内核信息(比如 cpu、硬盘分区、内存信息等)存放在这里。这个目录是一个虚拟的目录,它是系统内存的映射。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,
  • /sys:存放一些内核文件,与/proc 类似,是一个虚拟的文件系统,主要记录与系统内核相关的信息,如系统当前已经载入的模块信息等。这个目录实际不占磁盘容量。
  • /home:系统默认的普通用户的主目录(家目录的上一层目录)。
  • /root:系统管理员 root 的家目录。
  • /lib->/usr/lib:存放着系统最基本的动态链接共享库,其作用类似于 Windows 里的 DLL 文件。程序在执行过程中,需要调用一些额外的参数时需要动态连接库的协助。
  • /lib64->/usr/lib64:库文件(64 位)
  • /mnt:用于存放挂载储存设备的挂载目录
  • /media:有些 linux 的发行版使用这个目录来挂载那些 usb 接口的移动硬盘(包括 U 盘)、CD/DVD 驱动器等等
  • /opt:这是给主机额外安装软件所存放的目录,有些软件包也会被安装在这里,也就是自定义软包,我们自己编译的软件包,就可以安装在这个目录中;通过源码包安装的软件,可以通过 ./configure --prefix=/opt/目录。安装到/opt 目录下的程序,它所有的数据、库文件等等都是放在同个目录下面。直接删除程序不影响系统设置。
  • /run:一些进程产生的临时文件,重启会消失
  • /srv:空目录,存放一些服务产生的文件。如 www 服务需要访问的网页数据存放在/srv/www 内。
  • /tmp:临时文件目录,任何人都可以访问。系统软件或用户运行程序如 MySQL 时 产生的临时文件存放到这里,此目录数据需要定期清除。重要数据不可放置在此目 录下,此目录空间不宜过小。
  • /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”键退出,d: 向下翻半页 u: 向上翻半页 g: 返回顶端 G: 返回底端

-k 查看关键字段选项

可以在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来获得简要信息。

    • 内部命令:help 命令
    • 外部命令:命令 --help

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

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

相关文章

dubbo服务超时导致的异常

今天服务器启动项目时,页面刷新报错: 查看日志时报错信息为: 解决: 在对应服务的配置文件中配置dubbo超时时间: 随后问题得到解决,特此记录

JimuReport积木报表 v1.6.5 版本发布—免费报表工具

项目介绍 一款免费的数据可视化报表,含报表和大屏设计,像搭建积木一样在线设计报表!功能涵盖,数据报表、打印设计、图表报表、大屏设计等! Web 版报表设计器,类似于excel操作风格,通过拖拽完成报…

虹科示波器 | 汽车免拆检修 | 2021款广汽丰田威兰达PHEV车发动机故障灯异常点亮

一、故障现象 一辆2021款广汽丰田威兰达PHEV车,搭载A25D-FXS发动机和动力蓄电池系统(额定电压为355.2V,额定容量为45.0Ah),累计行驶里程约为1万km。车主反映,高速行驶时发动机突然抖动,且发动机…

软件项目验收测试计划

验收测试计划 1.基本信息 2.项目成果及验收要求 2.1项目成果 2.2验收要求 1、满足业务风险控制法律法规要求。 3.验收组织 4.产品交付 5.产品安装 5.1环境要求 5.2数据库配置 5.3程序配置 6.验收测试方案 6.1测试 依据 6.2测试要求 6.3测试方法 6.4测试工作流程 6.5测试通过准则…

去掉 webstorm 白线

webstorm 编辑界面出现一条白线 ctrlshifta 打开设置窗口, 输入 “显示右边距” 英文版输入 “show right margin” 点击关闭即可

操作系统实验四 死锁问题

一、问题描述 看上图,有五位哲学家,面前都有一个盘子,盘子左边和右边都有一根筷子,他们在吃面之前需要先拿起左边的筷子再拿起右边的筷子,有了一双筷子就可以吃面了。 二、流程 先拿起左手的筷子然后拿起右手的筷子…

Outlook无法显示阅读窗格

Outlook无法显示阅读窗格 故障现象 Outlook主界面不显示阅读窗格 故障截图 故障原因 阅读窗格被关闭 解决方案 1、打开Outlook - 视图 – 阅读窗格 2、选择“靠右”或者“底部”,正常显示阅读窗格

linux之用户管理

一、是什么 Linux是一个多用户的系统,允许使用者在系统上通过规划不同类型、不同层级的用户,并公平地分配系统资源与工作环境 而与 Windows 系统最大的不同, Linux 允许不同的用户同时登录主机,同时使用主机的资源 既然是多用户…

洗眼镜手动清洗还是用超声波清洗机洗好?值得入手超声波清洗机

眼镜清洗的方法有很多,但是一定要选择合适的正确的清洗方式,使用错误清洗眼镜方法会非常容易缩短眼镜使用寿命。一副眼镜正常情况下是可以使用2~3年的,大家可千万要多注意清洗眼镜的手法!像最常见眼镜清洗的手法是用衣服擦拭一下或…

Linux之输入输出重定向和管道

一、是什么 linux中有三种标准输入输出,分别是STDIN,STDOUT,STDERR,对应的数字是0、1、2: STDIN 是标准输入,默认从键盘读取信息STDOUT 是标准输出,默认将输出结果输出至终端STDERR 是标准错误…

《视觉SLAM十四讲》-- 后端 1(下)

8.2 BA 与图优化 Bundle Adjustment 是指从视觉图像中提炼出最优的 3D 模型和相机参数(内参和外参)。 8.2.1 相机模型和 BA 代价函数 我们从一个世界坐标系中的点 p \boldsymbol{p} p 出发,把相机的内外参数和畸变都考虑进来,…

2023-2024 年适用于 Windows 电脑的顶级视频录制软件

想捕捉您正在在线观看的视频吗?使用网络摄像头录制视频会议以供日后参考。正在寻找可以完成这些任务的视频捕捉软件?这篇文章说明了一切。以下是一些适用于 Windows PC 的最佳视频录制工具。 什么是视频录制软件? 顾名思义,视频捕…

部署百川大语言模型Baichuan2

Baichuan2是百川智能推出的新一代开源大语言模型,采用 2.6 万亿 Tokens 的高质量语料训练。在多个权威的中文、英文和多语言的通用、领域 benchmark 上取得同尺寸最佳的效果。包含有 7B、13B 的 Base 和 Chat 版本,并提供了 Chat 版本的 4bits 量化。 模…

SM5212 是一款完整的采用恒定电流/恒定电压的单节锂电池线性充电器

SM5212 双向防反接功能 1.2A 锂电池线性充电芯片 概述: SM5212 是一款完整的采用恒定电流/恒定电压的单节锂电池线性充电器,并带有锂电池正负极反接保护和 VIN 正负反接保护功能,可以保护芯片和用户安全。 由于采用了内部 PMOSFET 架构&am…

基于Qt 多线程(继承 QObject 的线程)

​ 继承 QThread 类是创建线程的一种方法,另一种就是继承QObject 类。继承 QObject 类更加灵活。它通过 QObject::moveToThread()方法,将一个 QObeject的类转移到一个线程里执行。恩,不理解的话,我们下面也画个图捋一下。 通过上面的图不难理解,首先我们写一个类继承 QObj…

Windows使用ssh远程连接(虚拟机)Linux(Ubuntu)的方法

步骤 1.Windows下载一个SSH客户端软件 要使用SSH连接,当然得先有一个好用的客户端软件才方便。 我这里使用的是WindTerm,一个开源免费的SSH连接工具,用什么软件不是重点。 这里默认你已经生成过SSH的密钥了,如果没有&#xff0c…

基于群居蜘蛛算法优化概率神经网络PNN的分类预测 - 附代码

基于群居蜘蛛算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于群居蜘蛛算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于群居蜘蛛优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对PNN神…

双重预防隐患排查融合巡检系统,对无意义重复工作说不

隐患排查在行动,智能巡检系统在进行,然而有些隐患排查工作与巡检工作内容重复却不能同时上传系统,系统之间无法实现数据互联互通信息共享?融合智能巡检管理系统,不仅可以完美实现双重预防隐患排查管理、生产工艺巡检管…

一篇综述读懂m6A甲基化+分型+免疫浸润+机器学习。快来get

今天给同学们分享一篇生信文章“Comprehensive characterization of tumor microenvironment and m6A RNA methylation regulators and its effects on PD-L1 and immune infiltrates in cervical cancer”,这篇文章发表在Front Immunol期刊上,影响因子为…

八股文-面向对象的理解

近年来,IT行业的环境相较以往显得有些严峻,因此一直以来,我都怀有一个愿望,希望能够创建一个分享面试经验的网站。由于个人有些懒惰,也较为喜欢玩乐,导致计划迟迟未能实现。然而,随着年底的临近…