鸟哥的私房菜:Linux文件管理与Vim编辑器进阶教程

一、批量文件创建技术与花括号扩展应用
1.1 多维度参数组合文件创建
在 Linux 中,利用花括号{}
的扩展功能可高效创建具有规律命名的文件。以在/dev/shm/testing
目录下创建 36 个名为mytest_XX_YY_ZZ
的文件为例,其中XX
为jan,feb,mar,apr
,YY
为one,two,three
,ZZ
为a1,b1,c1
,可通过以下命令实现:
1 | mkdir -p /dev/shm/testing |
原理解析:花括号内的参数会被展开为所有可能的组合,等价于执行 3×3×4=36 次touch
操作。mkdir -p
用于确保目录存在,避免因路径不存在导致错误。
1.2 序列数字文件批量生成
若需创建4XXXC001
到4XXXC050
的 50 个文件,可结合{}
与序列生成语法:
1 | mkdir -p /dev/shm/student |
关键说明:{start..end}
语法支持数字或字母序列生成,当数字不足三位时,前缀零会被自动补全,确保文件名格式统一。
二、文件内容查阅工具:more 与 less 的进阶用法
2.1 more 命令的分页查阅与关键字搜索
分页查看文件:
1 | more /etc/services |
按空格键翻页,按 Enter 键逐行滚动,按q
键退出。
关键字搜索与退出:
在 more 界面中输入/http
,按 Enter 键查找关键字,找到后按q
键直接退出。
2.2 less 命令的交互式查阅优化
高效查看文件:
1 | less /etc/services |
支持上下方向键滚动,PageUp/PageDown
快速翻页,功能比 more 更灵活。
重复搜索与退出:
输入/http
查找首次出现的http
,按n
键查找下一个实例,完成后按q
键退出。
三、vim 文本编辑器与系统文件探查实践
3.1 系统文件类型识别与记录
创建答案文件并写入身份信息:
1 | vim ~/ans.txt |
在文件中首行输入学号 姓名
,然后执行以下命令探查文件类型:
文件类型查询方法:
- /etc/passwd:
1 | stat -c "%F" /etc/passwd |
- /etc/pam.d:
1 | stat -c "%F" /etc/pam.d |
- /etc/rc.local:
1 | file /etc/rc.local |
- /dev/vda:
1 | stat -c "%F" /dev/vda |
将上述结果写入ans.txt
。
3.2 系统文件搜索与分类记录
查找 5 字符普通文件:
1 | find /usr/lib64 -maxdepth 1 -type f -name "?????" |
将查找到的文件名(如ld.so
)写入ans.txt
。
查找含 4 个数字的文件:
1 | find /etc -maxdepth 1 -type f -name "*[0-9][0-9][0-9][0-9]*" |
例如找到/etc/issue.net
,其类型为普通文本文件,将路径与类型写入ans.txt
。
四、目录与文件管理综合实践:class03 目录操作
4.1 初始目录结构构建
创建 class03 目录并进入:
1 | mkdir -p ~/class03 && cd ~/class03 |
生成目标文件:
1 | touch mytest_{class1,class2,class3}_{week1,week2,week3}_{one,two,three,four}.txt |
4.2 目录与文件操作实战
创建子目录并复制文件:
1 | mkdir -p class1/week2 |
移动含 class1 的文件:
1 | mkdir class1 |
整理含 one 的文件:
1 | mkdir one |
归档剩余文件:
1 | mkdir others |
最终class03
目录下应仅包含class1
、one
、others
三个子目录。
五、高级文件管理:特殊目录与系统操作
5.1 特殊命名目录与隐藏文件处理
创建以减号开头的目录并复制隐藏文件:
1 | mkdir ~/-myhome |
注意:复制隐藏文件时需使用.
前缀,且目录名-myhome
会被视为选项,需用--
或绝对路径避免歧义:
1 | cp ~/.bash* -- ~/-myhome/ |
复制系统目录与删除操作:
1 | cd ~/-myhome |
5.2 日志提取与文件编辑
提取文件末尾内容并合并:
1 | tail -n 5 /etc/profile /etc/services > myetc.txt |
文件复制与编辑:
1 | cp myetc.txt myetc2.txt |
六、特殊场景文件管理技巧
6.1 批量目录创建与文本处理
创建 20 个连续命名的目录:
1 | mkdir -p ~/userid && cd ~/userid |
文本批量复制与保存:
1 | vim ~/mytext.txt |
6.2 特殊文件名处理
删除/opt
下以减号开头的文件(需 root 权限):
1 | sudo rm /opt/-filename |
七、实践总结与延伸思考
通过上述实践可知,Linux 文件管理的核心在于:
- 命令组合能力:灵活运用
{}
扩展、find
搜索、sed/awk
文本处理等工具链; - 路径与权限意识:理解绝对路径 / 相对路径差异,合理使用
sudo
与权限管理; - 错误处理技巧:掌握特殊文件名(如 -、空格)的转义方法,善用
--
分隔选项与参数。