linux的目录和文件管理
·
2.1 OpenEuler 24.03 目录结构
2.1.1 Linux 与 Windows 文件系统区别
- Linux(OpenEuler):单一树形结构,全部文件以根目录
/作为起点;路径分隔符为正斜杠/。 - Windows:每个磁盘分区独立根目录(C:\ D:\);路径分隔符反斜杠
\。
OpenEuler 根目录子目录遵循 FHS 文件系统层次标准,每个目录功能固定。
核心系统目录功能
表格
| 目录 | 作用说明 |
|---|---|
/bin |
普通用户可执行基础命令(cp、cat 等),环境变量默认包含,任意目录可执行 |
/dev |
硬件设备文件目录,访问硬件通过该目录,例:/dev/cdrom光驱 |
/etc |
系统所有配置文件目录;例 dnf 源配置 /etc/dnf/dnf.conf |
/home |
普通用户家目录,用户 teacher 对应/home/teacher;多用户服务器建议独立分区 |
/root |
超级管理员 root 的家目录,位于根目录下,区别普通用户 |
/usr |
存放系统应用程序、库资源;包含/usr/lib库文件、/usr/share共享资源 |
/var |
存放动态变化文件:日志/var/log、容器数据/var/lib/docker |
2.1.2 目录结构设计逻辑
- 功能分类:配置放 /etc、日志放 /var/log、容器数据放 /var/lib/docker,便于定位维护。
- 权限隔离:区分普通用户、管理员执行目录;
/bin全部用户可用,/sbin仅管理员。 - 云原生适配:兼容物理机、虚拟机、云主机环境。
2.2 查看及检索文件内容
OpenEuler 系统配置、日志都是纯文本文件,掌握查看检索是排错基础。
2.2.1 基础文件查看命令
1. cat
- 作用:查看小文件完整内容,也可以同时查看多个文件。
- 格式:
cat 文件1 文件2 - 示例:
cat /etc/sysconfig/network-scripts/ifcfg-ens33
cat /etc/openEuler-release /proc/version
- ✅适用:文件一屏可显示;合并多个小文件。
- ❌局限:大文件直接刷屏,看不到前面内容。
2. more /less(分页查看大文件)
more基础分页;less增强版,推荐优先用 less。- 格式:
less 文件名;也可以配合管道ls -lh /etc/*.conf | less - 快捷键
表格
按键 功能 Enter 逐行向下滚动 Space 向下翻整屏 / 关键词 文件内搜索关键词 b less 独有,向上翻整屏(more 不支持) q 退出分页界面
3. head /tail(查看指定行)
默认 head 前 10 行;tail 后 10 行
- head:
head -n 4 /etc/passwd查看前 4 行 - tail:
tail -n 10 /var/log/messages #查看末尾10行
tail -f /var/log/messages #-f 实时跟踪日志,Ctrl+C终止
✅场景:
- head:看配置头部注释、文件格式
- tail‑f:实时监控系统 / 服务日志,故障排查高频
2.2.2 高级检索与统计
1. grep 文件关键词检索
格式:grep [选项] "关键词" 文件名 常用选项:
表格
| 选项 | 含义 |
|---|---|
-i |
忽略大小写 |
-v |
反向匹配,排除匹配行 |
简单正则:
^关键词:匹配行开头关键词$:匹配行结尾^$:匹配空行^#:匹配注释行
示例:
grep "ftp" /etc/passwd
#过滤注释和空行,只看有效配置
grep -v "^#" /etc/dnf/dnf.conf | grep -v "^$"
2. wc 统计命令
格式:wc [选项] 文件
表格
| 选项 | 功能 |
|---|---|
‑l |
统计行数 |
‑w |
统计单词数 |
‑c |
统计字节数 |
示例:
wc -l /etc/passwd #统计系统用户总数
wc /etc/hosts #无选项输出:行数 单词数 字节数
经常和管道结合,统计命令输出结果。
2.3 备份与恢复文档
cp 适合少量文件;大量数据采用:归档 (打包)+ 压缩
- 归档:多个文件合并成一个包,方便传输
- 压缩:减小磁盘占用
2.3.1 gzip & bzip2(压缩工具)
⚠注意:gzip、bzip2 只能够压缩单个文件,不能直接压缩目录;压缩后原文件会删除。
表格
| 工具 | 后缀 | 特点 |
|---|---|---|
| gzip | .gz |
速度快,压缩比中等;数字 1‑9,‑9 最高压缩比 |
| bzip2 | .bz2 |
速度慢一点,压缩比更高,体积更小 |
gzip 示例:
gzip -9 mydoc #最高比压缩
gunzip mydoc.gz #解压;等价 gzip -d mydoc.gz
bzip2 示例:
bzip2 -9 mydoc
bunzip2 mydoc.bz2 #等价 bzip2 -d mydoc.bz2
2.3.2 tar 归档工具(核心)
tar 可以归档 + 压缩一步完成,OpenEuler 最重要备份命令;选项的‑可以省略。
tar 常用选项
表格
| 选项 | 说明 |
|---|---|
‑c |
create 创建归档包(打包备份) |
‑x |
extract 解压恢复 |
‑t |
list 查看包内文件列表 |
‑f |
指定包文件名,必须写在所有选项最后 |
‑z |
调用 gzip;格式.tar.gz |
‑j |
调用 bzip2;格式.tar.bz2 |
‑C |
指定解压目标目录,目录必须提前存在 |
‑p |
保留文件原有权限 |
1)制作备份压缩包
#tar.gz(gzip)格式:zcvf
tar zcvf sysfile.tar.gz etc boot
#tar.bz2(bzip2)格式:jcvf
tar jcvf /tmp/usersconf.tar.bz2 passwd shadow
2)解压恢复
#解压tar.gz到当前目录
tar zxvf sysfile.tar.gz
#解压到指定目录
tar zxvf sysfile.tar.gz -C /opt
#解压tar.bz2
tar jxvf /tmp/usersconf.tar.bz2 -C /etc
3)查看压缩包内容(不解压)
tar tzf sysfile.tar.gz #tar.gz包查看
tar tjf usersconf.tar.bz2 #tar.bz2包查看
✅tar 实战技巧
- 备份系统文件建议先切换目录,用相对路径,防止解压时破坏系统根目录。
- 备份系统配置加上
‑p保留权限,避免恢复后服务权限异常。 - 备份容器数据先停止容器,再备份
/var/lib/docker。
2.3.3 备份恢复核心原则
- 定期备份:重点目录
/etc、/boot、/home、/var/log、容器数据。 - 不要只存本地,防止磁盘损坏。
- 验证备份:使用 tar‑t 查看包内容,确认备份可用。
- 系统配置备份带上
‑p保留权限。 - 云主机:tar 备份 + 云平台快照结合。
2.4 vi/vim 文本编辑器
vi 是系统自带终端编辑器,vim 是 vi 增强版,支持语法高亮。OpenEuler 默认预装 vim。
2.4.1 vim 安装与别名设置
dnf install -y vim #未安装时执行
alias vi='/usr/bin/vim' #临时别名
#永久生效:写入 ~/.bashrc,执行 source ~/.bashrc
2.4.2 vi 三种工作模式(重中之重)
规则:任何模式按 Esc 回到命令模式,中转切换,不要直接在输入、末行模式互切
- 命令模式(默认进入):光标移动、复制、删除、查找;打开文件直接进入。
- 输入模式(编辑模式):输入修改文字;命令模式按 i/a/o/I/O 进入编辑。
- 末行模式:保存、退出、替换;命令模式输入冒号
:进入。
模式切换简图:
输入模式 / 末行模式 →【Esc】→命令模式 命令模式 → i/a/o →输入模式 命令模式 →
:→末行模式
2.4.3 命令模式操作
①进入输入模式按键
表格
| 按键 | 作用 |
|---|---|
i |
光标前面插入(最常用) |
a |
光标后面追加 |
o |
光标行下方新建一行 |
O |
光标行上方新建一行 |
I |
行首插入 |
A |
行尾追加 |
②光标移动
- h/j/k/l:左 / 下 / 上 / 右(替代方向键)
0:行首;$:行尾gg:文档第一行;G文档末尾5G:跳转到第 5 行Ctrl+b向上翻屏;Ctrl+f向下翻屏
③删除复制粘贴
表格
| 按键 | 功能 |
|---|---|
x |
删除光标单个字符 |
dd |
删除整行;5dd删除光标往下 5 行 |
d$ |
删除光标到行尾;d^删除光标到行首 |
yy |
复制整行;3yy复制 3 行 |
p |
粘贴到光标行下方 |
P |
粘贴到光标行上方 |
④查找、撤销
/关键词向下搜索;n跳到下一个匹配u撤销操作;U撤销本行全部修改ZZ(大写):命令模式直接保存退出,不用进入末行模式
2.4.4 末行模式操作(以:开头)
保存退出
表格
| 命令 | 作用 |
|---|---|
:w |
保存,不退出 |
:w 新文件名 |
另存为新文件 |
:q |
未修改直接退出 |
:wq |
保存并退出 |
:x |
保存退出;文件无修改不会更新时间戳 |
:q! |
强制退出,放弃所有修改(改错配置常用) |
其他末行命令
:e 文件路径在 vi 内打开另一个文件:r 文件路径将别的文件内容读入当前光标位置:set nu显示行号;:set nonu关闭行号
批量查找替换
格式::[范围]s/旧内容/新内容/[g]
%代表整个文件;5,15代表 5‑15 行g代表一行全部匹配;不加 g 只替换每行第一个匹配
示例:
:%s/True/False/g #全文所有True替换为False
:5,15s/False/True/g #5‑15行替换
如果替换内容包含斜杠
/,可以把分隔符换成#::%s#/old/path#/new/path#g
2.4.5 vi 编辑器实用技巧(OpenEuler)
- 修改系统配置前先备份:
cp /etc/dnf/dnf.conf /etc/dnf/dnf.conf.bak - 大配置打开执行
:set nu显示行号方便定位。 - vim 自带语法高亮,脚本、配置文件关键字着色。
- 可视模式:
v选中多行,>向右缩进,<向左缩进。 - 国产化终端方向键异常,改用 h j k l 移动光标。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)