目录和文件管理 OpenEuler 24.03
目录和文件管理
2.1 OpenEuler 24.03 目录结构
基础概念:Linux 与 Windows 的对比
Linux 与 Windows 的文件系统组织方式存在本质区别:Linux 采用单一树形目录结构,所有分区、文件、目录均以根目录(/)为唯一起点,根目录所在的分区称为根分区;而 Windows 为每个磁盘分区设置独立的根目录(如 C:\、D:\)。
在文件路径定位上,Linux 使用斜杠(/)作为目录分隔符,Windows 使用反斜杠(\),这是使用时的核心区分点。
|
对比项 |
Linux |
Windows |
|
目录组织 |
单一树形结构,根目录 / 为唯一起点 |
每个磁盘分区独立根目录(C:\、D:\) |
|
路径分隔符 |
斜杠 / |
反斜杠 \ |
|
根分区 |
根目录所在分区称根分区 |
—— |
OpenEuler 24.03 根目录下的子目录严格遵循 Linux 文件系统层次化标准(FHS),每个子目录承担固定系统功能,并适配 OpenEuler 的系统架构与服务特性。
2.1.1 核心系统目录及功能详解
根目录下的核心子目录各有明确用途,掌握其功能能快速定位系统文件、配置文件和用户数据。OpenEuler 24.03 最常用的核心目录如下:
|
目录路径 |
英文全称/释义 |
核心功能 |
实用场景 |
|
/boot |
Boot |
存放系统内核、启动配置文件、启动加载器(grub2)等启动必需文件 |
启动故障排查;安装时建议独立分区(约 1GB) |
|
/bin |
Binary |
所有用户均可执行的常用基础命令:ls、cp、mv、cat 等 |
日常基础操作命令;已加入环境变量,任意目录可直接执行 |
|
/dev |
Device |
存放设备文件,所有硬件(硬盘、光驱、网卡)均以文件形式体现 |
/dev/cdrom(光驱)、/dev/vda(云环境第一块虚拟硬盘)、/dev/tty1(第一虚拟终端) |
|
/etc |
Etcetera |
存放系统核心配置文件(用户账号、服务启动、网络、软件配置) |
/etc/passwd(用户账号)、/etc/NetworkManager(网络)、/etc/dnf/dnf.conf(dnf 源配置) |
|
/home |
Home |
普通用户的宿主目录(家目录),用户有完全操作权限 |
用户 teacher 对应 /home/teacher;大量用户时建议独立分区便于备份隔离 |
|
/root |
Root |
管理员(root)的宿主目录 |
直接在根目录下(不在 /home),存放管理员个人数据和系统管理配置 |
|
/sbin |
Super user Binary |
系统管理专用命令,仅管理员可执行:fdisk(磁盘分区)、ip(网络配置)、reboot(重启) |
系统维护、管理、故障排查;普通用户需 sudo 提权 |
|
/usr |
Unix System Resources |
系统中最大目录之一,存放应用程序和资源文件 |
含 /usr/bin(用户应用命令)、/usr/lib(程序库)、/usr/share(共享资源);/usr/local 为手动安装软件默认路径 |
|
/var |
Variable |
存放大小动态变化的“可变文件” |
/var/log(日志)、/var/spool(打印缓存)、/var/lib/docker(容器数据);日常排查系统/容器问题的重要目录 |
2.1.2 目录结构的设计逻辑
OpenEuler 24.03 的目录结构在遵循 Linux 通用的功能分类、权限隔离设计原则基础上,结合自身云原生、国产化适配特性做了优化,核心原则如下:
1. 功能分类:将启动、配置、设备、应用、用户数据、容器资源等功能拆分至不同目录,便于快速定位和管理。例:所有配置文件集中在 /etc,所有日志集中在 /var/log,容器数据在 /var/lib/docker
2. 权限隔离:通过目录权限区分普通用户和管理员操作范围。例:/bin(所有用户可执行)、/sbin(仅管理员)、/home(普通用户隔离)
3. 云原生适配:目录结构兼顾物理机、虚拟机、云主机使用场景,对设备识别、资源存储目录做兼容性设计
2.2 查看及检索文件内容
OpenEuler 24.03 中绝大多数系统配置文件、日志文件、服务配置均为纯文本格式,掌握文件内容的查看、检索与统计方法,是获取系统信息、排查配置故障、分析运行日志的核心技能。
学习主线:基础查看 → 高级检索 → 内容统计
2.2.1 基础文件查看命令
基础查看命令主要实现“文件内容的直接展示”,核心区别在于展示方式和适用文件大小,需根据文件长度选择合适的命令。
1. cat 命令:快速查看小文件完整内容
命令作用:原本用于连接多个文件内容,最常用作快速查看小文件的完整内容,适合内容在一屏内可显示的文件。
基本格式:cat [文件路径1] [文件路径2] ...
核心特点:直接输出全部内容、无分页、速度快;可同时查看多个文件依次输出。
适用场景:内容较短(一屏可显示)需快速查看完整内容;需合并查看多个小文件。
局限性:文件过长会直接刷屏,仅能看到最后一部分内容。
2. more / less 命令:分页查看大文件内容
命令作用:针对内容超过一屏的大文件,采用全屏分页方式逐行/逐屏阅读,是查看大文件的核心工具。
more:基础分页命令,功能简单(新版已与 less 功能一致);less:增强版,支持上下翻页、关键词检索,是实际使用中的首选。
基本格式:more [文件路径] / less [文件路径]
通用快捷键:
|
快捷键 |
功能 |
|
Enter |
向下逐行滚动 |
|
Space |
向下翻一整屏 |
|
/文本 |
在文件中检索指定关键词,高亮显示匹配结果 |
|
q |
退出分页界面,返回命令行 |
less 专属快捷键:b 键向上翻一整屏(more 无此功能)。
适用场景:文件内容过长(日志、配置文件)需逐屏/逐行阅读;命令输出较多需分页查看。
使用建议:优先使用 less,功能更全面,支持上下翻页,满足大部分分页查看需求。
3. head / tail 命令:查看文件指定行内容
命令作用:一对功能相反的命令,查看文件开头或末尾的指定行数内容,默认各显示前后 10 行,可通过选项自定义行数。
基本格式:head [-n 行数] 文件路径(-n 可省略,如 head -5 文件名);tail [-n 行数] 文件路径 / tail -f 文件路径(-f 为核心选项,实时跟踪文件末尾)
适用场景:head 查看文件头部信息(配置开头注释、文件格式);tail 查看最新尾部信息,-f 专用于实时监控系统/服务日志。
2.2.2 高级内容检索与统计
仅查看文件内容不足以满足系统管理需求,实际中常需检索文件中的关键词、统计文件的行数/单词数/字节数。Linux 提供 grep(检索)和 wc(统计)命令,两者可单独使用,也可结合管道符实现复杂操作。
1. grep 命令:精准检索文件中的关键词
命令作用:Linux 中最强大的文本检索工具,支持精准匹配、模糊匹配、正则表达式匹配,可过滤无效信息、快速定位关键内容。
基本格式:grep [选项] "查找条件" 目标文件
核心选项(可组合使用,如 grep -iv):
|
选项 |
英文释义 |
功能 |
|
-i |
Ignore Case |
检索时忽略大小写,可匹配 OpenEuler、OPENEULER、openeuler 等 |
|
-v |
Invert |
反转检索,显示不包含条件的行,用于过滤无效信息(注释、空行) |
|
-w |
Word |
精准匹配单词,仅匹配完整单词(如 -w "ftp" 不匹配 ftpd、ftpuser) |
查找条件进阶(支持简单正则表达式):
^关键词:匹配以关键词开头的行(^ 表示行首)
关键词$:匹配以关键词结尾的行($ 表示行尾)
^$:匹配空行
^#:匹配以 # 开头的行(Linux 中 # 为注释符号,用于过滤注释行)
2. wc 命令:统计文件内容的核心信息
命令作用:统计文件内容的行数、单词数、字节数,可单独统计单个文件,也可结合管道符统计命令输出结果,是量化分析文件内容的工具。
基本格式:wc [选项] 文件路径(无选项时默认统计“行数 单词数 字节数”)
|
选项 |
英文释义 |
功能 |
|
-l |
Lines |
仅统计行数(最常用) |
|
-w |
Words |
仅统计单词数(以空格/制表位为分隔符) |
|
-c |
Bytes |
仅统计字节数(包含所有字符,含空格、换行符) |
2.3 备份与恢复文档
在 OpenEuler 24.03 系统管理中,文件备份与恢复是保障数据安全的核心操作,尤其是系统配置文件、用户数据、日志文件、容器配置等关键数据,一旦丢失或损坏会导致系统或服务故障。
简单的文件备份可使用 cp(复制)命令;但当需要备份大量文件/目录时,cp 效率低、占用空间大,实际采用“归档(打包)+ 压缩”的组合方式:
1. 归档(打包):将多个文件/目录合并为一个单独的归档文件,便于管理和传输。
2. 压缩:对归档文件进行压缩,大幅降低文件体积,节省磁盘空间。
OpenEuler 24.03 原生支持 tar(归档工具)和 gzip、bzip2(压缩工具)。其中 tar 可直接调用 gzip/bzip2,实现“归档+压缩”一步完成,也可实现“解压+恢复”一步完成,是备份与恢复的核心工具。
2.3.1 常用压缩/解压缩工具:gzip & bzip2
gzip 和 bzip2 是最常用的轻量级压缩工具,仅针对单个文件进行压缩(无法直接压缩目录),两者使用方法基本一致,核心区别在于压缩算法和压缩比:
|
对比项 |
gzip |
bzip2 |
|
压缩算法 |
DEFLATE |
Burrows-Wheeler |
|
压缩速度 |
快 |
稍慢 |
|
压缩比 |
中等 |
更高(体积更小) |
|
文件后缀 |
.gz |
.bz2 |
两者均为“原文件替换式”压缩:压缩后生成压缩文件、删除原文件;解压缩后恢复原文件、删除压缩文件。两者仅能压缩单个文件,压缩目录需配合 tar。
1. gzip / gunzip:快速压缩/解压缩
# 压缩(-9 为最高压缩比,默认 6,数值 1-9 越大压缩比越高、速度越慢)
gzip [-9] 文件名
# 解压缩(两者功能完全一致)
gzip -d 压缩文件名.gz
gunzip 压缩文件名.gz
2. bzip2 / bunzip2:高压缩比压缩/解压缩
基本格式与 gzip 完全一致,仅命令名和后缀不同。
# 压缩(-9 为最高压缩比)
bzip2 [-9] 文件名
# 解压缩
bzip2 -d 压缩文件名.bz2
bunzip2 压缩文件名.bz2
同文件 bzip2 -9 压缩后仅 31KB(gzip 为 42KB),压缩比更高。
2.3.2 归档与恢复核心工具:tar
tar 是 Linux 中最强大的归档工具,在 OpenEuler 24.03 中深度适配。它可将多个文件/目录合并为一个 .tar 归档文件,同时支持直接调用 gzip/bzip2 压缩,生成 .tar.gz 或 .tar.bz2 格式的归档压缩文件,实现“归档+压缩”一步完成;反之也可实现“解压+恢复”一步完成。
tar 命令的选项可省略前导符“-”(如 tar zcvf 与 tar -zcvf 功能一致),实际使用中常省略以简化输入。
1. tar 命令核心选项
|
选项类型 |
选项 |
功能 |
说明 |
|
功能选项(必选,三选一) |
-c |
Create |
创建新的 tar 归档文件,用于备份(打包) |
|
功能选项(必选,三选一) |
-x |
Extract |
解开 tar 归档文件,用于恢复(解压) |
|
功能选项(必选,三选一) |
-t |
List |
查看 tar 归档文件中的内容,不解压 |
|
辅助选项(可选,按需组合) |
-f |
File |
指定归档文件的名称,必须放在所有选项的最后 |
|
辅助选项(可选,按需组合) |
-z |
Gzip |
调用 gzip 进行压缩/解压缩,对应 .tar.gz |
|
辅助选项(可选,按需组合) |
-j |
Bzip2 |
调用 bzip2 进行压缩/解压缩,对应 .tar.bz2 |
|
辅助选项(可选,按需组合) |
-v |
Verbose |
显示操作的详细过程,便于查看进度 |
|
辅助选项(可选,按需组合) |
-C |
Directory |
解压时指定文件的释放目录(仅用于 -x) |
|
辅助选项(可选,按需组合) |
-p |
Permission |
打包时保留文件/目录的原始权限(备份系统配置时重要) |
2. 制作归档压缩包(备份)
核心逻辑:根据压缩方式选择 -z(tar.gz)或 -j(tar.bz2),配合 -c(创建)、-v(详细)、-f(指定包名),格式为选项在前、包名在后,最后跟需要备份的文件/目录。
# tar.gz 格式
tar zcvf 归档压缩包名.tar.gz 要备份的文件/目录1 要备份的文件/目录2 ...
# tar.bz2 格式
tar jcvf 归档压缩包名.tar.bz2 要备份的文件/目录1 要备份的文件/目录2 ...
3. 从归档压缩包恢复数据(解压)
核心逻辑:根据压缩包格式选择 -z(tar.gz)或 -j(tar.bz2),配合 -x(解压)、-f(指定包名);若需指定解压目录,添加 -C 目标目录(-C 后必须跟已存在的目录路径)。
# 解压到当前目录
tar zxvf 归档压缩包名.tar.gz
tar jxvf 归档压缩包名.tar.bz2
# 解压到指定目录
tar zxvf 归档压缩包名.tar.gz -C 目标目录
tar jxvf 归档压缩包名.tar.bz2 -C 目标目录
实战技巧:
1. 备份系统文件时,建议先切换目录、使用相对路径,避免绝对路径解压时覆盖根目录的关键文件。
2. 备份系统配置文件时,添加 -p 选项保留文件权限,如 tar zcvpf sysfile.tar.gz etc boot,确保恢复后权限与原始一致,避免服务因权限问题无法启动。
3. 解压前可先用 tar tzf(tar.gz)或 tar tjf(tar.bz2)查看备份包内容,确认无误后再解压。
4. 备份容器相关数据时,需先停止容器服务,再备份 /var/lib/docker 目录,避免数据损坏。
2.3.3 备份与恢复的核心原则
1. 定期备份:核心目录(/etc、/boot)、用户数据(/home)、日志(/var/log)、容器数据(/var/lib/docker)需定期备份,避免数据丢失。
2. 异地备份:将备份包复制到其他服务器、国产化存储设备、云存储等异地介质,防止本地磁盘损坏导致备份包丢失。
3. 验证备份:备份完成后通过 tar tzf/tjf 查看备份包内容,或解压测试,确保备份包完整、可恢复。
4. 保留权限:备份系统配置和服务目录时添加 -p 选项保留原始权限,避免恢复后因权限问题导致服务无法运行。
5. 云原生适配:备份云主机时结合云平台的快照功能,与 tar 备份配合使用,提升数据安全性。
2.4 使用 vi 文本编辑器
OpenEuler 24.03 中所有系统配置文件、服务配置、脚本文件均为纯文本格式,编辑配置文件是系统管理的核心操作。vi 是字符终端下的默认全屏幕文本编辑器,其增强版本 vim(Vi IMproved)增加了语法高亮、代码补全、行号显示等实用功能,OpenEuler 24.03 默认预装 vim,习惯上统称两者为 vi 编辑器。
vi 编辑器的核心特点是无鼠标操作、无菜单系统,通过按键命令实现所有编辑功能;其核心难点在于三种工作模式的切换,掌握模式切换后,编辑配置文件的效率远高于图形化编辑器。
2.4.1 vi 编辑器的安装与别名设置
# 1. 若未预装 vim,通过 dnf 安装(OpenEuler 24.03 默认预装,此步骤可选)
[root@localhost ~]# dnf install -y vim
# 2. 设置别名,将 vi 指向 vim(临时生效,重启终端后失效)
[root@localhost ~]# alias vi='/usr/bin/vim'
# 3. 验证别名设置
[root@localhost ~]# which -a vi vim
alias vi='/usr/bin/vim'
/usr/bin/vim
永久生效:将 alias vi='/usr/bin/vim' 添加到 /root/.bashrc(root 用户)或 /home/用户名/.bashrc(普通用户),执行 source .bashrc 即可永久生效。
2.4.2 vi 编辑器的三种工作模式及切换
vi 编辑器的核心是三种工作模式,不同模式对应不同的操作功能。模式切换是 vi 的基础,所有操作均需在对应模式下完成,OpenEuler 中使用的模式切换规则与 Linux 通用规则完全一致。
|
工作模式 |
启动方式 |
核心功能 |
状态提示 |
|
命令模式(Command Mode) |
启动 vi 后默认进入;输入模式/末行模式按 Esc 键返回 |
光标移动、字符删除、行删除/复制/粘贴、关键词查找、模式切换等基础编辑操作 |
无任何提示,屏幕底部为空白 |
|
输入模式(Insert Mode) |
命令模式下按 a/i/o/A/I/O 等键进入 |
唯一可录入/修改文本内容的模式,实现文件编辑 |
屏幕底部显示 -- INSERT -- |
|
末行模式(Last Line Mode) |
命令模式下按冒号(:)进入 |
保存文件、退出编辑器、查找替换、行号显示、打开新文件等高级操作 |
屏幕底部显示冒号(:)提示符 |
模式切换核心原则:所有模式均可通过 Esc 键返回命令模式,再从命令模式切换到其他模式,避免直接在输入模式和末行模式间切换(易出错)。
快速记忆:
想编辑文字:命令模式 → 按 i/a/o → 输入模式
想保存/退出/替换:命令模式 → 按 : → 末行模式
想切换模式/取消操作:任意模式 → 按 Esc → 命令模式
2.4.3 命令模式:基础编辑操作
命令模式是 vi 的核心模式,所有模式切换均以命令模式为中转,同时包含最常用的基础编辑操作(光标移动、删除、复制、粘贴、查找等)。
1. 进入输入模式的 6 种常用按键(核心)
|
按键 |
插入位置 |
适用场景 |
|
i |
光标当前位置之前 |
光标在需编辑位置直接插入内容(最常用) |
|
a |
光标当前位置之后 |
光标在字符末尾,需要后面追加内容 |
|
o |
光标所在行下方新建一行 |
在当前行下方插入新行(如添加服务新配置) |
|
I |
光标所在行行首 |
需要在行首插入内容(如添加注释) |
|
A |
光标所在行行尾 |
需要在行尾追加内容(如添加参数) |
|
O |
光标所在行上方新建一行 |
在当前行上方插入新行(如配置前添加说明) |
2. 光标移动操作
命令模式下的光标移动无需方向键,可通过字母键实现(更高效),同时支持翻页、行间快速跳转,在编辑大配置文件(如 /etc/profile)时尤为实用:
|
操作方式 |
功能 |
快速记忆 |
|
↑/↓/←/→ 方向键 |
光标上下左右移动一格 |
简单直观,适合新手 |
|
h / j / k / l 字母键 |
光标左/下/上/右移动一格 |
替代方向键,适合熟练用户 |
|
Page Down / Ctrl+F |
向下翻一整屏 |
大文件快速翻页 |
|
Page Up / Ctrl+B |
向上翻一整屏 |
大文件快速回翻 |
|
Home / ^ / 0 |
光标跳转到本行行首 |
0(数字零)最常用 |
|
End / $ |
光标跳转到本行行尾 |
$ 最常用 |
|
gg / 1G |
光标跳转到文件第 1 行 |
快速回到文件开头 |
|
G |
光标跳转到文件最后一行 |
快速跳到文件末尾(查看日志常用) |
|
#G(#为数字) |
光标跳转到文件第 # 行 |
精准跳转指定行(如 5G 到第 5 行) |
实用技巧:跳转到指定行前,可先在末行模式执行 :set nu 显示行号,执行 :set nonu 取消行号,便于精准定位。
3. 删除、复制、粘贴操作(核心编辑)
这是 vi 编辑器最常用的核心编辑操作,命令模式下一键完成,支持单个字符、单行、多行操作,在编辑系统配置文件时频繁使用。
(1)删除操作:
|
按键 |
功能 |
实战案例 |
|
x / Delete |
删除光标所在位置的单个字符 |
删除错误字符 |
|
dd |
删除光标所在的整行 |
快速删除无效整行配置(最常用) |
|
#dd(#为数字) |
删除从光标行开始的 # 行内容 |
5dd 删除光标行及以下 5 行 |
|
d^ |
删除光标之前到行首的所有字符 |
删除行首至光标前的注释符号 |
|
d$ |
删除光标所在位置到行尾的所有字符 |
删除光标后至行尾的无效参数 |
(2)复制操作:
|
按键 |
功能 |
实战案例 |
|
yy |
复制光标所在的整行到剪贴板 |
快速复制有效整行配置(最常用) |
|
#yy(#为数字) |
复制从光标行开始的 # 行内容到剪贴板 |
3yy 复制光标行及以下 3 行核心配置 |
(3)粘贴操作:vi 中前一次删除/复制的内容会自动保存到剪贴板缓冲区,无需手动复制,直接粘贴即可。
|
按键 |
功能 |
适用场景 |
|
p |
将剪贴板内容粘贴到光标位置之后 / 光标行下方 |
复制单行/多行后,在目标位置后/下粘贴配置 |
|
P |
将剪贴板内容粘贴到光标位置之前 / 光标行上方 |
复制单行/多行后,在目标位置前/上粘贴配置 |
4. 关键词查找与撤销操作
(1)关键词查找:快速检索文件中的指定关键词,高亮显示匹配结果,适合在大配置文件/日志文件中定位内容。
|
按键 |
功能 |
后续操作 |
|
/关键词 |
从光标位置向后查找指定关键词 |
按 n 跳转到下一个匹配,按 N 跳转到上一个匹配 |
|
?关键词 |
从光标位置向前查找指定关键词 |
按 n 跳转到上一个匹配,按 N 跳转到下一个匹配 |
(2)撤销操作:对失误的编辑操作进行撤销,恢复文件原始内容,是避免误修改系统配置文件的核心功能。
|
按键 |
功能 |
适用场景 |
|
u |
撤销最近一次的编辑操作,可多次按 u 撤销多步 |
误删除、误修改后快速撤销(最常用) |
|
U |
撤销对当前行所做的所有编辑操作 |
某一行多次修改后,一键恢复该行原始内容 |
|
Ctrl+R |
反撤销,恢复被 u 撤销的操作 |
撤销后发现操作正确,需要恢复原有配置 |
5. 快速保存并退出
命令模式下按 ZZ(大写 Z,连续按两次),可快速保存文件并退出 vi 编辑器,这是最便捷的保存退出方式,无需进入末行模式。
2.4.4 末行模式:高级操作
末行模式主要实现文件的管理操作(保存、退出、打开新文件)和高级编辑操作(查找替换、读入其他文件内容),所有操作均以冒号(:)开头,按 Enter 键执行。
1. 保存文件与退出编辑器(核心)
|
末行命令 |
功能 |
适用场景 |
|
:w |
保存当前文件的修改,不退出编辑器 |
编辑过程中定期保存,防止意外退出丢失内容 |
|
:w 新文件名 |
将当前文件另存为新文件,不退出编辑器 |
保留原始配置文件,修改内容另存便于对比 |
|
:q |
退出 vi 编辑器 |
文件未做任何修改,直接退出 |
|
:q! |
强行退出,不保存任何修改 |
编辑出错,放弃所有修改恢复原始状态(最常用) |
|
:wq |
保存文件的所有修改,然后退出编辑器 |
编辑完成,保存并退出(与 ZZ 功能一致) |
|
:x |
保存修改并退出编辑器 |
与 :wq 区别:文件未修改时 :x 不更新修改时间,:wq 会更新 |
2. 打开新文件与读入其他文件内容
(1)打开新文件:末行命令 :e 新文件路径(e 为 Edit 的缩写),在当前 vi 编辑器中直接打开其他文件,无需退出重新启动。
# 末行模式下执行 :e ~/anaconda-ks.cfg,打开 root 家目录下的安装配置文件
:e ~/anaconda-ks.cfg
(2)读入其他文件内容:末行命令 :r 其他文件路径(r 为 Read 的缩写),将其他文件的完整内容复制到当前文件的光标位置,实现文件内容合并。
# 将 /etc/filesystems 文件内容读入当前文件
:r /etc/filesystems
3. 批量查找替换(高效编辑)
末行模式的查找替换功能是 vi 的高级特性,支持指定范围的批量替换,可快速修改配置文件中重复的内容,是修改批量配置的核心技巧。
基本格式::[替换范围] s/旧内容/新内容/[g]
参数解析:
替换范围(可选,默认仅当前行):% 表示替换整个文件(最常用);n,m 表示替换第 n 行到第 m 行(如 5,15)
s:Substitute 缩写,表示替换操作,不可省略
旧内容/新内容:需要替换的原始内容和目标内容,中间用斜杠(/)分隔
g:Global 缩写(可选),替换范围内每行的所有匹配结果;省略 g 时仅替换每行的第一个匹配结果
核心技巧:斜杠(/)可替换为任意非字母数字的字符(如 #、@),当旧内容/新内容中包含斜杠时(如文件路径)可避免冲突,如 :s#/old/path#/new/path#g。
2.4.5 vi 编辑器的实用技巧(适配 OpenEuler)
1. 编辑前备份:编辑系统配置文件前先执行 cp 配置文件 配置文件.bak 创建备份,如 cp /etc/dnf/dnf.conf /etc/dnf/dnf.conf.bak,编辑错误可通过备份快速恢复。
2. 显示行号:编辑大配置文件(如 /etc/sysctl.conf)时执行 :set nu 显示行号,编辑完成后 :set nonu 取消。
3. 语法高亮:OpenEuler 的 vim 默认支持语法高亮,不同类型的文件(配置文件、shell 脚本、Python 脚本)用不同颜色显示关键字。
4. 批量缩进:命令模式按 v 进入可视模式,用方向键选中多行,按 > 向右缩进、按 < 向左缩进,适合编辑 shell 脚本/配置文件时调整格式。
5. 快速定位错误:编辑配置文件后若服务启动失败,可结合 grep 在日志中查找错误关键词,再用 vi 跳转到指定行修改配置,如 grep "error" /var/log/messages | head -5。
6. 兼容国产化终端:在国产化终端中使用 vi 时若方向键失效,可使用 h/j/k/l 字母键替代,避免编辑操作受阻。
本章总结
1. 目录结构:OpenEuler 24.03 采用单一树形结构,根目录(/)为唯一起点,核心目录(/etc、/boot、/home、/var 等)各有固定功能,遵循 FHS 标准并适配云原生、国产化场景。
2. 文件查看:小文件用 cat,大文件用 less,指定行用 head/tail,tail -f 实时监控系统/服务日志,是查看文件的核心组合。
3. 文件检索与统计:grep 精准检索关键词(-v 过滤无效信息、正则表达式进阶),wc 统计行数/单词数(wc -l),两者结合管道符实现复杂分析。
4. 备份恢复:tar 是备份恢复的核心工具,结合 -z(tar.gz)/-j(tar.bz2)实现“归档+压缩”一步完成,-C 指定解压目录、-p 保留文件权限;定期异地备份是数据安全的关键。
5. vi 编辑器:掌握三种模式的切换(Esc 返回命令模式是核心),命令模式实现基础编辑(光标移动、删除、复制、粘贴),末行模式实现高级操作(保存、退出、批量替换),ZZ 快速保存退出。
命令速查表
|
场景 |
命令 |
|
查看小文件 |
cat 文件 |
|
分页查看大文件 |
less 文件 |
|
查看开头 N 行 |
head -N 文件 |
|
查看末尾 N 行 |
tail -N 文件 |
|
实时监控日志 |
tail -f 日志文件 |
|
检索关键词 |
grep [选项] "条件" 文件 |
|
统计行数/词数/字节 |
wc [-l] [-w] [-c] 文件 |
|
gzip 压缩/解压 |
gzip [-9] 文件 / gunzip 文件.gz |
|
bzip2 压缩/解压 |
bzip2 [-9] 文件 / bunzip2 文件.bz2 |
|
tar 打包压缩 |
tar zcvf 包.tar.gz 目录... |
|
tar 解压恢复 |
tar zxvf 包.tar.gz [-C 目录] |
|
查看 tar 包内容 |
tar tzf 包.tar.gz |
|
vi 保存退出 |
命令模式 ZZ 或末行 :wq |
|
vi 强行退出 |
末行 :q! |
|
vi 批量替换 |
:% s/旧/新/g |
|
vi 显示行号 |
末行 :set nu |
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐
所有评论(0)