openEuler操作系统

一、OpenEuler简介

OpenEuler 是一款由华为发起、社区驱动的开源 Linux 操作系统,专注于企业级应用场景(如服务器、云计算、边缘计算等)。其前身是华为的 EulerOS,2019 年正式开源并捐赠给开放原子开源基金会,旨在构建一个中立、开放的生态系统。

1、下载openEuler

通常有两个版本:

  • 创新版:通常每半年发布一次,提供最新的软件包,适合开发者和技术爱好者使用。
  • LTS**openEuler 稳定版:通常每两年发布一次,提供稳定的软件包,适合企业、开发者、技术爱好者使用。

下载地址:https://openeuler.org/zh/download.html

选择社区版——》稳定版——》x86_64架构——》服务器场景——》Standard版本下载。

openEuler下载

Mac 平台的轻量级虚拟机平台 OrbStack 支持 openEuler 发行版。 开发者通过 https://orbstack.dev/download 下载后,点击创建虚拟机,选择 openEuler 版本,创建成功后即可在命令行中使用 openEuler。

openEuler 有两种界面:命令行界面和图形界面。默认是命令行界面,可以通过安装图形界面的方式切换。

2、创建虚拟机安装openEuler

用 vmware 创建虚拟机

  • 希望使用什么类型的配置————选择自定义高级
  • 选择硬件兼容性————选择最新的
  • 安装客户机操作系统————选择 稍后安装操作系统
  • 选择操作系统————选择Linux,版本选择 其他Linux 5.x内核 64位
  • 命名虚拟机————输入虚拟机名称,如openEuler;选择虚拟机存储位置
  • 处理器数量————选择处理器数量,建议选择1颗2核
  • 内存————选择内存大小,建议选择4G
  • 网络连接————选择NAT网络连接
  • I/O控制器————选择LSI Logic
  • 磁盘类型————选择SCSI
  • 选择磁盘————创建新虚拟磁盘
  • 指定磁盘大小————选择磁盘大小,建议选择25G
  • 完成虚拟机创建
  • 编辑虚拟机设置
    • 选择CD/DVD————选择使用ISO映像文件,选择openEuler镜像文件
    • 选择网络适配器————选择自定义,选择VMnet8(NAT)
  • 启动虚拟机

安装openEuler:

  • 启动虚拟机,选择 Install openEuler
  • 选择语言,选择English
  • Installation Destination————选择自动配置分区
  • Software Selection————选择Minimal Install
  • Root Account————Enable root account, 设置密码要求必须满足复杂度
  • Begin Installation————开始安装

登录并测试:

Authorized users only. All activities may be monitored and reported.
Last login: Fri Feb 21 17:20:33 2025

Welcome to 6.6.0-72.0.0.76.oe2403sp1.x86_64

System information as of time: 	Fri Feb 21 05:34:24 PM CST 2025

System load: 	0.00
Memory used: 	9.3%
Swap used: 	0%
Usage On: 	9%
IP address: 	192.168.88.128
Users online: 	2

[root@hqs-openEuler ~]# ping www.baidu.com
PING www.a.shifen.com (183.2.172.42) 56(84) bytes of data.
64 bytes from 183.2.172.42 (183.2.172.42): icmp_seq=1 ttl=128 time=21.1 ms
64 bytes from 183.2.172.42 (183.2.172.42): icmp_seq=2 ttl=128 time=24.2 ms

二、openEuler常用命令

1、基本命令

# 查看日期
[root@hqs-openEuler ~]# date
Sun Feb 23 10:36:33 AM CST 2025

# 查看日历
[root@hqs-openEuler ~]# cal
    February 2025   
Su Mo Tu We Th Fr Sa
                   1
 2  3  4  5  6  7  8
 9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28   

# 显示当前用户信息          
[root@hqs-openEuler ~]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

# 显示近期用户或终端的登录情况
[root@hqs-openEuler ~]# last
root     pts/0        192.168.88.1     Sun Feb 23 10:36   still logged in
reboot   system boot  6.6.0-72.0.0.76. Sun Feb 23 10:36   still running
root     pts/0        192.168.88.1     Fri Feb 21 17:34 - 22:24  (04:50)
root     tty1                          Fri Feb 21 17:20 - crash (1+17:15)
reboot   system boot  6.6.0-72.0.0.76. Fri Feb 21 17:03   still running

wtmp begins Fri Feb 21 17:03:24 2025

# history:查看所有的历史记录
[root@hqs-openEuler ~]# history
# 查看最近的N条历史命令
[root@hqs-openEuler ~]# history 5
  101  date
  102  cal
  103  id
  104  last
  105  history
# !N:执行第N条历史命令
[root@hqs-openEuler ~]# !101
# !字母:执行最近一条以某字母开头的命令
[root@hqs-openEuler ~]# !d
date

# --help:查看命令的常用语法和参数
[root@hqs-openEuler ~]# mv --help
Usage: mv [OPTION]... [-T] SOURCE DEST
  or:  mv [OPTION]... SOURCE... DIRECTORY
  or:  mv [OPTION]... -t DIRECTORY SOURCE...
Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.
Mandatory arguments to long options are mandatory for short options too....

# man:帮助手册浏览指导
# 空格键:向下翻页;PageUp:向上翻页;PageDown:向下翻页;上下箭头、回车:向上向下翻动一行
# g/G:跳到第一行/最后一行;q:退出帮助手册

