当前位置: 首页 > news >正文

Linux文件操作命令终极指南:从查看到高级搜索

一、文件内容查看命令

1. cat:快速查看小文件

  • 核心功能:合并文件、创建新文件、快速预览内容。

  • 常用参数

    cat -n file.txt   # 显示行号(含空行)  
    cat -E file.conf  # 显示行尾符号($)  
  • 适用场景:查看配置文件(如 /etc/issue),合并日志文件。

  • 注意:避免用 cat 查看大文件(内存溢出风险)。

2. more 与 less:分页查看大文件

命令特点交互操作
more仅支持向下翻页空格键(下一页)、q(退出)
less支持上下滚动、搜索、高亮/keyword(搜索)、N(跳转行号)
  • less 高级用法

    less -N /var/log/nginx/access.log  # 显示行号  
    less +F app.log                    # 实时追踪日志(类似 `tail -f`)  

3. head 与 tail:精准定位文件首尾

  • 查看文件头部

    head -n 5 /etc/ssh/sshd_config  # 显示前5行  
  • 追踪文件尾部

    tail -f /var/log/cron          # 实时监控日志(按 `Ctrl+C` 退出)  
    tail -F rotated.log            # 追踪日志轮转文件(自动重载)  

二、文件统计与磁盘管理

1. wc:统计文件内容

  • 核心参数

    wc -l access.log    # 统计行数  
    wc -w report.txt    # 统计单词数(按空格分隔)  
    wc -c data.bin      # 统计字节数  
  • 批量统计

    wc -l *.log         # 统计所有日志文件行数  

2. du:分析磁盘占用

  • 常用参数

    du -sh /var/log     # 汇总显示目录大小(易读格式)  
    du -h --max-depth=1 /opt  # 显示一级子目录大小  
  • 实战技巧

    du -sh * | sort -h  # 按大小排序当前目录文件  

三、文本处理与高级搜索

1. find:精准文件搜索

  • 按条件搜索

    find /var -name "*.log"          # 按名称搜索日志文件  
    find . -size +10M -mtime -7      # 查找7天内大于10MB的文件  
    find ~ -type d -empty            # 查找空目录  

2. grep:模式匹配与过滤

  • 基础语法

    grep "error" system.log         # 搜索关键字  
    grep -i "warning" app.log       # 忽略大小写  
    grep -v "^#" config.conf        # 排除注释行  
  • 正则表达式

    grep -E "[0-9]{3}-[0-9]{4}" contacts.txt  # 匹配电话号码  
    grep -oP "(\d{1,3}\.){3}\d{1,3}" log      # 提取IP地址  

3. 管道符组合应用

  • 过滤日志中的错误并统计

    cat app.log | grep "ERROR" | wc -l  
  • 实时监控多日志文件

    tail -f /var/log/{nginx,apache}/access.log | grep "404"  

四、十大实战案例

1. 快速定位配置文件关键行

grep -n "Port" /etc/ssh/sshd_config  # 显示行号和内容  

2. 提取日志中的唯一IP地址

grep -oP "\d+\.\d+\.\d+\.\d+" access.log | sort -u  

3. 批量重命名文件

find . -name "*.jpg" -exec mv {} /backup/images \;  

4. 统计目录下文件类型分布

find /data -type f | awk -F. '{print $NF}' | sort | uniq -c  

5. 清理7天前的日志文件

find /var/log -name "*.log" -mtime +7 -exec rm {} \;  

6. 实时监控日志并高亮关键词

tail -f app.log | grep --color=auto "ERROR"  

7. 跨文件搜索代码片段

grep -rnw '/project' -e "TODO"  

8. 快速对比两个文件差异

diff <(sort file1.txt) <(sort file2.txt)  

9. 压缩并加密敏感文件

tar -czvf - secret/ | gpg -c > backup.tar.gz.gpg  

10. 一键生成目录树结构

tree -L 3 -h --dirsfirst  

五、总结与命令速查表

场景推荐命令参数示例
查看小文件catcat -n file.txt
分页浏览大文件lessless -N +F app.log
实时追踪日志tail -ftail -f /var/log/nginx
统计文件行数wc -lwc -l *.csv
搜索文件内容grepgrep -i "error" *.log
查找大文件find + -sizefind / -size +100M
http://www.xdnf.cn/news/154423.html

相关文章:

  • 使用MobaXterm远程登录Ubuntu系统:SSH服务配置教程
  • 【Docker项目实战】使用Docker部署Caddy+vaultwarden密码管理工具(详细教程)
  • 【Linux网络】打造初级网络计算器 - 从协议设计到服务实现
  • 模态链:利用视觉-语言模型从多模态人类视频中学习操作程序
  • 有关图的类型的题目(1)
  • Linux下终端命令行安装常见字体示例
  • 基于亚马逊云科技构建音频转文本无服务器应用程序
  • 使用matplotlib绘制Raincloud图/云雨图/柱状图/小提琴图
  • 《代码之美:静态分析工具与 CI 集成详解》
  • 【虚幻C++笔记】碰撞检测
  • 探秘卷积神经网络:深度学习的图像识别利器
  • 【Linux网络】构建HTTP响应与请求处理系统 - HttpResponse从理解到实现
  • 常见的机器视觉通用软件
  • JDBC数据库操作中如何保证最后关闭了所占用的资源——try用法的细节控制
  • k8s中资源的介绍及标准资源namespaces实践
  • 如何在 Conda 环境中降级 Python 版本:详细指南
  • H.264/AVC标准主流开源编解码器编译说明
  • 2025第十六届蓝桥杯大赛(软件赛)网络安全赛 Writeup
  • MyBatis缓存配置的完整示例,包含一级缓存、二级缓存、自定义缓存策略等核心场景,并附详细注释和总结表格
  • Prometheus、Zabbix和Nagios针对100个节点的部署设计架构图
  • PyTabKit:比sklearn更强大的表格数据机器学习框架
  • 性能提升手段--池化技术
  • 机器学习之一:机械式学习
  • 【学习笔记】检索增强生成(RAG)技术
  • flutter 引擎初始化
  • React Router v7 从入门到精通指南
  • Android学习总结之ANR问题
  • 学习笔记:Qlib 量化投资平台框架 — GETTING STARTED
  • 【SpringBoot】WebConfig 跨域配置详细说明
  • 聊聊Spring AI Alibaba的YuQueDocumentReader