接上篇《Linux 基础指令详解(上篇):历史背景、文件系统结构与核心文件操作》,我们已经了解了 Linux 的发展脉络、文件系统层次结构,以及最基础的目录导航、创建、复制、移动和删除操作。这些是日常操作的基石。

本篇将继续深入,聚焦更高频的实用指令:文件内容查看与编辑、文本处理三剑客、权限管理、压缩打包以及文件查找。这些指令在日志分析、配置文件修改、脚本编写和系统维护中几乎每天都会用到。所有示例均在 RHEL 9 环境中测试,可直接复制练习。


目录

  1. 文件内容查看与编辑指令
    1.1 查看类指令:cat、head、tail、less
    1.2 编辑器基础:vim 常用操作

  2. 文本处理三剑客:grep、sed、awk

  3. 文件权限管理:chmod、chown、umask

  4. 压缩打包与文件查找:tar、gzip/bzip2/xz、find

  5. 常见易错点与实战总结

  6. 全系列小结与学习建议


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            # 反向显示(从最后一行开始)
  • headtail:查看文件头部或尾部

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 分钟敲命令。推荐练习路径:

  1. 熟悉目录结构与导航

  2. 练习日志分析(grep + awk)

  3. 修改配置文件(vim + sed)

  4. 编写简单脚本调用这些指令

感谢阅读!如果本文对你有帮助,欢迎点赞、收藏、评论交流你的学习经验或遇到的问题。Linux 学习之路漫长,但每一步都很踏实。

(完)

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