# 安装GUI图形化界面
[root@hqs-openEuler ~]# yum install -y dde && systemctl set-default graphical.target && reboot

# 如果没有某命令,需要安装相应的软件包
# 1.查询提供此命令是哪个软件包:yum provides 命令
[root@hqs-openEuler ~]# yum provides ifconfig
Last metadata expiration check: 1 day, 13:09:11 ago on Sun 23 Feb 2025 09:17:04 PM CST.
net-tools-2.10-4.oe2403sp1.x86_64 : Important Programs for Networking
Repo        : OS
Matched from:
Filename    : /usr/sbin/ifconfig
# 2.查到包名后,安装此软件包
[root@hqs-openEuler ~]# yum install -y net-tools

# cat /etc/passwd:查看系统中所有用户的信息
[root@hqs-openEuler ~]# cat /etc/passwd
# 第一个字段:用户名
# 第二个字段:密码占位符,x表示此用户设置了密码
# 第三个字段:用户ID,0表示超级用户;1-999为系统用户;1000以上为普通用户,由管理员创建,用于日常工作维护
# 第四个字段:组ID,初始组每个用户只能有一个,通常ID与用户ID相同;附加组可以有多个,加入后拥有附加组的权限
# 第五个字段:用户描述信息,解释用户的作用
# 第六个字段:用户家目录
root:x:0:0:Super User:/root:/bin/bash
bin:x:1:1:bin:/bin:/usr/sbin/nologin


2、目录文件操作命令

目录介绍:

  • /bin:存放经常使用的一些命令

  • /boot:引导加载程序文件目录

  • /dev:设备文件目录

  • /etc:配置文件目录

  • /home:普通用户的家目录

  • /lib:系统库文件目录

  • /media:可移动媒体设备目录

  • /mnt:挂载目录

  • /opt:应用软件安装目录

  • /proc:虚拟文件系统目录

  • /root:root用户的家目录

  • /sbin:系统管理员使用的命令

  • /tmp:存放临时文件

  • /usr:存放应用程序和文件

  • /var:存放经常变化的文件,如日志文件

  • 绝对路径:

    • 以根目录/为起点,一直到文件或目录的路径
    • 文件位置的全路径
    • 任何位置都可以访问
  • 相对路径:

    • 不以"/" 开头,相对于当前目录的路径
    • 当前目录的相对位置
    • 在特定目录下才能访问
# cd:切换目录
[root@hqs-openEuler ~]# cd /etc/yum.repos.d/
[root@hqs-openEuler yum.repos.d]# cd /etc/sysconfig/network-scripts/
# cd-:返回上一次所在的目录
[root@hqs-openEuler network-scripts]# cd -
/etc/yum.repos.d
# cd:切换到当前用户的家目录
[root@hqs-openEuler yum.repos.d]# cd 
[root@hqs-openEuler ~]# 
# cd ..:返回上一级目录
[root@hqs-openEuler ~]# cd ..
[root@hqs-openEuler /]# 

# pwd:显示当前目录
[root@hqs-openEuler ~]# pwd
/root

# touch:创建文件
[root@hqs-openEuler ~]# touch hcip
[root@hqs-openEuler ~]# ls
anaconda-ks.cfg  hcip

# mkdir:创建目录
[root@hqs-openEuler ~]# mkdir test

# ls:查看目录下的内容
# -a:显示所有文件,包括隐藏文件
# -l:显示详细信息,可缩写为-ll
# -R:递归显示所有目录下的内容
[root@hqs-openEuler ~]# ls
anaconda-ks.cfg  hcip  test

# rm:删除文件或目录
# -r:递归删除目录树
# -f:强制删除,不交互
# -i:交互删除
[root@hqs-openEuler ~]# rm hcip

# cp:复制文件或目录
# -r:递归复制目录树,将源目录拷贝到目标目录
[root@hqs-openEuler ~]# cp -r /etc/yum.repos.d/ .
[root@hqs-openEuler ~]# ls
anaconda-ks.cfg  hcip  hcip.bak  test  yum.repos.d
# 如果目标是一个目录,该拷贝把文件放在目录下
[root@hqs-openEuler ~]# cp hcip ./test/
# 如果目标文件不存在,该拷贝被重命名
[root@hqs-openEuler ~]# cp hcip hcip.bak
[root@hqs-openEuler ~]# ls
anaconda-ks.cfg  hcip  hcip.bak  test
# 如果目标是一个文件,该拷贝覆盖目标文件
[root@hqs-openEuler ~]# cp /etc/yum.repos.d/openEuler.repo hcip
cp: overwrite 'hcip'? y

# mv:移动文件或目录
# 命令格式:mv [OPTION]... [-T] SOURCE DEST

3、文件权限

  • 文件权限:
    • R:读权限
    • W:写权限
    • X:执行权限
    • 2-4:文件所有者权限
    • 5-7:文件所属组权限
    • 8-10:其他用户权限
  • 文件类型:
    • d:目录文件
    • -:普通文件
    • l:链接文件
    • p:管道文件
    • c:字符设备文件

权限对目录和文件的影响:

权限 对文件的影响 对目录的影响
读 (r) 4 允许读取文件内容 允许列出目录中的文件和子目录名称(需执行权限x才能查看详细信息)
写 (w) 2 允许修改文件内容 允许在目录中创建、删除或重命名文件(需执行权限x才能生效)
执行 (x) 1 允许作为可执行程序运行 允许进入目录、访问文件元数据(如ls -l),并通过路径直接访问子文件/子目录
# 权限(文件类型-权限)  链接数  所属用户  所属用户组  文件/目录大小  修改时间  文件名
[root@hqs-openEuler etc]# ll
total 1412
-rw-r--r--.  1 root root       16 Feb 21 12:06 adjtime
-rw-r--r--.  1 root root     1529 Jan 31  2024 aliases
drwxr-xr-x.  2 root root     4096 Feb 21 12:04 alternatives

# chmod:修改文件或目录的权限
# 1、符号方式修改权限
chmod [ugoa][+-=][rwx] 文件名
# 权限对象:(u:所有者;g:所属组;o:其他用户;a:所有用户)
# 属性操作:(+:增加权限;-:删除权限;=:设置权限)
# 权限:(r:读权限;w:写权限;x:执行权限)
# 例如:给hcip文件的所有者增加写权限
chmod u+x hcip

# 2.数字方式修改权限
# chmod [mode] 文件名
# mode:三位数字,每位数字代表一类用户的权限
# 第一个数字代表属主(u)的权限
# 第二个数字代表属组(g)的权限
# 第三个数字代表其他人(o)的权限
chmod 777 hcip

# chown:设置文件的属主和属组
# chown [选项] 属主:属组 文件名
# 1.设置文件的所属人为user1
chown user1 hcip
# 2.设置文件的所属组为group1
chown :group1 hcip
# 3.设置文件的所属人为user1,所属组为group1
chown user1:group1 hcip

# chgrp:设置文件的所属组
# chgrp [选项] 属组 文件名
chgrp group1 hcip

4、vim编辑器

