服务器硬件知识--------linux系统初识and安装

news/2025/2/21 7:12:05/
#!/bin/bash
学IT,好技术,私!

一、服务器硬件与linux系统初识及安装

1、服务器硬件知识

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

1)那什么是服务器呢?

        服务器也是一种计算机。服务器,也称伺服器,服务器是指在网络环境下运行相应的应用软件,为网络上用户提供信息资源和各种服务的一种高性能计算机,英文名叫做Server。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。所以服务器无论是在网络连接性能,还是在稳定性等其他各个方面都比PC机要高的多。

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

服务器的特性:

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

2)服务器的分类

(1)服务器按外形分类

  1. 塔式服务器

        塔式服务器(Tower Server),常见的立式和卧式机箱结构的服务器,可放置在普通的办公环境。机箱结构较大(类似于传统的台式电脑)。

例如Dell PowerEdge T640 塔式服务器

        但这种类型服务器也有不少局限性,在需要采用多台服务器同时工作以满足较高的服务器应用需求时,由于其个体比较大,占用空间多,也不方便管理,便显得很不适合。

  1. 机架式服务器

        机架服务器实际上是工业标准化下的产品,其外观按照统一标准来设计,配合机柜统一使用,以满足企业的服务器密集部署需求。机架服务器的主要作用是为节省空间,由于能够将多台服务器装到一个机柜上,不仅可以占用更小的空间,而且也便于统一管理。 机架服务器的宽度为19英寸(48.26cm),高度以U(Unit)为单位(1U=1.75英寸,即1.75X2.54=4.445cm),通常有1U,2U,3U,4U,5U,7U几种标准的服务器。机架式服务器安装在标准的19英寸机柜里面。相对塔式服务器更节约空间,适合于大型专用机房统一部署和管理的服务器的场合,但是散热稍微差一点,因为空间紧凑。

例如:Dell PowerEdge R630机架式服务器

  1. 刀片式服务器

例如:Dell PowerEdge M630刀片式服务器

        刀片服务器其主要结构为一大型主体机箱,内部可插上许多“刀片”,其中每一块刀片实际上就是一块系统母板,类似于一个个独立的服务器,它们可以通过本地硬盘启动自己的操作系统。每一块刀片可以运行自己的系统,服务于指定的不同用户群,相互之间没有关联。而且,也可以用系统软件将这些主板集合成一个服务器集群。在集群模式下,所有的刀片可以连接起来提供高速的网络环境,共享资源,为相同的用户群服务。在集群中插入新的刀片,就可以提高整体性能。而由于每块刀片都是热插拔的,所以,系统可以轻松地进行替换,并且将维护时间减少到最小。

        刀片服务器比机架式服务器更节省空间,同时,散热问题也更突出,往往要在机箱内装上大型强力风扇来散热。此型服务器虽然空间较节省,但是其机柜与刀片价格都不低,一般应用于大型的数据中心或者需要大规模计算的领域,如银行电信金融行业以及互联网数据中心等。

2、补充知识:

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

二、了解Linux系统的组成

        在计算机系统应用中,Windows绝对不是唯一被使用的操作系统平台,在桌面和服务器操作系统领域逐步呈现多元化的应用趋势下,Linux无疑是最令人瞩目的。Linux操作系统正被越来越多的企业和个人所接受,并在服务器、开发环境和桌面办公领域得到广泛应用。

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

层次结构如图所示:

1Linux内核

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

        对操作系统来说,内核就好像人的心脏一样重要,是构成整个Linux操作系统最关键的组成部分。可以毫不夸张的说,没有Linux内核的出现,就没有今天的Linux操作系统

        Linux内核最初由芬兰大学生Linus Torvalds在1991年发布,主要使用C语言及一小部分汇编语言开发而成。

        Linux内核的官方网站是  http://www.kernel.org/  从该网站可以下载已发布的各个版本的内核文件的源代码,因为Linux内核是开源的,所以每个人都可以自己修改和编译Linux内核。

Linux的标志便是这只名为Tux的小企鹅。

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

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

第一个组数字:目前发布的内核主版本。

第二个组数字:偶数表示稳定版本;奇数表示开发中版本。

