openEuler操作系统
一、OpenEuler简介
OpenEuler 是一款由华为发起、社区驱动的开源 Linux 操作系统,专注于企业级应用场景(如服务器、云计算、边缘计算等)。其前身是华为的 EulerOS,2019 年正式开源并捐赠给开放原子开源基金会,旨在构建一个中立、开放的生态系统。
1、下载openEuler
通常有两个版本:
- 创新版:通常每半年发布一次,提供最新的软件包,适合开发者和技术爱好者使用。
- LTS**openEuler 稳定版:通常每两年发布一次,提供稳定的软件包,适合企业、开发者、技术爱好者使用。
下载地址:https://openeuler.org/zh/download.html
选择社区版——》稳定版——》x86_64架构——》服务器场景——》Standard版本下载。
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 |
移动光标、复制/粘贴、删除文本、切换其他模式 | 进入其他模式时自动退出 |
插入模式 | 按 i 、a 、o 等键 |
直接编辑文本内容(类似常规文本编辑器) | 按 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 |
替换当前行第一个匹配的 old 为 new |
:s/old/new/g |
替换当前行所有匹配的 old 为 new |
:%s/old/new/g |
替换全文所有匹配的 old 为 new |
: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
| 全局替换所有 old
为 new
(需在末行模式执行) |
| 组合操作 | 数字 + 命令
| 重复执行命令(如 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
删除当前行) |
| 退出插入模式 | Esc
或 Ctrl + [
| 返回普通模式 |
三、openEuler常见硬件设备
设备类型 | 设备节点示例 | 内核驱动模块 | 管理工具/命令 | 支持说明 |
---|---|---|---|---|
IDE 硬盘 | /dev/hda , /dev/hdb |
ata_piix 、pata_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=...
(仓库地址)- 作用:指定软件包的实际下载路径,支持以下形式:
- HTTP/HTTPS:https://mirror.example.com/path/
- 本地路径:file:///mnt/cdrom/
- FTP:ftp://example.com/path/
- 动态变量:
$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) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)