模式名称 触发方式 主要功能 退出方式
普通模式 默认启动模式,或按 Esc 移动光标、复制/粘贴、删除文本、切换其他模式 进入其他模式时自动退出
插入模式 iao 等键 直接编辑文本内容(类似常规文本编辑器) Esc 返回普通模式
可视模式 v(字符)、V(行)、Ctrl+v(块) 选择文本区域(高亮显示),用于复制、删除或批量操作 Esc 返回普通模式
末行模式 普通模式下按 : 执行保存、退出、替换、配置等命令(如 :wq Enter 执行命令后自动返回普通模式,或按 Esc 取消
替换模式 普通模式下按 R 直接覆盖已有文本(输入会替换光标后的内容) Esc 返回普通模式
命令行模式 普通模式下按 /(搜索)或 ?(反向搜索) 搜索文本或执行外部命令(如 :! ls Enter 执行后返回普通模式,或 Esc 取消

模式切换方式:
普通模式(Normal Mode)

├── 按 i/a/o 等 → 插入模式(Insert Mode)

├── 按 v/V/Ctrl+v → 可视模式(Visual Mode)

├── 按 : → 末行模式(Command-line Mode)

├── 按 R → 替换模式(Replace Mode)

└── 按 /? → 命令行模式(Search/Command)

(1)末行模式

进入末行模式:在普通模式(Normal Mode)下按 :(冒号),底部出现输入提示符。

  • %:表示全文范围,如 :%s/old/new/g 表示全文替换
  • .:表示当前行,如 :.s/old/new/g 表示当前行替换,:.,$s/old/new/g 表示当前行到最后一行替换,:.,+5s/old/new/g 表示替换当前行及后续5行
  • $:表示最后一行,如 :$s/old/new/g 表示最后一行替换,:10,$s/old/new/g 替换第 10 行到最后一行
  • :w !sudo tee %:保存文件时,如果没有权限,可以使用此命令保存
  • :r 文件名:将指定文件的内容插入到当前光标所在位置
命令/操作 功能说明
:w 保存当前文件(不退出)
:q 退出 Vim(若文件未保存会提示错误)
:wq:x 保存并退出
:q! 强制退出(不保存修改)
:w [filename] 另存为指定文件名
:e [filename] 打开新文件(需先保存当前文件或强制关闭)
:s/old/new 替换当前行第一个匹配oldnew
:s/old/new/g 替换当前行所有匹配oldnew
:%s/old/new/g 替换全文所有匹配oldnew
:n,m s/old/new/g 替换第 n 到第 m 行之间的所有匹配
:set nu 显示行号
:set nonu 隐藏行号
:n 跳转到第 n 行(如 :10 跳转到第 10 行)
:! [shell命令] 执行外部命令(如 :! ls 查看当前目录文件)
:help [command] 查看命令帮助文档(如 :help :w

(2)普通模式

普通模式是 Vim 的默认模式,主要用于 移动光标、执行文本操作 和 切换其他模式。绝大多数高效操作都依赖此模式。

  • .命令:重复执行上一次命令(如删除一行后,按 . 可以再次删除下一行)
  • 组合数字:大多数命令支持数字前缀(如 5dd 删除 5 行,3p 粘贴 3 次)。
  • u:撤销上一次操作(Undo),Ctrl + r:重做被撤销的操作(Redo)。
类别 快捷键/命令 功能说明
移动光标 h, j, k, l 左、下、上、右移动光标(等同于方向键)
w / W 移动到下一个单词开头(小写忽略标点,大写包含标点)
b / B 移动到上一个单词开头
0 移动到行首(第一个字符)
^ 移动到行首第一个非空字符
` 类别
-------------- -------------------------- -------------------------------------------------------------------------
移动光标 h, j, k, l 左、下、上、右移动光标(等同于方向键)
w / W 移动到下一个单词开头(小写忽略标点,大写包含标点)
b / B 移动到上一个单词开头
0 移动到行首(第一个字符)
^ 移动到行首第一个非空字符
                  | 移动到行尾                                                               |

| | gg | 跳转到文件第一行 |
| | G | 跳转到文件最后一行 |
| | 5G:5 | 跳转到第 5 行(数字可替换) |
| | Ctrl + f / Ctrl + b | 向下翻页(Page Down)/ 向上翻页(Page Up) |
| 文本编辑 | x | 删除当前光标下的字符 |
| | dd | 删除当前行 |
| | dw | 删除从光标到下一个单词开头 |
| | d$D | 删除从光标到行尾 |
| | u | 撤销上一次操作 |
| | Ctrl + r | 重做被撤销的操作 |
| | r[字符] | 替换当前光标下的字符为指定字符(如 ra 替换为 a) |
| | ~ | 切换当前字符的大小写 |
| 复制粘贴 | yy | 复制当前行 |
| | yw | 复制从光标到下一个单词开头 |
| | p | 粘贴到光标后(行内容粘贴到下一行) |
| | P | 粘贴到光标前(行内容粘贴到上一行) |
| 搜索替换 | /keyword | 向下搜索 keyword(按 n 跳转到下一个匹配项) |
| | ?keyword | 向上搜索 keyword(按 n 跳转到上一个匹配项) |
| | :%s/old/new/g | 全局替换所有 oldnew(需在末行模式执行) |
| 组合操作 | 数字 + 命令 | 重复执行命令(如 3dd 删除 3 行,5j 向下移动 5 行) |
| 模式切换 | i / a | 进入插入模式(i 在光标前插入,a 在光标后插入) |
| | v / V / Ctrl + v | 进入可视模式(字符/行/块选择) |
| | : | 进入末行模式 |

(3)插入模式

插入模式用于直接编辑文本内容,类似常规文本编辑器,但 Vim 的插入模式支持更丰富的快捷键操作。

类别 快捷键/命令 功能说明
进入插入模式 i 在光标前插入文本
a 在光标后插入文本(Append)
o 在当前行下方插入新行并进入插入模式
O 在当前行上方插入新行并进入插入模式
s 删除当前字符并进入插入模式
S 删除整行并进入插入模式
C 或 `c 类别
-------------- --------------------------- -------------------------------------------------------------------------
进入插入模式 i 在光标前插入文本
a 在光标后插入文本(Append)
o 在当前行下方插入新行并进入插入模式
O 在当前行上方插入新行并进入插入模式
s 删除当前字符并进入插入模式
S 删除整行并进入插入模式
          | 删除从光标到行尾的内容并进入插入模式                                   |

| | I | 跳转到行首第一个非空字符前并进入插入模式 |
| | A | 跳转到行尾并进入插入模式 |
| 插入操作 | Ctrl + h | 删除前一个字符(类似退格键) |
| | Ctrl + w | 删除前一个单词 |
| | Ctrl + u | 删除从光标到行首的内容 |
| | Ctrl + t | 增加当前行的缩进(需开启自动缩进) |
| | Ctrl + d | 减少当前行的缩进(需开启自动缩进) |
| | Ctrl + r [寄存器] | 插入寄存器的内容(如 Ctrl + r " 插入系统剪贴板内容) |
| | Ctrl + v [字符代码] | 插入特殊字符(如 Ctrl + v u00A9 插入版权符号 ©) |
| | Ctrl + o | 临时切换至普通模式执行单条命令后自动返回插入模式(如 Ctrl + o dd 删除当前行) |
| 退出插入模式 | EscCtrl + [ | 返回普通模式 |

三、openEuler常见硬件设备

设备类型 设备节点示例 内核驱动模块 管理工具/命令 支持说明
IDE 硬盘 /dev/hda, /dev/hdb ata_piixpata_legacy hdparm, fdisk 默认支持(需加载 IDE 驱动),现代硬件已淘汰
SCSI/SATA /dev/sda, /dev/sdb sd_mod, ahci lsscsi, smartctl 全面支持,SATA 设备通过 AHCI 驱动管理
U 盘 /dev/sdc, /dev/sdd usb-storage lsusb, mount 即插即用,自动挂载需依赖桌面环境或 udisks2
软驱 (FDD) /dev/fd0 floppy fdformat, mtools 需手动加载 floppy 模块,物理设备罕见
打印机 /dev/lp0, /dev/usb/lp0 usblp, parport CUPS 服务, lpstat 需安装 CUPS 和驱动(如 hplip 支持 HP 打印机)
光驱 /dev/sr0, /dev/cdrom sr_mod, ide-cd mount, eject 支持 ISO 挂载和物理光盘读取(需加载 sr_mod
鼠标 /dev/input/mice usbhid, psmouse xinput, evtest USB/PS2 鼠标即插即用,图形界面依赖 Xorg 或 Wayland

1、SCSI/SATA/U 盘 (/dev/sd*)

/dev/sda 设备命名规则:

  • sd 表示 SCSI/SATA/U盘 类设备(包括现代 NVMe 设备,命名可能为 /dev/nvme0n1)。
  • a 表示第一块此类硬盘,第二块为 sdb,依此类推。
  • 数字后缀表示分区编号,如 sda1、sda2 等。

(1)分区类别

分区类型 名称/类型 关键特性 适用场景 限制与注意事项
主分区 Primary Partition - 最多可创建 4 个主分区
- 可直接用于引导操作系统
- 系统引导分区(如 /boot
- 根分区(/
- MBR 磁盘主分区数量限制为 4 个
扩展分区 Extended Partition - 一种特殊的主分区
- 不直接存储数据,用于容纳逻辑分区
- 需创建超过 4 个分区时 - 每个磁盘只能有一个扩展分区
逻辑分区 Logical Partition - 在扩展分区内创建
- 数量无严格限制(受磁盘容量影响)
- 数据存储分区(如 /home
- 交换分区(Swap)
- 编号从 5 开始(如 sda5
(2)文件系统分类
文件系统 名称/类型 关键特性 适用场景 限制与注意事项
ext4 Linux 默认 - 日志式文件系统
- 最大单文件 16TB,卷大小 1EB
- Linux 根分区
- 常规数据存储
- Windows 无法原生读写
xfs 高性能文件系统 - 支持超大容量(8EB)
- 高性能并行 I/O
- 大型服务器存储
- 高并发读写场景(如数据库)
- 不支持缩小分区(需备份后重建)
NTFS Windows 默认 - 支持 ACL 权限控制
- 单文件最大 256TB
- Windows/Linux 双系统共享分区
- 外接移动硬盘
- Linux 需安装 ntfs-3g 驱动
FAT32 跨平台兼容 - 广泛兼容(Windows/Mac/Linux)
- 简单轻量
- U 盘、SD 卡
- 嵌入式设备
- 单文件大小限制 4GB
- 不支持权限管理
btrfs 先进特性 - 支持写时复制(COW)
- 内置 RAID 和快照功能
- 数据备份与恢复
- 多磁盘存储池
- 长期稳定性仍在优化中
swap 交换分区 - 用于虚拟内存扩展
- 无文件系统结构
- 系统内存不足时充当临时内存 - 推荐大小为物理内存的 1~2 倍

文件系统对比

特性 ext4 xfs NTFS FAT32
最大单文件 16TB 8EB 256TB 4GB
日志功能 ✔️ ✔️ ✔️
Linux 原生支持 ✔️ ✔️ ntfs-3g ✔️
Windows 支持 需第三方工具 需第三方工具 ✔️ ✔️

操作示例:

# 创建 ext4 文件系统
sudo mkfs.ext4 /dev/sda1

# 格式化为 NTFS(需安装 ntfs-3g)
sudo dnf install ntfs-3g
sudo mkfs.ntfs -Q /dev/sda2

2、磁盘管理相关命令

(1)磁盘检测与信息查看

命令 功能说明 常用参数/示例
lsblk 列出所有块设备及其挂载点 lsblk -f
fdisk -l [设备] 查看磁盘分区表(MBR 格式) sudo fdisk -l /dev/sda
parted -l 查看磁盘分区表(支持 GPT/MBR) sudo parted -l
blkid 显示分区的 UUID 和文件系统类型 sudo blkid /dev/sda1
dmesg | grep -i disk 查看内核日志中的磁盘检测信息 dmesg | grep -i sda
hdparm -I /dev/sda 查看磁盘详细信息 sudo hdparm -I /dev/sda

(2)磁盘分区

fdisk:用来创建、修改、删除磁盘分区表信息。

  • 语法:fdisk [-l] 设备
  • 选项:
    • m:显示帮助信息
    • l:列出设备的分区表信息
    • u:以扇区为单位显示分区大小
    • n:新建分区
    • d:删除分区
    • t:修改分区类型
    • p:打印分区表
    • w:将分区表写入磁盘

(3)磁盘挂载与卸载

命令 功能说明 常用参数/示例
mount [选项] [设备] [挂载点] 挂载分区 sudo mount /dev/sda1 /mnt/data
umount [挂载点或设备] 卸载分区 sudo umount /mnt/data
findmnt 显示已挂载的文件系统 findmnt -t ext4
mount -a 挂载 /etc/fstab 所有分区 sudo mount -a

(4)磁盘性能测试

命令 功能说明 常用参数/示例
hdparm -Tt [设备] 测试磁盘速度 sudo hdparm -Tt /dev/sda
dd 原始数据读写测试 dd if=/dev/zero of=./testfile bs=1G...
fio 高级磁盘压测工具 fio --name=test --ioengine=libaio...
iostat -dx [间隔] [次数] 监控磁盘 I/O 统计 iostat -dx 2 5

(5)逻辑卷管理

命令 功能说明 示例
pvcreate [设备] 创建物理卷 sudo pvcreate /dev/sdb
vgcreate [卷组名] [物理卷] 创建卷组 sudo vgcreate vg_data /dev/sdb
lvcreate -n [逻辑卷名]... 创建逻辑卷 sudo lvcreate -n lv_data -L 100G...
lvextend -L +[大小]... 扩展逻辑卷容量 sudo lvextend -L +50G /dev/vg_data...

(6)其他工具

命令 功能说明 常用参数/示例
badblocks 检测磁盘坏道 sudo badblocks -v /dev/sda
smartctl 查看磁盘健康状态 sudo smartctl -a /dev/sda
lsusb 列出 USB 设备 lsusb -v
du -sh [目录] 统计目录空间占用 du -sh /home
df -h 显示磁盘使用情况 df -hT
mkfs.[类型] [分区] 格式化分区 sudo mkfs.ext4 /dev/sda1
fsck [选项] [分区] 检查和修复文件系统 sudo fsck -y /dev/sda1
resize2fs [分区] 调整 ext 文件系统大小 sudo resize2fs /dev/sda1 50G
xfs_growfs [挂载点] 扩展 XFS 文件系统 sudo xfs_growfs /mnt/data

四、软件安装与更新

1、挂载光盘

# 查看是否识别到光盘
# 通常光盘设备名为 /dev/sr0 或 /dev/cdrom
[root@hqs-openEuler ~]# lsblk
NAME               MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda                  8:0    0   25G  0 disk 
├─sda1               8:1    0    1M  0 part 
├─sda2               8:2    0    1G  0 part /boot
└─sda3               8:3    0   24G  0 part 
  ├─openeuler-root 253:0    0 21.5G  0 lvm  /
  └─openeuler-swap 253:1    0  2.5G  0 lvm  [SWAP]
sr0                 11:0    1    4G  0 rom  

# 创建挂载目录
[root@hqs-openEuler ~]# mkdir /mnt/cdrom

# 挂载光盘
[root@hqs-openEuler ~]# mount /dev/sr0 /mnt/cdrom
mount: /mnt/cdrom: WARNING: source write-protected, mounted read-only.

# 查看挂载信息
[root@hqs-openEuler ~]# lsblk
NAME               MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda                  8:0    0   25G  0 disk 
├─sda1               8:1    0    1M  0 part 
├─sda2               8:2    0    1G  0 part /boot
└─sda3               8:3    0   24G  0 part 
  ├─openeuler-root 253:0    0 21.5G  0 lvm  /
  └─openeuler-swap 253:1    0  2.5G  0 lvm  [SWAP]
sr0                 11:0    1    4G  0 rom  /mnt/cdrom
[root@hqs-openEuler ~]# df -h
Filesystem                  Size  Used Avail Use% Mounted on
/dev/mapper/openeuler-root   21G  1.8G   19G   9% /
devtmpfs                    4.0M     0  4.0M   0% /dev
tmpfs                       1.7G     0  1.7G   0% /dev/shm
tmpfs                       4.0M     0  4.0M   0% /sys/fs/cgroup
tmpfs                       675M  9.1M  666M   2% /run
tmpfs                       1.7G     0  1.7G   0% /tmp
/dev/sda2                   974M  174M  733M  20% /boot
/dev/sr0                    4.1G  4.1G     0 100% /mnt/cdrom

# 查看rpm包
[root@hqs-openEuler Packages]# pwd
/mnt/cdrom/Packages
[root@hqs-openEuler Packages]# ls | more
abattis-cantarell-fonts-0.303.1-3.oe2403sp1.noarch.rpm
abattis-cantarell-fonts-help-0.303.1-3.oe2403sp1.noarch.rpm
abseil-cpp-20230802.1-5.oe2403sp1.x86_64.rpm
abseil-cpp-devel-20230802.1-5.oe2403sp1.x86_64.rpm

2、rpm包管理

rpm包名称格式:name-version-release.oeXXXXspX.arch.rpm

如:httpd-2.4.58-7.oe2403sp1.x86_64.rpm

  • name: httpd,软件包名称
  • version: 2.4.58,软件包版本
  • release: 7,软件包发布版本
  • oeXXXXspX: oe2403sp1,openEuler 版本号
  • arch: x86_64,软件包架构。常见架构有 x86_64、aarch64(64位 ARM架构)、noarch(不限制架构)等。
# 安装rpm包
# 选项:-i 安装,-v 显示详细信息,-h 显示进度,-U 升级和安装软件包,-e 卸载软件包,-F升级已经安装的软件包
# --replacepkgs 重新安装软件包,--oldpackage 降级安装旧版本软件包,--replacefiles 忽略文件冲突,--nodeps 忽略依赖关系

# 安装软件包常用-ivh选项
[root@hqs-openEuler Packages]# rpm -ivh ftp-0.17-82.oe2403sp1.x86_64.rpm 
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:ftp-0.17-82.oe2403sp1            ################################# [100%]

# 查询已经安装的软件包
[root@hqs-openEuler Packages]# rpm -qa | grep ftp
ftp-0.17-82.oe2403sp1.x86_64

# 卸载软件包
[root@hqs-openEuler Packages]# rpm -e ftp-0.17-82.oe2403sp1.x86_64

# 安装httpd软件包会发现有依赖关系
# 推荐使用yum安装软件包,会自动解决依赖关系

3、yum包管理

YUM 是一款基于 RPM 包管理的高层工具,用于自动化解决软件包依赖关系,简化安装、更新和卸载流程。

安装更新卸载相关命令:

命令 说明
yum install <package> 安装指定软件包(自动解决依赖)
yum install <package1> <package2> 同时安装多个包
yum localinstall /path/to/package.rpm 安装本地 RPM 包(自动处理依赖)
yum reinstall <package> 重新安装已存在的包(修复文件丢失)
yum update 更新所有可升级的包
yum update <package> 更新指定包
yum check-update 检查可用更新(不执行安装)
yum remove <package> 卸载指定包(保留依赖)
yum autoremove 清理无用依赖包

查询搜索相关命令:

命令 说明
yum list installed 列出所有已安装的包
yum list available 列出仓库中可用的包
yum search <keyword> 按关键词搜索包
yum info <package> 查看包的详细信息
yum provides <file> 查找包含某文件的包
yum repolist all 列出所有仓库(启用/禁用)
yum-config-manager --enable <repo> 启用指定仓库
yum-config-manager --disable <repo> 禁用指定仓库
yum history 查看操作历史记录
yum history undo <ID> 撤销指定历史操作
yum history redo <ID> 重做指定历史操作
yum deplist <package> 列出包的依赖关系
yum verify <package> 验证包完整性

(1)YUM仓库配置

[OS]
name=openEuler $releasever - OS
baseurl=https://repo.openeuler.org/openEuler-$releasever/OS/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-openEuler

[everything]
name=openEuler $releasever - Everything
baseurl=https://repo.openeuler.org/openEuler-$releasever/everything/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-openEuler

配置项含义

  • [OS] / [everything](仓库ID)
    • 作用:定义仓库的唯一标识符,不可重复。
    • 示例:[OS] 表示操作系统基础包仓库,[everything] 包含所有软件包。
    • 注意:ID 中不可包含空格或特殊字符(如 /, &)。
  • name=...(仓库名称)
    • 作用:人类可读的仓库描述,支持动态变量(如 $releasever)。
    • 示例:name=openEuler 22.03 - OS(假设 $releasever=22.03)。
  • baseurl=...(仓库地址)
  • 动态变量:
    • $releasever:系统版本号(如 22.03)。
    • $basearch:系统架构(如 x86_64、aarch64)。
  • enabled=1(启用状态)
    • 作用:控制仓库是否生效。
    • enabled=1:启用仓库。
    • enabled=0:禁用仓库(保留配置但不使用)。
  • gpgcheck=1(GPG 校验)
    • 作用:验证软件包签名,防止篡改。
    • gpgcheck=1:强制校验(推荐启用)。
    • gpgcheck=0:跳过校验(仅限测试环境)。
  • gpgkey=...(GPG 公钥路径)
    • 作用:指定用于校验的公钥文件位置。
    • 若开启了GPG校验,则必须指定公钥文件路径。否则,可省略此项。
    • 本地路径:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-openEuler
    • 远程 URL:https://example.com/keys/public.key

(2)配置本地YUM仓库

若需从挂载的光盘安装软件。

[root@hqs-openEuler yum.repos.d]# mv openEuler.repo openEuler.repo.bak
[root@hqs-openEuler yum.repos.d]# vi /etc/yum.repos.d/cdrom.repo
[cdrom]
name=CD-ROM Repository
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=0

# 清空缓存生成新的缓存
[root@hqs-openEuler yum.repos.d]# yum clean all && yum makecache
50 files removed
CD-ROM Repository                                             22 MB/s | 2.9 MB     00:00    
Last metadata expiration check: 0:00:01 ago on Sat 01 Mar 2025 07:36:32 PM CST.
Metadata cache created.

# 安装httpd软件包
[root@hqs-openEuler yum.repos.d]# yum install -y  httpd
Last metadata expiration check: 0:00:42 ago on Sat 01 Mar 2025 07:36:32 PM CST.
Dependencies resolved.
=============================================================================================
 Package                       Architecture   Version                    Repository     Size
=============================================================================================
Installing:
 httpd                         x86_64         2.4.58-7.oe2403sp1         cdrom         1.3 M
Installing dependencies:
 apr                           x86_64         1.7.4-4.oe2403sp1          cdrom         110 k
 apr-util                      x86_64         1.6.3-2.oe2403sp1          cdrom         109 k
 httpd-filesystem              noarch         2.4.58-7.oe2403sp1         cdrom         5.9 k
 httpd-tools                   x86_64         2.4.58-7.oe2403sp1         cdrom          68 k
 mailcap                       noarch         2.1.54-1.oe2403sp1         cdrom          31 k
 mariadb-connector-c           x86_64         3.3.8-2.oe2403sp1          cdrom         185 k
 mod_http2                     x86_64         2.0.25-3.oe2403sp1         cdrom         129 k
 openEuler-logos-httpd         noarch         1.0-9.oe2403sp1            cdrom         6.5 k

Transaction Summary
=============================================================================================
Install  9 Packages
...

# 查看什么包包含ifconfig
[root@hqs-openEuler yum.repos.d]# yum provides ifconfig
Last metadata expiration check: 0:02:46 ago on Sat 01 Mar 2025 07:36:32 PM CST.
net-tools-2.10-4.oe2403sp1.x86_64 : Important Programs for Networking
Repo        : @System
Matched from:
Filename    : /usr/sbin/ifconfig

net-tools-2.10-4.oe2403sp1.x86_64 : Important Programs for Networking
Repo        : cdrom
Matched from:
Filename    : /usr/sbin/ifconfig

# 安装net-tools包
[root@hqs-openEuler yum.repos.d]# yum install -y net-tools

要保证本地源开机自动挂载,可以在/etc/fstab文件中添加挂载信息。

# 查看磁盘挂载信息 -T 显示文件系统类型
[root@hqs-openEuler ~]# df -Th
Filesystem                 Type      Size  Used Avail Use% Mounted on
/dev/mapper/openeuler-root ext4       21G  1.7G   19G   9% /
devtmpfs                   devtmpfs  4.0M     0  4.0M   0% /dev
tmpfs                      tmpfs     1.7G     0  1.7G   0% /dev/shm
tmpfs                      tmpfs     4.0M     0  4.0M   0% /sys/fs/cgroup
tmpfs                      tmpfs     675M  9.1M  666M   2% /run
tmpfs                      tmpfs     1.7G     0  1.7G   0% /tmp
/dev/sda2                  ext4      974M  174M  733M  20% /boot
/dev/sr0                   iso9660   4.1G  4.1G     0 100% /mnt/cdrom

# 编辑/etc/fstab文件
[root@hqs-openEuler ~]# echo "/dev/sr0 /mnt/cdrom iso9660 defaults 0 0" >> /etc/fstab
[root@hqs-openEuler ~]# cat /etc/fstab 
/dev/mapper/openeuler-root /                       ext4    defaults        1 1
UUID=fa32ca33-e025-481c-a2ef-c0fee2d87182 /boot                   ext4    defaults        1 2
/dev/mapper/openeuler-swap none                    swap    defaults        0 0
/dev/sr0 /mnt/cdrom iso9660 defaults 0 0

(3)yum group安装软件包组

yum group 命令的详细介绍,用于管理软件包组(Package Groups)的操作,适用于 openEuler、CentOS、Fedora 等基于 RPM 的 Linux 发行版。

软件包组(Package Group)是一组逻辑上相关的软件包的集合(例如开发工具、图形界面环境、服务器组件等)。通过软件包组,用户可以一次性安装多个软件包,简化软件安装流程。

  • 用途:简化批量安装或卸载操作,避免逐个安装依赖包
  • 常见软件包组:Development Tools、Graphical Administration Tools、System Administration Tools、GNOME Desktop Environment 等
# 列出所有软件包组
[root@hqs-openEuler ~]# yum group list
# 输出分类:
# Available Groups(仓库中可用但未安装的组);
# Installed Groups(已安装的组);
# Hidden Groups(隐藏组,通常为系统保留)

# 安装软件包组
# 组名若包含空格或特殊字符,需使用引号包裹
[root@hqs-openEuler ~]# yum group install "Development Tools"    # 安装开发工具组
[root@hqs-openEuler ~]# yum group install "GNOME Desktop"    # 安装 GNOME 桌面环境

# 卸载软件包组
[root@hqs-openEuler ~]# yum group remove "Development Tools"

# 更新组内所有已安装包到最新版本
[root@hqs-openEuler ~]# yum group update "Development Tools"

# 查看软件包组详细信息
[root@hqs-openEuler ~]# yum group info "Development Tools"

五、网络配置

在较新的 Linux 系统(如 CentOS 7+、Ubuntu 18.04+、openEuler 等)中,网卡名称不再使用传统的 eth0、eth1,而是基于以下规则生成更持久的名称:

  • 预测性命名(Predictable Network Interface Names):通过固件信息、设备拓扑或物理位置生成名称,避免因硬件变动(如网卡更换)导致接口名变化。

ens33 名称结构解析:

  • en:表示 以太网(Ethernet) 类型的接口。

  • s33:表示该接口的 物理位置标识,具体含义如下:

    • s:通常代表 插槽(Slot) 或 热插拔索引(Hotplug slot index)。
    • 33:具体的插槽编号或索引号(由固件或内核分配)。

    在 Predictable Network Interface Names(预测性命名规则)中,前缀用于标识设备的物理位置或连接方式:

前缀 含义 示例 说明
o 板载设备(Onboard) eno1 主板上集成的网卡(如第一个板载网卡)
p PCI 总线位置 enp0s3 基于 PCI 总线插槽位置的网卡(总线编号 0,插槽 3)
s 热插拔插槽索引 ens33 虚拟机或热插拔设备常见
w 无线设备 wlp3s0 无线网卡(PCI 总线 3,插槽 0)

1、ifconfig命令

ifconfig 命令用于配置和显示网络接口的状态信息,包括 IP 地址、MAC 地址、子网掩码、广播地址等。

  • 所属工具包:net-tools 已逐步被 ip 命令替代,但部分旧系统仍在使用)

使用方法:

# 查看所有网络接口信息
[root@hqs-openEuler ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.88.128  netmask 255.255.255.0  broadcast 192.168.88.255
        inet6 fe80::20c:29ff:fe95:b35f  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:95:b3:5f  txqueuelen 1000  (Ethernet)
        RX packets 927  bytes 81894 (79.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 812  bytes 61785 (60.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

# 查看指定网络接口信息
[root@hqs-openEuler ~]# ifconfig ens33

# 启动/停止网络接口
[root@hqs-openEuler ~]# ifconfig ens33 up    # 启动网络接口
[root@hqs-openEuler ~]# ifconfig ens33 down  # 停止网络接口

# 配置 IP 地址
[root@hqs-openEuler ~]# ifconfig ens33 192.168.1.100 netmask 255.255.255.0

# 修改 MAC 地址(临时)
[root@hqs-openEuler ~]# ifconfig ens33 hw ether 00:11:22:33:44:55

字段解析:

字段 说明
flags 接口状态(如 UP 表示已启用)
inet IPv4 地址
inet6 IPv6 地址
netmask 子网掩码
broadcast 广播地址
ether MAC 地址
RX/TX packets 收/发数据包统计
mtu 最大传输单元(默认 1500)

2、ip命令

posted @   休耕  阅读(64)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示