第三个组数字:错误修补的次数。

        以2.6.22版本为例,2代表主版本号,6代表次版本号,22代表修正号。其中次版本还有特定的意义:如果是偶数数字,就表示该内核是一个可以放心使用的稳定版;如果是奇数数字,则表示该内核加入了某些测试的新功能,是一个内部可能存在着BUG测试版。如2.5.74表示是一个测试版的内核,2.6.22表示是一个稳定版的内核。可以到Linux内核官方网站http://www.kernel.org/下载最新的内核代码,如图所示:

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

补充知识点:

linux位数:

        我们知道目前的CPU主要分为32位与64位,其中32位又可以分为:i386、i586、i686、而64的CPU则称为x86_64,这是因为不同等级的CPU命令集不相同,因此你的某些软件可能会对你的CPU进行某些优化,所以软件就有了i386、i586、i686与x86_64之分,以目前的CPU市场上来说,大多数都是坚持64位的软件。

2)shell

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

3)Linux文件系统

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

4)应用程序

        构成Linux系统的应用程序大部分来自 GNU 项目或其他组织的开源软件,例如顶顶有名的C语言编译工具 GCC ,命令解析器程序 bash ,网站服务程序 httpd 等,因此Linux操作系统最确切的含义为 "GNU/Linux操作系统"

        GNU 的名称来源于 "GNU is Not UNIX" 的缩写(自由软件的通用许可协议)。其目标是编写大量兼容于 UNIX 操作系统的可自由传播、使用的软件,来替换 UNIX 系统的各种商业软件。GNU 的官方站点位于: The GNU Operating System and the Free Software Movement

        开源软件是开放源代码的软件,其最重要的一个特征是源代码开放,每个人都可以获取开源软件的所有源代码。开源软件的出现对传统商业软件模式(封闭源代码)是一个极大的挑战。

三、熟悉常见的Linux发行版本

Linux系统的发行版本

        由于Linux的内核也是个开源软件,任何公司甚至个人都可以将Linux内核和自由软件打包成一个完整的Linux操作系统,因此出现了各种不同的Linux发行版本,他们采用的内核和软件包基本类似,只是具体操作和使用上略微不同。

主流的Linux分支有:

(1). Red Hat系列   

(2). Suse系列  

(3). Debian系列

        其中比较著名的 Ubuntu 就是以 Debian 为原型的发行版,拥有着华丽的桌面。中国深度的Deepin Linux又是以 Ubuntu 为原型的发行版,大家感兴趣的话可以百度获取更多资料。

        由于 Red Hat 公司发布的红帽系列 Linux 发行版本具有更广泛的企业用户基础,也代表着 Linux 操作系统的事实标准,其中使用最广泛的包括以下几种 Linux 版本:

(1). Red Hat 企业版:是由 Red Hat 公司面向企业应用推出的官方版本

(2). Fedora 社区版:主要定位于个人桌面用户,由Fedora社区维护

(3). CentOS 社区版:社区企业操作系统,基于Red Hat 企业版的源码组件进行重构的社区版 Linux 系统,几乎原滋原味的保持了 Red Hat 企业版的所有功能。因为可以免费下载使用,因此成了大多网络公司服务器系统的首选。其官方网站为:http://www.centos.org/

四、熟悉Linux中的硬盘分区和文件系统

1Linux中如何表示硬盘和分区

        硬盘分区包括主分区、扩展分区、逻辑分区三种类型,之所以会有这样的区分,是因为在硬盘的主引导扇区(MBR)中用来存放分区信息的空间只有64个字节(主引导扇区一共只有512字节空间),而每一个分区的信息都要占用16字节空间,因而理论上一块磁盘最多只能拥有4个分区,当然这4个分区都是主分区。这在计算机早期是没什么问题的,但后来随着硬盘空间越来越大,4个分区就远远不够了,所以才又引入了扩展分区的概念。扩展分区也是主分区,但是在扩展分区中可以再创建新的分区,这些分区就被称为逻辑分区,逻辑分区的数量就不再受主引导扇区空间大小的限制了,像IDE磁盘最多可以创建60个逻辑分区。

        说明:MBR分区位于0扇区,他一共512字节,前446字节是grub引导程序,这个会在后面学习;中间64字节是分区表,每个分区需要16个字节表示,因此主分区和扩展分区一共只能有4个分区,超过4个的分区只能从扩展分区上再设置逻辑分区来表示。每个分区的大小无法超过2T。 MBR的最后2个字节是结束符号

        在Linux系统中所有的磁盘以及磁盘中的每个分区都是用文件的形式来表示的。比如在你的电脑中有一块硬盘,硬盘上划分了3个分区,那么在Linux系统中就会有相应的4个设备文件,一个是硬盘的设备文件,另外每个分区也有一个设备文件,所有的设备文件都统一存放在/dev目录中。

