1. 首页 > 电脑知识

CentOS小白上手秘籍:从0到1轻松掌握 centos基础教程

作者:admin 更新时间:2025-07-21
摘要:目录 一、CentOS 是什么? 二、准备工作 (一)硬件要求 (二)下载镜像文件 (三)准备虚拟机软件(可选) 三、安装 CentOS (一)在虚拟机中安装(以 VMware Workstation 为例) (二)在物理机上安装 (三)安装过程详解 四、CentOS 基础设置 (一)更新系统 (二)配置网络 (三)安装常用软件 五、CentOS 常用命令 (一)文件和目录操作 (二)用户和权限管,CentOS小白上手秘籍:从0到1轻松掌握 centos基础教程

 

目录

一、CentOS 是 何?

二、准备 职业

(一)硬件要求

(二)下载镜像文件

(三)准备虚拟机软件(可选)

三、安装 CentOS

(一)在虚拟机中安装(以 VMware Workstation 为例)

(二)在物理机上安装

(三)安装 经过详解

四、CentOS 基础设置

(一)更新 体系

(二)配置网络

(三)安装常用软件

五、CentOS 常用命令

(一)文件和目录操作

(二)用户和权限管理

(三) 体系管理

六、CentOS 进阶技巧

(一)配置防火墙

(二)SELinux 管理

(三)日志管理

七、 拓展资料与展望


一、CentOS 是 何?

CentOS,即 Community Enterprise Operating System(社区企业操作 体系) , 一个基于 Red Hat Enterprise Linux(RHEL)源代码构建的开源 Linux 发行版。简单来说,它就像是 RHEL 的免费孪生兄弟,继承了 RHEL 的诸多特性。

CentOS 最大的亮点 其中一个就是稳定性。 由于源自 RHEL,它的每个版本都经过了严格的测试和优化,能够在长 时刻运行中保持高效、可靠的性能,非常适合对稳定性要求极高的服务器环境。比如,一些大型电商网站在促销活动期间,面对海量的用户访问,CentOS 服务器能够稳定运行,保障交易的顺利进行 。

安全性也是 CentOS 的一大优势。它拥有强大的安全机制,包括访问控制、身份认证、数据加密等。同时,CentOS 社区也会及时发布安全更新和补丁,帮助用户抵御各种安全威胁。像一些金融机构,会使用 CentOS 搭建核心业务 体系,利用其安全特性保护用户的敏感信息。

而且,CentOS 完全免费,用户可以 自在下载、使用和修改其源代码,这对于预算有限的企业和开发者来说,无疑 一个极具吸引力的选择。再加上庞大且活跃的社区支持,当用户遇到 难题时,可以很方便地在社区中寻求帮助、获取资源。

在服务器领域,CentOS 应用极为广泛。许多大型网站、云计算平台、企业内部的服务器等都选择 CentOS 作为操作 体系。比如,知名的开源云计算平台 OpenStack,就有不少用户选择将其部署在 CentOS 体系上,充分利用 CentOS 的稳定性和开源特性 。

二、准备 职业

在开始安装 CentOS 之前,我们需要做好一系列准备 职业,以确保安装 经过顺利进行。

(一)硬件要求

CentOS 对硬件的要求并不苛刻,下面是安装 CentOS 的基本硬件配置:

CPU:至少 1GHz 主频的 位处理器,能够满足基本的 体系运行和日常任务处理需求。如果需要运行一些大型应用或进行多任务处理,建议使用更高主频、多核的处理器,以提升 体系性能。比如在搭建企业级服务器时,可能会选择 4 核甚至 8 核的处理器。

内存:最小 1GB RAM,如果要使用图形界面,至少需要 2GB 内存 。在实际使用中,若服务器要承载多个服务或应用,建议配置 4GB 及以上内存,以保障 体系的流畅运行。例如,运行数据库服务器时,更多的内存可以 进步数据读写速度。

硬盘空间:最小安装需要 10GB 磁盘空间。但如果打算安装大量软件、存储数据,建议预留 50GB 以上的空间。像用于存储大量文件的文件服务器,可能需要几百 GB 甚至更大的硬盘空间。

大家可以根据自己的设备实际情况,对照上述要求,判断是否满足安装条件。如果硬件配置较低,可能会导致 体系运行缓慢,甚至无 常安装某些功能。

(二)下载镜像文件

CentOS 的镜像文件可以从官方网站下载,官方下载地址为:https:// .centos.org/download/ 。在下载页面,你会看到不同版本的 CentOS 可供选择。

目前,CentOS 主要有 CentOS 7 和 CentOS 8 等版本,它们之间存在一些差异:

CentOS 7:于 2024 年发布,拥有长期支持,维护期至 2024 年 6 月 。它具有广泛的兼容性,支持大量第三方软件和应用,生态 体系 丰盛,稳定性强,经过多年使用和优化,非常可靠。但软件包相对较旧,不太适合对软件版本要求最新的用户。如果你的服务器需要长期稳定运行,且对软件新特性需求不高,CentOS 7 是个不错的选择。

CentOS 8: 2024 年发布,带来了更新的软件包,提供较新的内核和应用程序版本,在性能方面有一定提升,并引入了 dnf 包管理器, 进步了 体系管理效率。 然而,其支持周期较短,在 2024 年底结束。如果你的项目周期较短,且需要较新的软件版本和功能,CentOS 8 可以考虑。

除了这些之后,CentOS 镜像文件还有不同的类型,常见的有 DVD ISO、Everything ISO 和 Mini l ISO:

DVD ISO:标准安装版,包含了常用的软件和工具,一般下载这个版本就可以满足大多数用户的需求,也是最推荐的版本。

