RHCE认证考试学习笔记(二):文件操作与Vim编辑器

大家好,欢迎回到RHCE9学习笔记系列。在上一篇中,我们熟悉了Linux的基础概念、目录结构和常用命令。今天,我们将深入Linux文件管理,掌握如何创建、查看、复制、移动、删除文件,以及如何使用强大的Vim编辑器进行文本编辑。文件操作是日常运维中最频繁的任务,熟练运用这些命令和工具,是成为合格Linux工程师的必修课。
1. 文件管理概述
Linux中的文件操作可以归纳为四个字:增、删、改、查 。
- 增 :创建文件或目录
- 删 :删除文件或目录
- 改 :修改文件内容或属性(如权限、所有者)
- 查 :查看文件内容或属性
在学习具体命令之前,我们先明确两个重要的路径概念。
2. 绝对路径与相对路径
- 绝对路径 :从根目录
/开始写起的完整路径,例如/home/user/file.txt。 - 相对路径 :相对于当前工作目录的路径,不以
/开头,例如./file.txt或../dir/file.txt。
技巧 :在脚本或配置文件中,建议使用绝对路径,避免因当前目录不同导致的错误。
3. 文件查看命令(回顾与扩展)
虽然上一篇已经介绍了一些查看命令,但这里我们再系统地梳理一下,并补充几个实用选项。
3.1 cd – 切换目录
bash
cd /etc # 进入/etc目录
cd .. # 返回上级目录
cd ~ # 回到当前用户家目录
cd - # 在上次所在目录和当前目录间切换
3.2 ls – 列出目录内容
bash
ls # 列出当前目录文件名
ls -l # 详细信息(权限、链接数、所有者、大小、时间)
ls -a # 显示所有文件,包括隐藏文件(以.开头)
ls -lh # 以人类可读方式显示大小(KB、MB)
ls -d */ # 只显示当前目录下的子目录
3.3 cat – 连接并显示文件
bash
cat file1 file2 # 同时显示多个文件内容
3.4 head / tail – 查看文件开头/结尾
bash
head -n 20 file # 显示前20行,默认10行
tail -f logfile # 实时跟踪日志文件的新增内容(常用)
3.5 more / less – 分页查看
bash
more longfile # 分页显示,空格翻页,q退出
less longfile # 更强大,支持上下翻页、搜索
3.6 file – 查看文件类型
bash
file script.sh # 输出如 "Bourne-Again shell script, ASCII text executable"
4. 创建文件与目录
4.1 touch – 创建空文件或更新时间戳
bash
touch newfile.txt # 创建一个空文件
touch file{1..10}.txt # 批量创建 file1.txt 到 file10.txt
touch -t 202503201200 file # 将文件的时间戳修改为指定时间
如果文件已存在,touch 仅更新其访问和修改时间。
4.2 mkdir – 创建目录
bash
mkdir mydir # 创建单级目录
mkdir -p a/b/c # 递归创建多级目录(父目录不存在时自动创建)
mkdir -m 755 newdir # 创建目录并指定权限
5. 删除文件与目录
5.1 rmdir – 删除空目录
bash
rmdir emptydir # 只能删除空目录
5.2 rm – 删除文件或目录(慎用!)
bash
rm file.txt # 删除文件,root用户会提示确认
rm -f file.txt # 强制删除,不提示
rm -r mydir # 递归删除目录及其内容
rm -rf mydir # 最常用组合:强制递归删除,无提示
危险命令警示 :rm -rf / 会删除根目录下所有文件,导致系统崩溃,切勿尝试!
安全技巧 :可以用 rm -i 让每次删除都提示确认。
6. 复制与移动文件
6.1 cp – 复制文件或目录
bash
cp source dest # 复制文件
cp file1 file2 dir/ # 将多个文件复制到目录
cp -r sourcedir destdir # 递归复制目录
cp -a source dest # 归档复制,保留文件属性(权限、时间戳等)
cp -p source dest # 保留部分属性(权限、时间)
注意 :如果目标文件已存在,cp 默认会覆盖(可用 -i 选项提示确认)。
6.2 mv – 移动(重命名)文件或目录
bash
mv oldname newname # 重命名文件或目录
mv file dir/ # 移动文件到目录
mv -i source dest # 交互式,覆盖前提示
mv 在同一文件系统内移动速度极快,仅修改目录项;跨文件系统则相当于 cp + rm。
7. 链接文件 – ln
Linux中的链接类似于Windows的快捷方式,但有两种类型:
- 硬链接 :多个文件名指向同一个inode,删除一个不影响其他。只能在同一文件系统内创建,不能用于目录。
- 软链接(符号链接) :一个特殊的文件,内容是指向另一个文件的路径。可以跨文件系统,也可以指向目录。
bash
ln source hardlink # 创建硬链接
ln -s source softlink # 创建软链接
示例 :
bash
echo "Hello" > original
ln original hard # 创建硬链接 hard
ln -s original soft # 创建软链接 soft
rm original # 删除原文件
cat hard # 硬链接仍可访问内容
cat soft # 软链接失效(文件不存在)
查看软链接:
bash
ls -l soft # 显示 lrwxrwxrwx ... soft -> original
8. 文件隐藏属性 – chattr 与 lsattr
除了常规的rwx权限,Linux文件还可以设置隐藏属性,这些属性由 chattr 命令管理,用 lsattr 查看。
8.1 常用隐藏属性
i:不可变(immutable)。文件不能被删除、改名、写入,连root也不行。a:只能追加(append)。文件只能以追加模式写入,适用于日志文件。A:不更新访问时间(atime)。s:安全删除,文件删除后磁盘空间立即归零。u:删除后保留数据,可恢复。
8.2 命令示例
bash
chattr +i important.conf # 锁定文件,无法修改或删除
lsattr important.conf # 查看属性,输出如 ----i--------
chattr -i important.conf # 解锁
chattr +a logfile # 设置只能追加
应用场景 :保护关键配置文件、防止日志被篡改。
9. Vim编辑器详解
Vim是Linux中最强大的文本编辑器之一,熟练掌握Vim能极大提高工作效率。Vim有四大模式:命令模式、编辑模式、末行模式、可视化模式 。
9.1 进入与退出
bash
vim filename # 打开文件,如果不存在则创建
进入后默认处于命令模式。
退出方法 (在末行模式下):
:q:退出(未修改时):q!:强制退出,不保存修改:w:保存:wq或:x:保存并退出
9.2 命令模式(Normal Mode)
刚打开文件时即处于命令模式。常用操作:
光标移动
h(左)、j(下)、k(上)、l(右)gg:跳转到文件第一行G:跳转到文件最后一行nG:跳转到第 n 行,例如5G0:行首$:行尾
删除
x:删除光标所在字符X:删除光标前一个字符dd:删除光标所在行ndd:删除从当前行开始的 n 行dw:删除一个单词
复制与粘贴
yy:复制当前行nyy:复制 n 行p:在光标后粘贴P:在光标前粘贴
撤销与重做
u:撤销上一步操作(可多次)Ctrl + r:重做(撤销的撤销)
9.3 编辑模式(Insert Mode)
在命令模式下按以下键进入编辑模式:
i:在光标前插入I:在行首插入a:在光标后插入A:在行尾插入o:在当前行下方新建一行并插入O:在当前行上方新建一行并插入
进入编辑模式后,底部会显示 -- INSERT --。按 Esc 返回命令模式。
9.4 末行模式(Last Line Mode)
在命令模式下按 : 进入末行模式,底部会出现冒号,可以执行各种命令。
查找与替换
-
查找 :输入
/关键词后回车,按n向下查找,N向上查找。 -
替换 :
vim:s/old/new # 替换当前行第一个匹配 :s/old/new/g # 替换当前行所有匹配 :%s/old/new/g # 替换全文所有匹配 :5,10s/old/new/g # 替换第5到10行所有匹配
显示行号
vim
:set number # 显示行号
:set nonumber # 取消行号
其他操作
:!命令:执行外部命令,如:!ls:r file:将另一个文件的内容插入到光标处
9.5 可视化模式(Visual Mode)
v:字符可视化模式,选中字符V:行可视化模式,选中整行Ctrl + v:块可视化模式,选中矩形区域
选中后可以进行复制(y)、删除(d)、替换等操作。
9.6 实用技巧
- 重复操作 :在命令模式下按
.可重复上一次操作。 - 快速注释多行 :进入块可视化模式,选中行首,按
I插入#,然后按Esc。 - 保存只读文件 :如果忘记用sudo打开,可以使用
:w !sudo tee %。
总结
本篇我们系统学习了Linux文件操作的核心命令,包括创建、查看、复制、移动、删除,以及隐藏属性的设置。同时,我们深入探讨了Vim编辑器的四大模式及其常用操作。熟练掌握这些工具,你将能够高效地管理Linux系统中的文件,为后续学习权限管理、服务配置打下坚实基础。
下一篇文章,我们将介绍输入输出重定向、管道以及正则表达式,这些是构建命令行工作流的关键技术。敬请期待!
练习建议 :
- 在
/tmp下创建目录test,并在其中创建多个文件,练习cp、mv、rm操作。 - 使用
chattr +i保护一个文件,尝试删除它,再解锁。 - 打开Vim,练习光标移动、复制粘贴、查找替换等操作。
如果你有任何疑问或建议,欢迎在评论区留言。我们下期见!
标题:RHCE认证考试学习笔记(二):文件操作与Vim编辑器
作者:shuaiqijun
地址:https://shuaiqijun.com/articles/2026/03/23/1774228906129.html