不同类型的硬盘和分区的设备文件命名都有统一的规则,具体表述形式如下:

        硬盘:对于IDE接口的硬盘设备,表示为“hdX”形式的文件名,对于SATA或SCSI、SAS、SSD(固态硬盘)接口的硬盘设备,则表示为“sdX”形式的文件名,其中“X”可以为a、b、c、d等字母序号。例如,将系统中的第1个IDE设备表示为“hda”,将第2个SATA设备表示为“sdb”。

        分区:表示分区时,以硬盘设备的文件名作为基础,在后边添加该分区对应的数字序号即可。例如,第1个IDE硬盘中的第1个分区表示为“hda1”、第2个分区表示为“hda2”,第2个SATA硬盘中的第3个分区表示为“sdb3”,第4个分区表示为“sdb4”等。

        需要注意的是,由于主分区的数目最多只有四个,因此主分区和扩展分区的序号也就限制在1~4之间,而逻辑分区的序号将始终从5开始。例如,即便第1个IDE硬盘中只划分了一个主分区、一个扩展分区,则新建的第1个逻辑分区的序号仍然是从5开始,应表示为“sda5”,第2个逻辑分区表示为“sda6”。

        另外,对于所有使用USB接口的移动存储设备,不论是移动硬盘、优盘,还是USB光驱,都一律使用/dev/sdxx的设备文件。光驱(光盘)的设备文件一般默认为/dev/cdrom(rhel9,光驱设备文件/dev/sr0),这个就与光驱的接口无关了。

2Linux使用的文件系统类型

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

        EXT4:第4代扩展文件系统,是RHEL6中默认使用的文件系统类型,属于典型的日志型文件系统。其特点是保持有磁盘存取记录的日志数据,便于恢复,性能和稳定性更加出色。

        除了EXT4文件系统之外,Linux中还有一个比较特殊的SWAP类型的文件系统,swap文件系统是专门给交换分区使用的。交换分区类似于Windows系统中的虚拟内存,能够在一定程度上缓解物理内存不足的问题。不同的是,在Windows系统中是采用一个名为pagefile.sys的系统文件作为虚拟内存使用,而在Linux系统中则是划分了一个单独的分区作为虚拟内存,这个分区就被称为交换分区。交换分区的大小通常设置为主机物理内存的2倍,如主机的物理内存大小为1GB,则交换分区大小设置为2GB即可。

        XFS:RHEL9/CENTOS7中默认使用文件系统,并不是说原有的EXT文件系统不再使用,RHEL 9仍然是支持ext4的.而是面对未来爆炸式增长的数据量,ext文件系统已经显得原来越力不从心。XFS文件系统完全为大数据而生,单个文件系统最大可以支持到8EB大小,单个文件的大小最大可达到16T,并且提供了丰富的日志系统,是应对大数据存储的强大的文件系统。XFS是扩展性高、高性能的文件系统。

五、安装Linux操作系统

        服务器安装操作系统有多种方法,根据安装所需的安装介质不同可分为:光盘安装、U盘安装、网络安装等。

        光盘安装是最规的方法,也是最基本的方法,U盘安装适用于没有光驱的服务器,要求电脑支持USB启动,网络安装需要进行相应服务的配置,后面会介绍到,本文将使用U盘启动安装linux服务器操作系统。

1)制作优盘启动盘:

