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

Linux基本命令篇 —— head命令

    head 是 Linux 系统中一个非常实用的管理和数据处理的命令行工具,用于查看文件的开头部分内容。下面我将详细介绍这个命令的用法、选项和实际应用场景:

目录

一、基本功能

二、常用选项

三、使用示例

1. 查看文件前10行(默认行为)

2. 查看文件前N行

3. 查看文件前N个字节

4. 查看多个文件

5. 不显示文件名标题

6. 强制显示文件名标题

7. 结合管道使用

8. 查看除最后N行外的所有内容

四、实际应用场景

五、与tail命令的对比

六、注意事项


一、基本功能

head 命令默认显示文件的前 10 行内容。基本语法如下:

head [选项] [文件]

如果不指定文件,head 会从标准输入读取数据。


二、常用选项

选项描述
-n <数字> 或 --lines=<数字>显示文件的前 N 行内容
-c <数字> 或 --bytes=<数字>显示文件的前 N 个字节
-q 或 --quiet 或 --silent不显示文件名标题
-v 或 --verbose总是显示文件名标题

三、使用示例

1. 查看文件前10行(默认行为)

head filename.txt

2. 查看文件前N行

head -n 5 filename.txt  # 查看前5行
head -5 filename.txt   # 简写形式,效果同上

3. 查看文件前N个字节

head -c 100 filename.txt  # 查看前100字节

  • 在 Linux/Unix 系统中,UTF-8编码(最常用):

    • 大多数常用汉字:3字节

    • 部分生僻字:4字节

  •  在 Linux/Unix 系统中,换行符(\n,即 Line Feed)占用 1 个字节(十六进制 0x0A)。

4. 查看多个文件

head file1.txt file2.txt

输出会显示每个文件的前10行,并在每个文件内容前显示文件名:

5. 不显示文件名标题

head -q file1.txt file2.txt

6. 强制显示文件名标题

head -v file1.txt

7. 结合管道使用

ls -l /usr/bin | head -n 3  # 查看/usr/bin目录下前3个文件

8. 查看除最后N行外的所有内容

head -n -5 filename.txt  # 显示除最后5行外的所有内容


四、实际应用场景

  1. 快速检查大型文件:当需要快速查看日志文件或大型数据文件的开头部分时

  2. 脚本处理:在脚本中提取文件的部分内容进行处理

  3. 管道组合:与其他命令组合使用,限制输出量

  4. 验证文件格式:检查CSV或JSON等结构化文件的头部结构


五、与tail命令的对比

head 和 tail 是互补的命令:

  • head 查看文件开头

  • tail 查看文件末尾

  • tail -f 可以实时监控文件变化,而 head 没有类似功能


六、注意事项

  1. 当指定的行数或字节数大于文件实际大小时,head 只会显示文件的实际内容

  2. 对于二进制文件,使用 -c (字节)选项比 -n (行)更合适

  3. 在脚本中使用时,建议使用完整选项名(如 --lines=)以提高可读性

http://www.lqws.cn/news/571609.html

相关文章:

  • 【锁相环系列5】再谈数字锁相环
  • python sklearn 机器学习(1)
  • 多模态大语言模型arxiv论文略读(143)
  • 代理模式 - Flutter中的智能替身,掌控对象访问的每一道关卡!
  • ⚙️ 深度学习模型编译器实战:解锁工业级部署新范式​​—— 基于PyTorch-MLIR的全流程优化指南(开源工具链集成)​​
  • Python银行管理系统01升级(适合初学者)
  • 【百日精通JAVA | 语法篇】static关键字
  • CppCon 2017 学习:Undefined Behavior in 2017
  • idea运行到远程机器 和 idea远程JVM调试
  • x86 rop攻击理解2
  • 设计模式-外观模式、适配器模式
  • 设备健康状态实时监测:从技术原理到中讯烛龙的智能实践
  • X-Search:Spring AI实现的AI智能搜索
  • redis延时双删,为什么第一次删除
  • 检查达梦外部表
  • ROS的可视化工具rviz介绍
  • wpf的Binding之UpdateSourceTrigger
  • PaddleNLP
  • 桌面小屏幕实战课程:DesktopScreen 18 FONTPAINT
  • RAG检索增强生成在垂类AI应用效能优化中的应用
  • 【硬核数学】6. 升级你的线性代数:张量,深度学习的多维数据语言《从零构建机器学习、深度学习到LLM的数学认知》
  • 【Java EE初阶 --- 多线程(进阶)】锁策略
  • 构建创意系统:驾驭Audition与Photoshop的AI之力,洞悉原子化设计哲学
  • Cursor1.1.6安装c++插件
  • MyBatis实战指南(八)MyBatis日志
  • 【数据集处理】基于 3D-GloBFP建筑轮廓数据 栅格化建筑数据(完整Python代码)
  • Day.46
  • 水果维生素含量排名详表
  • 【硬核数学】9. 驯服“梯度下降”:深度学习中的优化艺术与正则化技巧《从零构建机器学习、深度学习到LLM的数学认知》
  • 【JavaSE】反射学习笔记