Linux 基础指令详解(下篇):文件查看编辑、文本处理、权限管理与压缩查找
本文是《Linux基础指令详解》下篇,重点讲解高频实用指令:文件内容查看与编辑(cat/head/tail/vim)、文本处理三剑客(grep/sed/awk)、权限管理(chmod/chown)、压缩打包(tar)和文件查找(find)。所有指令均在RHEL9环境测试,包含大量可直接复制的实用示例。文章特别强调"管道+组合"的实战技巧,如日志分析、批量替换等场景,并总结了常见
接上篇《Linux 基础指令详解(上篇):历史背景、文件系统结构与核心文件操作》,我们已经了解了 Linux 的发展脉络、文件系统层次结构,以及最基础的目录导航、创建、复制、移动和删除操作。这些是日常操作的基石。
本篇将继续深入,聚焦更高频的实用指令:文件内容查看与编辑、文本处理三剑客、权限管理、压缩打包以及文件查找。这些指令在日志分析、配置文件修改、脚本编写和系统维护中几乎每天都会用到。所有示例均在 RHEL 9 环境中测试,可直接复制练习。
目录
-
文件内容查看与编辑指令
1.1 查看类指令:cat、head、tail、less
1.2 编辑器基础:vim 常用操作 -
文本处理三剑客:grep、sed、awk
-
文件权限管理:chmod、chown、umask
-
压缩打包与文件查找:tar、gzip/bzip2/xz、find
-
常见易错点与实战总结
-
全系列小结与学习建议
1. 文件内容查看与编辑指令
查看和修改文件内容是运维工作中最常见的操作。熟练掌握这些工具,能让你快速定位问题、修改配置。
1.1 查看类指令:cat、head、tail、less
-
cat:拼接并显示文件内容(Concatenate)
cat /etc/passwd # 显示整个文件
cat -n /etc/passwd # 显示行号
cat file1 file2 > combined.txt # 合并多个文件
tac /var/log/messages # 反向显示(从最后一行开始)
-
head与tail:查看文件头部或尾部
head -n 20 /var/log/messages # 显示前20行(默认10行)
tail -n 50 /var/log/secure # 显示后50行
tail -f /var/log/nginx/access.log # 实时跟踪日志(Ctrl+C 退出,非常实用)
实战技巧:监控服务启动日志时常用 tail -f /var/log/messages | grep sshd。
-
less:分页查看大文件(比 more 更强大)
less /var/log/messages # 进入分页模式:/搜索、q退出、上下翻页
less -N /etc/fstab # 显示行号
个人体会:处理大日志文件时,先用 less 浏览整体,再结合 head/tail 定位具体位置,能节省大量时间。
1.2 编辑器基础:vim 常用操作
vim 是 Linux 下最强大的编辑器,学会基础操作就能应对 90% 的配置文件修改。
基本模式:
-
正常模式(默认):移动、删除、复制
-
插入模式:输入文本(按 i 进入)
-
命令行模式:保存、退出、搜索(按 : 进入)
常用命令:
vim /etc/nginx/nginx.conf
# 正常模式
dd # 删除当前行
yy # 复制当前行
p # 粘贴
u # 撤销
Ctrl+r # 重做
# 搜索与替换
/keyword # 向下搜索 keyword(n下一个,N上一个)
?keyword # 向上搜索
:%s/old/new/g # 全局替换(命令行模式)
# 保存退出
:w # 保存
:wq # 保存并退出
:q! # 强制退出不保存
易错点:新手常卡在“无法输入文字”,记住:按 i 进入插入模式,按 Esc 返回正常模式。
实用设置:在 ~/.vimrc 中添加以下内容,提升体验:
syntax on " 语法高亮
set number " 显示行号
set tabstop=4 " Tab 宽度
set ignorecase " 搜索忽略大小写
2. 文本处理三剑客:grep、sed、awk
这三个工具是 Linux 文本处理的灵魂,常通过管道组合使用。
-
grep:全局搜索正则表达式并打印匹配行
grep "error" /var/log/messages # 基本搜索
grep -i "ERROR" /var/log/messages # 忽略大小写
grep -r "listen" /etc/nginx/ # 递归搜索目录
grep -v "^#" /etc/httpd/conf/httpd.conf # 排除注释行
grep -E "failed|error" /var/log/secure # 扩展正则,支持 |
-
sed:流编辑器,适合替换、删除、插入
sed 's/old/new/g' file.txt # 替换(不修改原文件)
sed -i 's/Listen 80/Listen 8080/g' /etc/httpd/conf/httpd.conf # 直接修改文件
sed '/^#/d' /etc/fstab # 删除以 # 开头的行
sed -n '10,20p' /var/log/messages # 打印10-20行
-
awk:强大文本处理语言,擅长列处理
awk '{print $1}' /etc/passwd # 打印第一列(用户名)
awk -F: '$3==0 {print $1}' /etc/passwd # 以:分隔,打印 UID=0 的用户(root)
ps aux | awk '{print $2,$11}' # 显示进程 PID 和命令名
df -h | awk 'NR>1 {print $5,$6}' # 显示磁盘使用率和挂载点
实战组合:cat /var/log/secure | grep "Failed" | awk '{print $11}' | sort | uniq -c | sort -nr 统计登录失败 IP 排行。
个人总结:grep 找问题、sed 批量替换、awk 处理结构化数据,三者配合几乎能解决所有文本处理需求。
3. 文件权限管理:chmod、chown、umask
Linux 安全的核心是权限控制,一切以用户、组、其他三类权限为基础。
权限表示:rwxr-xr-x → 用户(rwx)、组(r-x)、其他(r-x)
-
chmod:修改权限
chmod 755 script.sh # 数字方式:所有者可执行
chmod u+x script.sh # 符号方式:给所有者加执行权限
chmod -R 644 /var/www/html/ # 递归修改目录
-
chown:修改所有者和组
chown user:group file.txt
chown -R nginx:nginx /var/www/ # 递归修改
-
umask:默认权限掩码(新建文件默认权限 = 666 - umask,目录 777 - umask)
umask 0022 # 查看当前 umask(常见默认值)
umask 0002 # 修改(开发环境常用,让组可写)
易错点:忘记可执行权限导致脚本“Permission denied”。配置 Web 服务时,常需 chmod -R 755 目录、chown -R apache:apache 文件。
4. 压缩打包与文件查找:tar、gzip/bzip2/xz、find
备份与查找是日常高频操作。
-
tar:打包与压缩
tar -czf backup.tar.gz /etc # gzip 压缩
tar -cjf backup.tar.bz2 /var # bzip2 压缩
tar -cJf backup.tar.xz /home # xz 压缩(最高压缩率)
tar -tzf backup.tar.gz # 查看内容
tar -xzf backup.tar.gz -C /restore/ # 解压到指定目录
-
find:强大文件查找
find /var/log -name "*.log" # 按文件名查找
find / -size +100M # 查找大于100M文件
find /etc -mtime -7 # 7天内修改的文件
find /tmp -type f -exec rm {} \; # 删除找到的文件(慎用)
实战技巧:清理大文件常用 find / -size +1G -exec du -h {} \; | less。
5. 常见易错点与实战总结
| 操作场景 | 常见错误 | 正确做法与建议 |
|---|---|---|
| vim 编辑 | 卡在插入模式无法退出 | 按 Esc 返回正常模式,再 :wq 保存退出 |
| grep 搜索 | 忘记 -i 导致大小写不匹配 | 日常搜索默认加 -i |
| sed 替换 | 忘记 -i 导致原文件未修改 | 批量替换配置文件必加 -i 备份原文件 |
| chmod 权限 | 用 777 解决所有问题 | 遵循最小权限原则,脚本 755,配置文件 644 |
| tar 解压 | 压缩选项不匹配报错 | .tar.gz 用 -z,.tar.xz 用 -J |
| find 执行 | -exec 命令语法错误 | 用 {} ; 结束,测试时先加 echo 预览 |
个人总结:这些指令看似零散,但核心是“管道 + 组合”。一个复杂任务往往只需几个命令通过 | 连接即可完成。建议养成“先预览、再执行”的习惯(如用 echo 或 -n 测试)。
6. 全系列小结与学习建议
通过上下两篇,我们系统梳理了 Linux 最核心的基础指令。从历史与文件结构到文本处理、权限管理,再到压缩查找,这些内容覆盖了日常运维的 80% 场景。
掌握 Linux 的关键在于多练:建议搭建一台虚拟机,每天花 30 分钟敲命令。推荐练习路径:
-
熟悉目录结构与导航
-
练习日志分析(grep + awk)
-
修改配置文件(vim + sed)
-
编写简单脚本调用这些指令
感谢阅读!如果本文对你有帮助,欢迎点赞、收藏、评论交流你的学习经验或遇到的问题。Linux 学习之路漫长,但每一步都很踏实。
(完)
更多推荐



所有评论(0)