(1)准备工作

        制作U盘启动盘,需要准备一个容量足够的U盘,能够存放下系统镜像文件,如安装centos系统,可以从官网Download - The CentOS Project上下载合适的版本

        下载好CentOS7的系统镜像了,我们需要一个系统启动盘。 这里用到了一个工具:UltraISO。UltraISO工具工作界面如图所示:

(2)添加刻录镜像文件

在下面选中我们需要安装的CentOS的镜像,双击打开。

(3)写入硬盘镜像

在菜单栏选择启动—>写入硬盘映像选项,如图所示:

单击写入按钮,这时会出现提示信息,警告U盘上的数据会被清除。

(4)服务器BIOS设置

2rhel-9.4的安装体验:

本文使用VMware创建虚拟机演示安装rhel-9.4

生产服务器如果是大内存(4G以上内存),建议安装64位版本rhel-9.4-x86_64-dvd.iso

(1)点击开启此虚拟机:

        点击鼠标后,按键盘上下方向键选择对应的项。其中,第一行Install.....的作用是安装rhel-9.4系统。第二行Test this media & Red Hat Enterprise Linux 9.4,是先检测安装镜像文件的可用性,然后再安装rhel-9.4。第三行Troubleshooting用于处理一些故障问题,选择这一项,会进入一个内存操作系统,然后可以把磁盘上的系统挂载到这个内存操作系统上,这样方便我们去处理一些问题。这里我选择第一项,然后回车。

(2) 检测加载完成之后出来一个欢迎页面,选择安装过程语言,点击默认的English,然后点击继续 Continue

(3)进入到了安装汇总页面,从此页面显示三大块分别为:

LOCALIZATION 本地化:可以看在此下面配置时间时区,键盘设置以及语言

SOFTWARE 软件:在SOFTWARE下面可以到安装来源和自定义软件安装,

默认系统选择Server with GUI安装

SYSTEM  系统:安装目标设备和网络配置

(4)软件SOFTWARE 选择 默认最小安装 点击Done

(5)点击安装目标位置,选择我要配置分区,然后点击左上角的完成。

可以在system系统中的installation destination进行磁盘分区管理:自动分区和手动分区。

这里我创建如下分区:

/boot 分区     500MB

swap分区      4096MB(一般设置为内存的2倍)

/分区剩余全部空间

备注:生产服务器建议单独再划分一个/data分区存放数据

点击LVM下拉菜单,选择“标准分区”,然后点击左下角的+按钮,在弹出的“添加新挂载点”对话框中,设置挂载点为/boot,设置为500M,然后点击“添加挂载点”按钮。



 

        继续点击+按钮,在增加swap分区,大小为4GB(一般为内存的1倍或者2倍)。继续点击+按钮,挂载点选择“/”,期望容量留空,然后点击“添加挂载点”按钮,这样就把剩余的空间全部给了“/”分区,然后点击左上角完成。

划分磁盘分区的规则,(以下三项是必须配置的分区)

    /boot 为引导分区,一般设置值为100M-500M。boot分区只能是标准分区。

    swap分区分内存的两倍(如果内存大于等于4GB,swap分8GB即可,因为分多了也是浪费磁盘空间)实现虚拟内存,建议大小是物理内存的1~2倍,如果内存足够大也可以创建swap分区

    /分区(大小根据情况自己设置)

    剩余的空间给/data分区,这里没有单独分/data分区,因为虚拟机一共就50GB的空间,这里做实验用,就没有单独额外分。

        分区完毕点击Done,然后格式化接收更改,点击accept changes,回到安装汇总页面,点击begin installation,进入下面界面:

        (6)设置ROOT用户的密码,ROOT用户就是rhel操作系统的超级管理员,密码是必须要设置的。点击它进入设置ROOT密码的界面。这里设置root密码123456。

选择user settings的root password,设置root账户的口令。

(7)点击安装信息摘要页面的右下角 开始安装。

        等待几分钟后,系统安装完成,会提示让我们重启,点击重启按钮,就可以进入CentOS7操作系统了。

重启后会出现如下界面,就进入了启动界面

第一项是正常启动系统,第二项是以恢复启动系统。

(9) 进入登录界面,输入用户名【root】密码【123456】,系统登录成功

六、熟悉Linux的操作界面及切换方法