Everything ISO:对完整版安装盘的软件进行补充,集成了所有软件,包含 CentOS 体系的一套完整软件包,可用于安装 体系或填充本地镜像。

Mini l ISO:精简版,自带的软件最少,适合有一定技术基础,且只需要安装基本 体系, 接着自行安装所需软件的用户。

大家可以根据自身需求,选择合适的 CentOS 版本和镜像文件类型进行下载。

(三)准备虚拟机软件(可选)

如果打算在虚拟机中安装 CentOS,这里为大家介绍几款常用的虚拟机软件:

VMware Workstation:一款功能强大的商业虚拟机软件,支持多种操作 体系,在 Windows 和 Linux 体系上都能很好地运行。它具有 丰盛的功能,如虚拟网络设置、快照功能等,可以方便地创建、管理和使用虚拟机。其安装步骤如下:

从 VMware 官方网站下载安装程序,下载完成后,双击运行安装程序。

在安装向导中,点击 “下一步”,阅读并接受许可协议。

选择安装位置,可保持默认位置,也可点击 “更改” 选择其他路径, 接着点击 “下一步”。

根据提示,选择是否创建桌面快捷方式等,之后点击 “安装” 开始安装。

安装完成后,输入产品许可证进行注册激活。

VirtualBox:一款开源的虚拟机软件,同样支持多种操作 体系,具有友好的用户界面和不错的性能, 并且完全免费。安装 技巧如下:

访问 VirtualBox 官方网站(https:// .virtualbox.org/wiki/Downloads ),下载适用于你操作 体系的安装包。

下载完成后,双击安装包,在安装向导中,点击 “Next” 继续。

阅读并接受许可协议,选择安装的组件,一般建议使用默认设置。

选择安装位置,建议保持默认位置,除非你有 独特需求, 接着点击 “Install” 开始安装。

安装 经过中可能会提示安装 VirtualBox 扩展包,可根据需要选择是否安装,安装完成后,点击 “Finish”。

安装好虚拟机软件后,还需要进行一些基本设置,比如创建虚拟机时,设置虚拟机的名称、选择安装的操作 体系类型(这里选择 Linux – CentOS)、分配内存 大致、设置硬盘空间等 。这些设置可以根据实际需求和电脑硬件配置进行调整。

三、安装 CentOS

(一)在虚拟机中安装(以 VMware Workstation 为例)

创建新虚拟机:

打开 VMware Workstation 软件,在主界面点击 “创建新的虚拟机”。

在弹出的 “新建虚拟机向导” 窗口中,选择 “自定义( 高 质量)”,这样可以对虚拟机的各项参数进行更细致的设置, 接着点击 “下一步”。

选择硬件兼容性,一般保持默认的 “Workstation 17.x 或更高版本” 即可,这能确保虚拟机支持更多新硬件和软件特性,再次点击 “下一步” 。

在 “安装来源” 步骤中,选择 “稍后安装操作 体系”, 由于我们先创建一个干净的虚拟机配置,之后再进行 CentOS 体系的安装,完成后点击 “下一步”。

客户机操作 体系选择 “Linux”,版本选择 “CentOS 8 位”(根据你下载的 CentOS 镜像版本进行选择,如果是 CentOS 7 则选择相应版本), 接着点击 “下一步”。

为虚拟机命名,比如 “CentOS8_VM”,并选择虚拟机文件的存储位置,建议选择空间较大的磁盘分区,以方便存放虚拟机相关文件,设置好后点击 “下一步”。

配置虚拟机硬件:

处理器配置:根据物理机的处理器核心数量和性能来分配,若物理机是 4 核处理器,虚拟机可分配 1 – 2 个处理器核心。如果要在虚拟机中运行大型数据库等对 CPU 性能要求较高的应用,可适当增加核心数,但不要超过物理机核心总数,设置完成后点击 “下一步”。

虚拟机内存:同样依据物理机内存 大致进行设置,若物理机有 8GB 内存,可给虚拟机分配 2 – 4GB 内存。如果运行图形界面或者需要承载多个服务,建议分配 4GB 及以上内存,设置好内存后点击 “下一步”。

网络类型:有桥接模式、NAT 模式和仅主机模式可选。桥接模式下,虚拟机和物理主机在同一网络中,可直接访问外部网络,适用于需要虚拟机与局域网内其他设备直接通信的场景;NAT 模式下,虚拟机通过主机的 IP 地址访问外部网络,外部无法直接访问虚拟机,这是比较常用的模式,适合大多数普通用户;仅主机模式下,虚拟机只能与主机通信,无法访问外部网络,常用于一些 独特的网络测试场景。这里我们以 NAT 模式为例,选择后点击 “下一步”。

I/O 控制器类型:保持默认的 “LSI Logic” 即可,这是 VMware 推荐的控制器类型,具有较好的兼容性和性能,点击 “下一步”。

磁盘类型:选择 “SCSI 虚拟磁盘类型”,不要选择 “NVMe” 类型,否则在后续安装 经过中可能会出现 难题,选择完成后点击 “下一步”。

磁盘:选择 “创建新虚拟磁盘”,为虚拟机创建新的硬盘,点击 “下一步”。

磁盘容量:根据实际需求设置,一般最小 10GB 即可满足基本 体系安装,但如果打算安装大量软件、存储数据,建议设置 50GB 以上。同时,取消勾选 “立即分配所有磁盘空间”,这样虚拟机文件不会一开始就占用设定的全部磁盘空间,而是随着数据的写入逐渐占用,还可以选择 “将虚拟磁盘存储为单个文件”,方便管理,设置好后点击 “下一步”。

磁盘文件:默认的文件名即可,也可以点击 “浏览” 选择其他存储路径,确认无误后点击 “完成”,至此虚拟机硬件配置完成。

启动安装程序:

虚拟机创建完成后,在 VMware 主界面选中刚创建的虚拟机,点击 “开启此虚拟机”。

此时会弹出 “安装来源” 窗口,选择之前下载好的 CentOS 镜像文件, 接着点击 “确定”。

虚拟机开始启动,进入 CentOS 安装界面,我们可以正式开始安装 CentOS 体系了。

(二)在物理机上安装

制作启动盘:

下载并打开 Rufus 工具,可从官方网站(Rufus – The Official Website (Download, New Releases) )下载。

打开 Rufus 后,在 “设备” 下拉菜单中选择要制作启动盘的 U 盘。

在 “分区选择” 中,对于支持 UEFI 启动的新电脑,建议选择 “GPT (非 )”;对于较老的只支持传统 BIOS 启动的电脑,选择 “MBR (非 )”。

“目标 体系类型” 会根据 “分区选择” 自动匹配,UEFI 模式对应 “UEFI (非 )”,传统 BIOS 模式对应 “BIOS (非 )”。

点击 “开始” 按钮,在弹出的提示框中选择 “以 DD 镜像模式写入”(注意:如果选择 “以 ISO 镜像模式写入”,可能会缺失 EFI 体系分区,导致无法完成引导), 接着点击 “OK”。

等待 Rufus 将 CentOS 镜像文件写入 U 盘,这个 经过可能需要几分钟,写入完成后,启动盘就制作好了。

从 U 盘启动:

将制作好的启动盘插入物理机的 USB 接口。

重启物理机,在开机 经过中,根据屏幕提示按下对应的按键进入 BIOS 或 UEFI 设置界面。不同品牌的电脑进入 BIOS/UEFI 的按键不同,比如华硕电脑一般按 Del 或 F2 键,戴尔电脑按 F2 键,惠普电脑按 F10 键,联想电脑按 F2 或 Fn + F2 键等。

进入 BIOS/UEFI 设置界面后,找到 “Boot”(启动)选项卡。在 “Boot” 菜单中,通过 路线键找到 U 盘设备,它可能显示为 U 盘的品牌名称、型号,或者被标记为 “USB HDD”“Removable Device” 等。

使用键盘上的 “+”“-” 键,或者 F5/F6 键(具体按键提示会在屏幕下方显示),将 U 盘移动到启动顺序的第一位,确保电脑优先从 U 盘启动。

设置完成后,按下 F10 键保存设置并退出 BIOS/UEFI 设置界面,电脑将从 U 盘启动,进入 CentOS 安装界面。

(三)安装 经过详解

选择语言:

进入 CentOS 安装界面后,首先看到的是语言选择页面,这里列出了多种语言,根据个人使用 习性选择即可,比如选择 “中文(简体)”, 接着点击 “继续”。

配置安装选项:

安装源:默认情况下, 体系会自动检测并使用下载的镜像文件作为安装源。如果有 独特需求,比如需要从网络源安装,可点击 “软件来源” 进行设置,一般保持默认即可。

安装位置:在 “安装目的地” 选项中,选择要安装 CentOS 体系的磁盘。如果电脑只有一块硬盘,直接选择该硬盘即可;如果有多块硬盘,可以选择其中一块进行安装。同时,还可以对磁盘分区进行自定义设置,比如创建根分区 “/”、交换分区 “swap” 等。对于普通用户,建议使用自动分区,让 体系自动分配磁盘空间,设置完成后点击 “完成”。

网络配置:点击 “网络和主机名” 选项,进入网络配置页面。在这里可以开启或关闭网络连接,设置网络类型(如以太网、Wi – Fi 等)。如果是以太网连接, 体系一般会自动获取 IP 地址;如果需要手动设置 IP 地址、子网掩码、 等信息,可点击 “配置” 进行详细设置。设置好网络后,还可以为计算机设置主机名,完成后点击 “完成”。

软件选择:在 “软件选择” 页面,有多种软件环境可供选择,如 “最小安装”“带 GUI 的服务器”“服务器” 等。“最小安装” 只安装基本的 体系组件,适合有一定技术基础,需要自行安装所需软件的用户;“带 GUI 的服务器” 安装了图形界面和服务器相关软件,方便初学者使用;“服务器” 则安装了服务器常用的软件,但没有图形界面。根据自身需求选择合适的软件环境,这里我们以 “带 GUI 的服务器” 为例进行安装,选择后点击 “完成”。

设置用户和密码:

点击 “用户设置” 选项,进入用户设置页面。在这里可以创建普通用户,输入用户名和密码,密码要设置得足够复杂,包含字母、数字、 独特字符等,以确保安全性。同时,还需要确认密码。

不要忘记设置 root 用户密码,root 用户是 体系管理员,拥有最高权限,设置的密码也要足够强壮,设置完成后点击 “完成”。

等待安装完成:

完成上述所有设置后,点击安装界面左下角的 “开始安装” 按钮, 体系开始安装 CentOS。安装 经过所需 时刻取决于电脑硬件性能和选择的安装内容,一般需要 15 – 30 分钟左右。

在安装 经过中,可以看到安装进度条和相关提示信息。安装完成后,会提示 “安装完成”,此时点击 “重启” 按钮,电脑将重启进入 CentOS 体系。在首次启动时,可能还需要进行一些初始化设置,如接受许可协议等,按照提示操作即可。

四、CentOS 基础设置

(一)更新 体系

在使用 CentOS 体系时,定期更新 体系是非常重要的一项操作。 体系更新能够让我们获取到最新的安全补丁,有效抵御各种潜在的安全威胁,保障 体系的安全性;同时,还能获得新的功能改进,提升 体系的性能和稳定性。

在 CentOS 中,我们可以使用 yum 命令来更新 体系软件包。打开终端,输入 下面内容命令:

sudo yum update

在执行该命令时, 体系会首先检查软件源中是否有可用的更新包。如果有,它会列出所有可更新的软件包信息,包括软件包名称、当前版本和最新版本等。确认更新列表无误后,输入 “y” 并回车, 体系就会开始下载并安装这些更新包 。这个 经过可能需要一些 时刻,具体取决于更新包的数量和网络速度。

需要注意的是,更新 体系可能会对正在运行的服务产生影响。比如,更新 经过中某些服务可能会被暂时停止,更新完成后再重新启动。 因此,在更新 体系之前,最好先保存好正在进行的 职业, 并且确保没有重要的业务正在运行。 除了这些之后, 由于更新操作需要修改 体系文件,因此必须使用sudo以管理员权限执行命令 。同时,要保证 体系具有稳定的网络连接, 由于更新 经过需要从软件源下载更新包。

(二)配置网络

查看网络接口:在 CentOS 体系中,我们可以使用ip addr命令来查看 体系中的网络接口信息。打开终端,输入 下面内容命令:

ip addr

执行该命令后, 体系会列出所有的网络接口,每个接口都会显示一些详细信息,比如:

lo:这是回环接口,它的 IP 地址通常是127.0.0.1,主要用于本地网络通信测试,比如测试本地安装的服务器软件是否正常运行。

eth0或ens33等:这些是以太网接口,不同的 体系可能接口名称不同。接口信息中会显示 MAC 地址,它是网络设备的物理地址,全球唯一;还会显示 inet 后面的 IPv4 地址,如果 体系配置了 IPv6,还会显示 inet6 后面的 IPv6 地址 。

通过查看网络接口信息,我们可以了解 体系当前的网络连接 情形,确认网络接口是否正常 职业。

设置静态 IP:以 NetworkManager 为例,下面为大家介绍 怎样配置静态 IP 地址、子网掩码、 和 DNS 服务器。

首先,打开网络连接配置文件。假设我们要配置的网络接口是ens33,输入 下面内容命令:

sudo vi /etc/NetworkManager/system-connections/ens33.nmconnection

接着,在打开的文件中进行如下配置:

[connection]

id=ens33

type=ethernet

inte ce-name=ens33

[ipv4]

method= nual

addresses=192.168.1.100/24 # 这里的192.168.1.100是静态IP地址,/24表示子网掩码为255.255.255.0

gateway=192.168.1.1 # 地址

dns=8.8.8.8;8.8.4.4 # DNS服务器地址,多个DNS服务器地址用分号分隔

[ipv6]

method=disabled # 禁用IPv6,如果需要使用IPv6,可以根据实际情况配置

配置完成后,按下 “Esc” 键,输入 “:wq” 并回车,保存并退出文件。

最后,重新加载网络配置并使配置生效,输入 下面内容命令:

sudo nmcli connection reload

sudo nmcli connection down ens33 && sudo nmcli connection up ens33

这样,静态 IP 地址就配置完成了。

测试网络连接:配置好网络后,我们可以使用ping命令来测试网络连接是否正常。ping命令通过向目标主机发送 ICMP(Internet Control Message Protocol)回显请求数据包,并等待接收回显应答数据包,以此来判断网络的连通性和延迟情况。

比如,我们要测试是否能连接到百度的服务器,可以在终端输入 下面内容命令:

ping .baidu.com

执行该命令后,如果网络连接正常,会显示类似 下面内容的信息:

PING .a.shifen.com (14.215.177.38) 56(84) bytes of data.

bytes from 14.215.177.38: icmp_seq=1 ttl=128 time=31.3 ms

bytes from 14.215.177.38: icmp_seq=2 ttl=128 time=31.5 ms

bytes from 14.215.177.38: icmp_seq=3 ttl=128 time=31.2 ms

从这些信息中,我们可以看到每个数据包的往返 时刻(time),它反映了网络的延迟情况。如果网络连接不正常,可能会显示 “请求超时” 等错误信息 ,这时候就需要检查网络配置是否正确,网络线路是否正常等。

(三)安装常用软件

安装 yum 源:在 CentOS 体系中,yum 源是软件包的来源,默认的 yum 源可能存在软件包更新不及时、 慢等 难题。为了 进步软件包的 和获取更多的软件资源,我们可以更换为一些常用的 yum 源,如阿里云、清华大学的 yum 源。下面以更换为阿里云 yum 源为例,介绍具体的更换 技巧:

首先,备份默认的 yum 源配置文件,输入 下面内容命令:

sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

接着,下载阿里云的 yum 源配置文件,输入 下面内容命令:

sudo wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo

这里以 CentOS 8 为例,如果是 CentOS 7,将链接中的 “Centos-8.repo” 改为 “Centos-7.repo” 即可。

下载完成后,清理旧的 yum 缓存并生成新的缓存,输入 下面内容命令:

sudo yum clean all

sudo yum kecache

这样,阿里云 yum 源就更换成功了。通过yum repolist命令可以查看当前可用的软件仓库列表,确认新的 yum 源是否生效。

安装软件包:以安装 nginx、MySQL、Python 等软件为例,下面为大家介绍使用 yum 命令安装软件包的 技巧。

安装 nginx:nginx 一个高性能的 HTTP 和反向代理服务器。在安装 nginx 之前,需要先添加 nginx 的 yum 源。输入 下面内容命令:

sudo yum install -y https://nginx.org/packages/centos/8/noarch/RPMS/nginx-release-centos-8-0.el8.ngx.noarch.rpm

添加源完成后,就可以安装 nginx 了,输入 下面内容命令:

sudo yum install -y nginx

安装完成后,可以使用 下面内容命令启动 nginx 服务,并设置开机自启:

sudo systemctl start nginx

sudo systemctl enable nginx

通过浏览器访问服务器的 IP 地址,如果看到 nginx 的欢迎页面,说明 nginx 安装成功。

安装 MySQL:MySQL 是一款广泛使用的关系型数据库管理 体系。安装 MySQL 需要先添加 MySQL 的 yum 源,输入 下面内容命令:

sudo yum install -y https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm

添加源后,就可以安装 MySQL 服务器了,输入 下面内容命令:

sudo yum install -y mysql-community-server

安装完成后,启动 MySQL 服务并设置开机自启:

sudo systemctl start mysqld

sudo systemctl enable mysqld

首次启动 MySQL 后,需要获取临时 root 密码并进行一些安全配置,输入 下面内容命令获取临时密码:

sudo grep 'temporary password' /var/log/mysqld.log

接着,使用临时密码登录 MySQL,并修改 root 密码:

mysql -u root -p

进入 MySQL 后,输入 下面内容命令修改密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

这里的 “新密码” 要设置为足够复杂的密码,包含字母、数字、 独特字符等,以确保安全性。

安装 Python:Python 是一种功能强大的编程语言。在 CentOS 体系中,Python 2.7 通常是默认安装的,如果我们需要安装 Python 3.x 版本,可以使用 下面内容命令:

sudo yum install -y python3

安装完成后,可以使用 下面内容命令检查 Python 的版本:

python3 --version

如果需要安装 Python 的包管理工具 pip,可以使用 下面内容命令:

sudo yum install -y python3-pip

安装完成后,就可以使用 pip 来安装各种 Python 库了,比如安装 requests 库,输入 下面内容命令:

pip3 install requests

怎样样?经过上面的分析步骤,我们就可以在 CentOS 体系中安装常用的软件包了。在安装 经过中,如果遇到 难题,可以查看相关的错误信息,在网上搜索解决方案,或者在 CentOS 社区中寻求帮助。

五、CentOS 常用命令

(一)文件和目录操作

在 CentOS 体系中,文件和目录操作是日常使用中最基础的部分。熟练掌握相关命令,能大大 进步 职业效率。下面为大家介绍一些常用的文件和目录操作命令。

ls 命令:用于列出目录内容,这是最常用的命令 其中一个。比如,在终端输入ls,它会列出当前目录下的所有文件和子目录。如果想查看更详细的信息,可以使用ls -l,这个选项会以长格式显示文件的权限、所有者、 大致、修改 时刻等。例如:

ls -l

total 8

drwxr-xr-x 2 user user 4096 Mar 5 12:34 dir1

-rw-r--r-- 1 user user 123 Mar 5 12:34 file1.txt

其中,drwxr-xr-x表示文件类型和权限,d代表这 一个目录;user user分别是所有者和所属组;4096是文件 大致;Mar 5 12:34是修改 时刻;dir1和file1.txt是文件名。

如果要查看包括隐藏文件(以.开头的文件)在内的所有文件,可以使用ls -a。而ls -lh则是以人类可读的格式显示文件 大致,结合了-l和-h的优点,让文件 大致更直观,如1.2M、500K等。

cd 命令:用于切换当前 职业目录。它可以接受 完全路径或相对路径作为参数。比如,要切换到/home/user目录,可以输入cd /home/user;如果想回到当前用户的主目录,直接输入cd或cd ~即可, 由于~就代表用户的主目录。另外,cd..表示切换到上一级目录;cd.表示当前目录。例如,当前在/home/user/Documents目录,输入cd..,就会切换到/home/user目录。

mkdir 命令:用来创建新的目录。基本用法是mkdir 目录名,例如mkdir new_folder,这会在当前目录下创建一个名为new_folder的文件夹。如果要创建多级目录,比如/home/user/new_project/src,可以使用mkdir -p /home/user/new_project/src,-p选项的 影响是递归创建父目录,如果父目录不存在,会自动创建。

rm 命令:用于删除文件或目录,但使用时一定要格外小心, 由于删除的文件默认无法恢复。删除文件很简单,直接使用rm 文件名,比如rm test.txt, 体系会提示是否删除,输入y确认即可。如果要删除目录,则需要使用rm -r选项,-r表示递归删除,即删除目录及其下的所有文件和子目录。例如rm -r old_folder,它会删除old_folder目录以及里面的所有内容。另外,rm -f可以强制删除,不提示确认,这个选项要谨慎使用,以免误删重要文件 。

mv 命令:既可以移动文件或目录,也能用于重命名。移动文件时,格式为mv 源文件 目标目录,比如将file1.txt移动到/home/user/Documents目录下,可以输入mv file1.txt /home/user/Documents。重命名文件的话,格式是mv 旧文件名 新文件名,例如mv old_name.txt new_name.txt 。如果目标目录已存在同名文件,使用mv命令时会覆盖目标文件,默认不会提示,如需提示确认,可以加上-i选项。

cp 命令:用于 文件或目录。 单个文件的格式是cp 源文件 目标文件,比如cp file1.txt file2.txt,这会在当前目录下创建一个file1.txt的副本,命名为file2.txt。 目录则需要加上-r选项,以递归 目录下的所有内容,例如cp -r dir1/ dir2/,它会将dir1目录及其下的所有文件和子目录 到dir2目录下 。同样,如果目标位置已存在同名文件或目录,cp命令默认会覆盖,加上-i选项可在覆盖前提示确认。

(二)用户和权限管理

用户管理

useradd 命令:用于创建新用户。在 CentOS 体系中,每个用户都有自己的用户 ID(UID)、主目录、默认的 Shell 等信息。使用useradd命令时,可以通过一些参数来指定这些信息。例如,要创建一个名为testuser的新用户,同时指定其主目录为/home/testuser,并指定其默认的 Shell 为/bin/zsh,可以使用 下面内容命令:

useradd -m -d /home/testuser -s /bin/zsh testuser

其中,-m选项表示强制创建用户主目录;-d指定用户的主目录路径;-s指定用户登录时使用的 Shell。如果不指定这些参数, 体系会使用默认设置,比如主目录会在/home下创建一个与用户名相同的目录,默认 Shell 通常是/bin/bash。

passwd 命令:用于设置或更改用户密码。当创建新用户后,需要为其设置密码。例如,为testuser用户设置密码,在终端输入:

passwd testuser

体系会提示输入新密码,输入的密码不会显示在屏幕上,输入完成后按回车键, 接着 体系会要求再次确认密码,确认无误后密码就设置成功了。如果是普通用户修改自己的密码,直接输入passwd命令, 接着按提示操作即可。

usermod 命令:可以修改用户的各种属性,比如用户名、用户组、主目录等。假设要将testuser的用户名改为newuser,可以使用 下面内容命令:

usermod -l newuser testuser

这里-l选项表示修改用户名。如果要修改用户的主目录,比如将newuser的主目录改为/new/home/newuser,命令如下:

usermod -d /new/home/newuser -m newuser

其中-d指定新的主目录路径,-m选项表示将原主目录下的文件移动到新的主目录。

userdel 命令:用于删除用户。如果要删除newuser用户, 并且同时删除其主目录及目录中的所有文件,可以使用 下面内容命令:

userdel -r newuser

-r选项的 影响就是在删除用户的同时,删除其主目录和邮件池等相关文件。如果只输入userdel newuser,则只会删除用户账号,不会删除其主目录。

权限管理

chmod 命令:用于更改文件和目录的权限。在 Linux 体系中,文件和目录的权限分为读(r)、写(w)、执行(x)三种,分别对应数字 4、2、1。权限又分为所有者(u)、所属组(g)、其他用户(o)三个类别。例如,要将文件test.txt的权限设置为所有者有读、写、执行权限,所属组和其他用户只有读和执行权限,可以使用 下面内容命令:

chmod 755 test.txt

这里的755是用数字表示的权限,7代表所有者权限(4+2+1=rwx),5代表所属组权限(4+1=rx),第二个5代表其他用户权限(4+1=rx)。也可以使用字母表示法来修改权限,比如要给test.txt文件的所有者添加写权限,可以用:

chmod u+w test.txt

如果要递归地修改一个目录及其下所有文件和子目录的权限,比如将/home/user/dir1目录及其下所有内容的权限设置为750,命令如下:

chmod -R 750 /home/user/dir1

chown 命令:用于更改文件或目录的所有者和所属组。例如,有一个文件file1.txt,当前所有者是root,所属组是root,现在要将其所有者改为user1,所属组改为group1,可以使用 下面内容命令:

chown user1:group1 file1.txt

如果只想更改所属组,命令为:

chown :group1 file1.txt

同样,如果要递归地更改一个目录及其下所有文件和子目录的所有者和所属组,比如将/home/user/dir2目录及其下所有内容的所有者改为user2,所属组改为group2,命令如下:

chown -R user2:group2 /home/user/dir2

(三) 体系管理

查看 体系信息

uname 命令:用于查看 体系的内核信息。输入uname -a,可以查看完整的 体系信息,包括内核版本、主机名、CPU 架构等。例如:

uname -a

Linux centos8 4.18.0-348.2.1.el8_5.x86_ #1 P Tue Aug 31 10:48:55 UTC 2024 x86_ x86_ x86_ GNU/Linux

这里可以看到内核版本是4.18.0-348.2.1.el8_5.x86_ ,主机名是centos8,CPU 架构是x86_ 。如果只想查看内核版本,使用uname -r即可。

hostname 命令:用于查看和设置主机名。输入hostname,可以查看当前 体系的主机名。如果要临时修改主机名,比如将主机名改为new_hostname,可以使用 下面内容命令:

hostname new_hostname

这种修改方式在 体系重启后会失效。如果要永久修改主机名,可以编辑/etc/hostname文件,将里面的内容修改为新的主机名, 接着重启 体系使设置生效。

date 命令:用于查看和设置 体系 时刻。输入date,会显示当前的 体系 时刻,格式类似Wed Oct 12 15:30:00 CST 2024,分别表示星期、月份、日期、 时刻、时区和年份。如果要设置 体系 时刻,比如将 时刻设置为 2024年10月12日15时30分00秒,可以使用 下面内容命令:

date -s " 2024-10-12 15:30:00"

不过,修改 体系 时刻需要管理员权限,一般使用sudo命令来执行。

uptime 命令:用于查看 体系的运行 时刻、当前登录用户数和 体系平均负载。输入uptime,会显示类似 下面内容信息:

15:35:00 up 1:20, 2 users, load average: 0.00, 0.01, 0.05

其中,15:35:00是当前 时刻,up 1:20表示 体系已经运行了 1 小时 20 分钟,2 users表示当前有 2 个用户登录,后面的load average分别是 1 分钟、5 分钟、15 分钟的 体系平均负载,负载数值越低,表示 体系越空闲。

服务管理

在 CentOS 体系中,systemctl 是管理 体系服务的重要工具。它可以启动、停止、重启服务,还能设置服务开机自启等。

启动服务:以 nginx 服务为例,如果要启动 nginx 服务,输入 下面内容命令:

sudo systemctl start nginx

停止服务:停止 nginx 服务的命令是:

sudo systemctl stop nginx

重启服务:当修改了 nginx 的配置文件后,需要重启服务使配置生效,命令如下:

sudo systemctl restart nginx

查看服务 情形:通过 下面内容命令可以查看 nginx 服务的运行 情形,包括是否正在运行、启动 时刻等信息:

sudo systemctl status nginx

如果服务正在运行,会显示绿色的active (running);如果服务未运行,则显示红色的inactive (dead)。

设置开机自启:为了让 nginx 服务在 体系开机时自动启动,可以使用 下面内容命令:

sudo systemctl enable nginx

执行该命令后, 体系会在相应的启动级别中创建 nginx 服务的启动链接。

禁止开机自启:如果不想让某个服务开机自启,比如禁止 nginx 开机自启,命令如下:

sudo systemctl disable nginx

磁盘管理

df 命令:用于查看磁盘的使用情况。输入df -h,-h选项表示以人类可读的格式显示磁盘容量,例如:

df -h

Filesystem Size Used Avail Use% Mounted on

devtmpfs 470M 0 470M 0% /dev

tmpfs 481M 0 481M 0% /dev/shm

tmpfs 481M 6.7M 474M 2% /run

tmpfs 481M 0 481M 0% /sys/fs/cgroup

/dev/sda1 50G 3.6G 44G 8% /

tmpfs 97M 0 97M 0% /run/user/0

这里可以看到每个文件 体系的 大致、已使用空间、可用空间、使用百分比以及挂载点。

du 命令:用于估算文件或目录的磁盘使用空间。比如要查看当前目录下所有文件和子目录占用的磁盘空间,可以输入du -sh,-s表示汇总显示,-h表示以人类可读格式显示 大致:

du -sh

4.0K .

如果要查看某个具体目录的 大致,比如/home/user/Documents目录,命令为:

du -sh /home/user/Documents

fdisk 命令:用于磁盘分区操作。在对新硬盘进行分区时,通常会用到这个命令。例如,要对/dev/sdb硬盘进行分区,先输入sudo fdisk /dev/sdb, 接着根据提示进行操作,比如创建分区、设置分区类型等。在分区 经过中,n表示新建分区,p表示主分区,e表示扩展分区,w表示保存并退出分区操作。不过,使用fdisk命令要谨慎,操作不当可能会导致数据丢失。

mount 命令:用于挂载磁盘分区或文件 体系。当创建好分区后,需要将其挂载到 体系的某个目录下才能使用。比如要将/dev/sdb1分区挂载到/mnt/new_disk目录,可以使用 下面内容命令:

sudo mount /dev/sdb1 /mnt/new_disk

如果要让分区在 体系开机时自动挂载,可以编辑/etc/fstab文件,添加相应的挂载信息,格式一般为设备名 挂载点 文件 体系类型 挂载选项 0 0。例如:

/dev/sdb1 /mnt/new_disk ext4 defaults 0 0

这样, 体系每次启动时都会自动挂载/dev/sdb1到/mnt/new_disk目录。

六、CentOS 进阶技巧

(一)配置防火墙

在 CentOS 体系中,默认使用的防火墙工具是 firewalld,它提供了动态管理防火墙 制度的功能,相较于传统的 iptables,使用起来更加方便和灵活。

基本操作:

开启防火墙:在终端输入 下面内容命令,即可启动 firewalld 服务,并设置开机自启,确保 体系每次启动时防火墙都能正常 职业。

sudo systemctl start firewalld

sudo systemctl enable firewalld

关闭防火墙:如果在某些特定情况下,需要临时关闭防火墙,可以使用 下面内容命令停止 firewalld 服务,并禁止其开机自启。不过,在生产环境中,关闭防火墙会降低 体系的安全性,应谨慎操作。

sudo systemctl stop firewalld

sudo systemctl disable firewalld

查看防火墙 情形:通过执行 下面内容命令,可以查看当前防火墙的运行 情形,包括是否正在运行、启动 时刻等信息,方便我们了解防火墙的 职业情况。

sudo systemctl status firewalld

端口管理:

开放端口:假设我们要开放 80 端口(常用于 HTTP 服务),可以使用 下面内容命令。其中,–zone=public表示 影响区域为公共区域,–add-port=80/tcp表示添加 80 端口,协议为 TCP,–per nent表示设置永久生效,配置完成后,需要重新加载防火墙配置使设置生效。

sudo firewall-cmd --zone=public --add-port=80/tcp --per nent

sudo firewall-cmd --reload

关闭端口:如果要关闭已经开放的 80 端口,命令如下,同样需要重新加载配置。

sudo firewall-cmd --zone=public --remove-port=80/tcp --per nent

sudo firewall-cmd --reload

查看开放端口:使用 下面内容命令,可以查看当前防火墙开放的所有端口,便于我们管理和维护端口设置。

sudo firewall-cmd --zone=public --list-ports

(二)SELinux 管理

SELinux(Security – Enhanced Linux)即安全增强型 Linux, 一个 Linux 内核模块,也是 Linux 的一个安全子 体系,由美国 民族安全局开发。它主要 影响是最大限度地减小 体系中服务进程可访问的资源,遵循最小权限 制度。

影响和 职业模式:

影响:SELinux 通过强制访问控制(MAC)机制,为 体系提供了额外的安全防护。在传统的自主访问控制(DAC)中,root 用户拥有至高无上的权限,这存在一定的安全风险。而 SELinux 的 MAC 机制,不仅考虑用户对资源的访问权限,还会判断进程对资源的访问权限。即使某个进程以 root 身份运行,如果它不符合 SELinux 的策略 制度,也无法访问特定资源。例如,一个以 root 身份运行的网络服务程序存在漏洞,黑客利用该漏洞发起攻击时,SELinux 可以限制黑客利用该漏洞获取 体系资源的范围,从而降低安全风险。

职业模式:

Enforcing:强制模式,这是 SELinux 的默认模式。在该模式下,SELinux 会严格执行安全策略 制度,一旦发现违反 制度的行为,会立即阻止,并将相关信息记录到日志中。

Permissive: 大度模式,在这种模式下,SELinux 虽然会检测到违反安全策略的行为,但不会阻止,只是将这些违规行为记录到日志中,通常用于调试和排查 难题。

Disabled:关闭模式,此时 SELinux 完全不 职业, 体系仅依靠传统的访问控制机制来保障安全。

查看和管理 SELinux:

查看 SELinux 情形:可以使用 下面内容两种 技巧查看当前 SELinux 的 职业 情形。第一种 技巧是查看配置文件,通过cat命令查看/etc/selinux/config文件,找到SELINUX的值,就能知道当前的 职业模式。第二种 技巧是使用getenforce命令,它会直接返回当前 SELinux 的 职业模式,如Enforcing、Permissive或Disabled。

cat /etc/selinux/config # 查看配置文件

getenforce # 使用命令查看

临时禁用 SELinux:如果只是想临时将 SELinux 设置为 大度模式,可以使用setenforce命令,将参数设置为 0,即可将 SELinux 设置为 Permissive 模式;如果想恢复为强制模式,将参数设置为 1 即可。这种方式修改的设置在 体系重启后会失效。

sudo setenforce 0 # 设置为 大度模式

sudo setenforce 1 # 设置为强制模式

永久禁用 SELinux:要永久禁用 SELinux,需要编辑/etc/selinux/config文件,将SELINUX的值从enforcing或permissive改为disabled, 接着重启 体系,设置即可生效。不过,在禁用 SELinux 之前,请充分考虑 体系的安全性需求,确保不会 由于禁用 SELinux 而带来安全隐患。

sudo vi /etc/selinux/config # 编辑配置文件

# 将SELINUX=enforcing改为SELINUX=disabled

sudo reboot # 重启 体系使设置生效

(三)日志管理

在 CentOS 体系中,日志记录了 体系运行 经过中的各种事件,对于 体系管理员来说,通过分析日志可以及时发现 体系中存在的 难题,如服务故障、安全漏洞等。journalctl是 CentOS 体系中用于查看 体系日志的重要命令,它可以方便地查看由systemd – journald收集的日志数据,这些数据包括内核、服务、标准输出、标准错误以及应用程序的日志信息。

查看所有日志:在终端输入journalctl命令,它会按 时刻顺序输出 体系的所有日志信息, 由于日志内容可能非常多, 因此可以通过翻页键(如 Page Up、Page Down)来查看不同部分的日志。例如,当我们想了解 体系启动以来发生的所有事件时,就可以使用这个命令查看。

journalctl

实时查看日志:使用journalctl -f命令,类似于tail -f命令的功能,它会实时滚动显示最新的日志信息,非常适合监控正在运行的服务 情形,及时发现新产生的 难题。比如,当我们在部署一个新的 Web 服务时,可以通过这个命令实时查看服务的运行日志,了解服务是否正常启动,是否有错误信息输出。

journalctl -f

查看 体系启动日志:要查看当前 体系启动周期的日志,可以使用journalctl -b命令,如果需要显示详细信息,还可以加上-x参数。这对于排查 体系启动 经过中出现的 难题非常有帮助,比如 体系启动缓慢、无 常启动等情况,通过查看启动日志可以找到 难题的根源。

journalctl -b # 查看当前启动周期日志

journalctl -xb # 查看当前启动周期日志并显示详细信息

按 时刻范围过滤日志:如果我们想查看某个特定 时刻段内的日志,可以使用–since和–until参数。例如,要查看 2024 年 1 月 1 日到 2024 年 1 月 2 日之间的日志,可以使用 下面内容命令,精确的 时刻范围筛选有助于我们快速定位特定 时刻段内发生的 难题。

journalctl --since "2024-01-01" --until "2024-01-02"

按服务过滤日志:当我们只想查看某个特定服务的日志时,可以使用-u参数加上服务名。比如,要查看 nginx 服务的所有日志,输入 下面内容命令,这样就能专注于特定服务的运行情况,方便排查该服务相关的 难题。

journalctl -u nginx.service

按日志级别过滤:日志级别反映了日志信息的重要程度,常见的日志级别从低到高依次为DEBUG、INFO、NOTICE、WARNING、ERROR、CRITICAL、ALERT、EMERGENCY。我们可以使用-p参数加上日志级别来过滤日志。例如,要查看错误及以上级别的日志,输入 下面内容命令,通过这种方式可以快速筛选出需要已关注的重要日志信息。

journalctl -p err

七、 拓展资料与展望

怎样样?经过上面的分析内容,相信大家对 CentOS 已经有了较为全面的了解。从 CentOS 的基础概念,到安装与配置,再到常用命令和进阶技巧,每一步都是深入 进修 Linux 体系的关键。掌握 CentOS,不仅能够提升我们对操作 体系的 领会,还为我们开启了通往服务器运维、云计算等领域的大门。

当然,Linux 体系博大精深,CentOS 只是其中的一个分支,还有更多的 智慧等待我们去探索。比如,深入 进修 Linux 内核机制,了解 体系底层的运行原理;研究更复杂的网络配置和安全策略,提升 体系的稳定性和安全性; 进修自动化运维工具, 进步 职业效率等。

希望大家在 进修 CentOS 的 经过中,保持好奇心和探索 灵魂,不断 操作和 拓展资料经验。相信通过持续的 进修和努力,大家一定能够在 Linux 领域取得更大的 提高,为自己的技术之路打下坚实的基础。如果在 进修 经过中遇到 难题,欢迎随时在评论区留言交流,让我们一起共同成长!