1)TTY终端

        在linux默认的登录模式中,主要分为两种,一种是仅有纯文本界面(命令行界面)的登录环境,另外一种则是图形桌面的登录环境。

        Linux默认情况下提供6个虚拟终端来让用户登录,系统将F1~F6定义为tty1~tty6。使用ctrl+alt+Fn组合键,就可以从图形界面切换到命令行界面的第n个虚拟终端。Fn代表F1、F2、…、F6功能键(如果是centos7系统安装图形界面,F1是图形界面,F2、…、F6是命令行界面)。按alt+Fn组合键可以在命令行界面终端之间切换。

2)查看用户终端

(1)只查看当前终端的可以使用如下两个命令:tty 和 who am i或who -m等

其中who am i仅显示当前用户正使用的终端和登录时间

如下图所示:

tty:可以使用tty来报告所连接的设备或终端(查看当前用户所在终端)whoami:命令只显示出自己在系统中的用户名,它同logname一样(查看当前登录系统的用户名)who am i :命令显示出自己在系统中的用户名,登录终端,登录时间 (查看当前终端登录的用户名、所在终端和登录时间)who:该命令主要用于查看当前在线上的用户情况(查看所有登录系统的用户名)who -m 查看当前终端登录的用户名、所在终端和登录时间login name:登录用户名;terminal line:使用终端设备;login time:登录到系统的时间。 

(2)查看所有终端

who命令

who用于查看当前登入主机的用户终端信息,格式为“who  [参数]”。

这三个字母可以快速显示出所有正在登陆本机的用户名称以及他们正在开启的终端信息。

命令w的功能最全面,w命令的显示项目按以下顺序排列:当前时间,系统启动到现在的时间,登录用户的数目,系统在最近1分、5分和15分的平均负载。然后是每个用户的各项数据,项目显示顺序如下:登录帐号、终端名称、远程主机名、登录时间、空闲时间、JCPU、PCPU、当前正在运行进程的命令行。例如:

说明:

USER:显示登陆用户帐号名。

TTY:用户登陆所用的终端。

FROM:显示用户在何处登陆系统。

LOGIN@:是LOGIN AT的意思,表示登陆进入系统的时间。

IDLE:用户空闲时间,从用户上一次任务结束后,开始记时。

WHAT:表示当前执行的任务。

其中JCPU时间指的是和该终端(tty)连接的所有进程占用的时间,PCPU时间指的是和该终端(tty)连接的当前进程占用的时间。

查看某用户是否登陆系统用户很多的时候,可以在w后面加上某个用户名,则会查看该用户执行任务的情况。

3)linux的默认运行级别

在centos7/rhel7之前的linux版本,linux运行级别分为7个级别,分别是0~6级别。

0代表关机(poweroff)、1代表单用户模式、2代表多用户模式,但没有网络服务、3代表完整多用户模式,有网络服务,登陆后进入控制台命令行模式、4运行级别,预留,系统未使用、5代表图形界面、6代表系统正常关闭并重启。

一般默认运行级别设置为3或5级别。

查看当前运行级别:

who -r : 显示当前运行级别以及系统当前时间;

runlevel : 显示前一个运行级别(无则显示”N”) 、 当前运行级别;

centos7/rhel7之前的版本修改启动时默认运行级别

修改启动时默认运行级别:修改/etc/inittab文件#vim /etc/inittab,进入文件后将5改为3之后,保存,重启,如图所示

运行级别切换:执行init命令,格式:init 运行级别

        相比7之前的版本,在rhel-9.4版本中,设置OS启动默认进入图形界面还是文本界面做了很多大的改变,打开inittab看下

说明:

/etc/inittab 这个文件已经不再使用,systemd对linux来说就是一个init程序,可以作为sysVinit和Upstat的替代。

3运行级:multi-user.target

5运行级:graphical.target

#前者是符号链接指向了后面的target

runlevel3.target -> multi-user.target

runlevel5.target -> graphical.target

如下图所示:

查看当前默认级别设置

设置默认级别,重启后进入命令行界面:

设置默认级别,重启进入图形界面:(前提是要有图形界面环境)

切换运行级别:

方法1:

切换到:运行级3

这两种都可以

systemctl isolate multi-user.target

systemctl isolate runlevel3.target

切换到:运行级5

这两种都可以

systemctl isolate graphical.target

systemctl isolate runleve5.target

方法2:

init  [0123456]

例如:init 3  //进入命令行界面;init 5  //进入图形界面

#查看当前运行的级别

runlevel  //仍然可用

七、了解Linux系统的目录结构

        FHS(Filesystem Hierarchy Standard,目录层次标准)定义了两层规范:第一层是”/”目录下的各个目录应该放什么数据文件,例如:/etc目录下放置系统的配置文件,而/bin和/sbin目录下放置程序及系统命令。第二层是针对/usr/和/var这两个目录的子目录来定义,例如:/var/log下放置系统日志文件等。

下面我们以rhel系统为例详细讲解linux的目录结构。

        rhel系统中的目录和文件数据被组织为一个树形目录结构,所有的分区、目录、文件等都具有一个相同的位置起点——根目录(liunx目录结构和win目录是不同的,liunx目录结构是树形,不同文件类型要存储到相对应的目录下,而windows只是分盘符)。rhel系统定位文件或目录位置时,使用斜杠”/”进行分隔(区别于windows系统中的反斜杠”\”)。整个树形目录结构中,使用独立的一个“/”表示根目录,根目录是rhel文件系统的起点,其所在的分区称为根分区。在根目录下,rhel系统将默认建立一些特殊的子目录,分别具有不同的用途。

下面就介绍一下其中常见的子目录及其作用。

目录结构:

显示 " / " 下面的内容

以树形显示 / 下面的内容

  1. /:根目录,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中。
  2. afs(Andrew File System) 是一种分布式文件系统,在某些特定的环境中可能会被使用。没有使用则为空。
  3. /bin ->/usr/bin:可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。这些命令对应的文件都是可执行的,普通用户可以使用大部分的命令。
  4. /sbin->/usr/sbin:大多是涉及系统管理的命令的存放,是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,如fdisk、shutdown、mount等。与/bin不同的是,这个目录是给系统管理员root使用的命令,普通用户只能”查看”而不能设置和使用。这个目录和/usr/sbin或/usr/local/sbin目录是相似的;我们记住就行了,凡是目录sbin中包含的都是root权限才能执行的。
  5. /boot:存放Linux启动时内核及引导系统程序所需要的核心文件,内核文件和grub 系统引导管理器都位于此目录,建议单独分区,分区大小100M~500M即可
  6. /dev:存放Linux 系统下的设备文件,如光驱,磁盘等。访问该目录下的某个文件相当于访问某个硬件设备。
  7. /etc:一般存放系统的配置文件,作为一些软件启动时默认配置文件读取的目录,如/etc/fstab存放系统分区信息
  8. /home:系统默认的普通用户的主目录(家目录),在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。新增用户账号时,用户的家目录都存放在此目录下,~表示当前用户的家目录,~test表示用户test的家目录。建议单独分区,并设置较大的磁盘空间,方便用户存放数据
  9. /root:系统管理员root的家目录。对于系统来说,系统管理员就好比是上帝,它能对系统做任何事情,甚至包括删除你的文件。因此,请小心使用root帐号。
  10. /lib->/usr/lib:这个目录里存放着系统最基本的动态链接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。程序在执行过程中,需要调用一些额外的参数时需要动态连接库的协助。
  11. /lib64->/usr/lib64:库文件(64位)
  12. /mnt:用于存放挂在储存设备的挂载目录
  13. /media:有些linux的发行版使用这个目录来挂载那些usb接口的移动硬盘(包括U盘)、CD/DVD驱动器等等
  14. /opt:这是给主机额外安装软件所存放的目录,有些软件包也会被安装在这里,也就是自定义软件包,我们自己编译的软件包,就可以安装在这个目录中;通过源码包安装的软件,可以通过 ./configure --prefix=/opt/目录。安装到/opt目录下的程序,它所有的数据、库文件等等都是放在同个目录下面。直接删除程序不影响系统设置。
  15. /proc:操作系统运行时,进程信息及内核信息(比如cpu、硬盘分区、内存信息等)存放在这里。这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

  1. /run:一些进程产生的临时文件,重启会消失
  2. /srv:空目录,存放一些服务产生的文件。如www服务需要访问的网页数据存放在/srv/www内。
  3. /sys:存放一些内核文件,与/proc类似,是一个虚拟的文件系统,主要记录与系统内核相关的信息,如系统当前已经载入的模块信息等。这个目录实际不占磁盘容量。
  4. /tmp:临时文件目录,任何人都可以访问。系统软件或用户运行程序如MySQL时产生的临时文件存放到这里,此目录数据需要定期清除。重要数据不可放置在此目录下,此目录空间不宜过小。
  5. /usr:应用程序存放目录,如命令、帮助文档等,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。安装Linux软件包时默认安装到/usr/local目录下。/usr/bin:系统用户使用的应用程序。/usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。/usr/src:内核源代码默认的放置目录。/usr/local:这个目录一般是用来存放用户自编译安装软件的存放目录。
  6. /var:这个目录的内容经常变动的,/var/log用于存放系统日志,/var/lib存放系统库文件等。

八、学会查看系统信息、关机和重启等命令操作

linux查看系统信息命令是linux初学者必备的基础知识, 这些命令也非常有用, 因为进入linux第一件事就可能是首先查看系统信息, 因此必要的系统的学习一下这些linux系统信息命令还是非常有必要的!

1)hostname:查看主机名

2)查看操作系统版本

[root@template ~]# cat /etc/redhat-release

Red Hat Enterprise Linux release 9.4 (Plow)

3)uname:命令主要用于显示操作系统的信息,包括版本、平台的信息

以下是uname参数的列表:

(1)内核名称,你可以用-s参数,显示内核名称。输出信息会跟uname不带参数时输出的一样。

# uname -s

Linux

(2)内核发行版,如果你想知道你正在使用哪个内核发行版(指不同的内核打包版本),就可以用-r参数

# uname -r

5.14.0-427.13.1.el9_4.x86_64

4)查看语言、字符集设置

# cat /etc/locale.conf

LANG="en_US.UTF-8"

en_US.UTF-8 和 zh_CN.UTF-8 ,en_US代表英语语言环境,zh_CN代表中文语言环境。UTF-8 代表使用的字符集是UTF-8字符集。

注:字符集(Character set)是多个字符的集合,包括各国家文字、标点符号、图形符号、数字等。

注:centos7版本之前的Linux查看语言字符集是/etc/sysconfig/i18n文件。

5)查看CPU信息

在Linux系统中,提供了proc文件系统显示系统的软硬件信息。如果想了解系统中CPU的提供商和相关配置信息,则可以通过/proc/cpuinfo文件得到。

# cat /proc/cpuinfoprocessor : 0  //系统中逻辑处理核的编号。………………physical id : 0              //物理封装的处理器的id(单个物理cpu id)………………core id : 0         //每个核心的idcpu cores : 4             //每颗CPU的核心数……………

如果一台服务器主机的CPU为2个物理封装的处理器,每个处理器又有4个处理核心(cpu cores,物理核数),每个cpu core有可划分为2个逻辑处理器(超线程技术),因此,每个物理处理器上有8个逻辑处理器,总共就有16个processor。这回明白了吧。大体的结 构如下图:

注:siblings条目列出了位于相同物理封装中的逻辑处理器的数量。

6)查看内存信息

如果想了解系统中内存的相关信息,则可以通过/proc/cpuinfo文件得到。

# cat /proc/meminfoMemTotal:        1863252 kBMemFree:         1521084 kB……………SwapTotal:       2097148 kBSwapFree:        2097148 kB……………

说明:

MemTotal:        1863252 kB //总内存

MemFree:           1521084 kB //空闲内存

SwapTotal:        2097148 kB //交换空间总大小

SwapFree:         2097148 kB //空闲交换空间

九、Linux关机、重启命令

1)init

init是所有进程的祖先,其进程号始终为1。init用于切换系统的运行级别,切换的工作是立即完成的。init 0命令用于立即将系统运行级别切换为0,即关机;init 6命令用于将系统运行级别切换为6,即重新启动。

例如:

$ init 0

$ init 6

说明:init 0可以关机,init 6可以重启。

而运行级别0、6分别对应着systemd的poweroff.target和reboot.target目标,因此执行systemctl poweroff与systemctl reboot命令也可以实现相应的关机、重启操作。

2)shutdown命令

shutdown命令用于安全关闭Linux系统。有些用户会使用直接断掉电源的方式来关闭Linux,这是十分危险的。因为Linux后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,甚至会损坏硬件设备。 

执行shutdown命令时,系统会通知所有登录的用户系统将要关闭,并且login指令会被冻结,即新的用户不能再登录系统。使用shutdown命令可以直接关闭系统,也可以延迟指定的时间再关闭系统,还可以重新启动。延迟指定的时间再关闭系统,可以让用户有时间储存当前正在处理的文件和关闭已经打开的程序。

要使用这个命令必须保证是根用户,命令格式如下:shutdown [OPTIONS]… TIME

例如:

正常关机:shutdown

关机后重启:shutdown -r    //-r重启系统

在指定时间内关机:你可以指定一个时间字符串(通常是now或者用hh:mm指定小时/分钟)作为第一个参数,例如要在2min内关机,输入命令:shutdown –t 2或shutdown 2  //-t指定在多长时间之后关闭系统

取消已经在进行的shutdown指令:打开另一个终端执行shutdown -c

3)poweroff命令

poweroff在关闭计算机操作系统之后,最后还会发送ACPI指令,通知电源,最后切断电源供应

4)reboot命令

通知系统重启


http://www.ppmy.cn/news/1572885.html

相关文章

ESP32鼠标驱动(ble hid device_demo)【ESP32指向鼠标】

ESP32鼠标驱动(ble hid device_demo)【ESP32指向鼠标】 我使用的vscode开发esp32,用的是ESP-IDF v5.12固件,其提供了很多例程,在搜索里面输入“ESP-IDF: Show Examples Projects”,便可看到例程,如下图所示&#xff0…

19.4.9 数据库方式操作Excel

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 本节所说的操作Excel操作是讲如何把Excel作为数据库来操作。 通过COM来操作Excel操作,请参看第21.2节 在第19.3.4节【…

DeepSeek-R1论文阅读及本地调用

前言 DeepSeek已经火了一段时间了,对于这项“国运级”的技术成果,即便研究的不是这个方向,也不免好奇前来看看。本文将先解析一下DeepSeek-R1这篇论文,再对DeepSeek的本地部署使用进行研究配置。 论文标题:DeepSeek-…

蓝桥杯 Java B 组之简单数学问题(素数判断、最大公约数)

Day 4:简单数学问题(素数判断、最大公约数) 数学问题在蓝桥杯中非常重要,尤其是数论基础、数学优化、边界处理等知识。本日的学习目标: 素数判断(Prime Number)最大公约数(Greates…

从入门到跑路(六)k8s配置ingress-nginx

Ingress-NGINX 是一个基于 NGINX 的 Kubernetes Ingress 控制器,旨在将外部 HTTP 和 HTTPS 流量路由到 Kubernetes 集群中的服务。它是 Kubernetes 官方推荐的 Ingress 控制器之一,并且广泛应用于各种生产环境中。 Ingress-NGINX介绍 主要作用 在 Kub…

在c#中虚方法和抽象类的区别

在C#中,虚方法(virtual method)和抽象方法(abstract method)是面向对象编程中两种重要的机制,用于实现多态性。虽然它们都有助于实现类之间的灵活关系,但它们在定义、使用以及功能上有一些关键的…

SQL递归技巧

1.读样例 with recursive cet_dpt(id, parent_id, path, org_category, level,depart_name) as (select id ,parent_id,depart_name as path,org_category,1 as level,sd.depart_namefrom isolarerp.sys_depart sdwhere del_flag 0and sd.org_code A09B15union al…

python-leetcode-零钱兑换

322. 零钱兑换 - 力扣(LeetCode) class Solution:def coinChange(self, coins: List[int], amount: int) -> int:# 初始化 dp 数组,大小为 amount 1,初始值为无穷大dp [float(inf)] * (amount 1)dp[0] 0 # 凑成金额 0 所需…