Linux中的head与tail命令及用法详解

 更新时间:2025年09月09日 09:58:42   作者:小鱼吃小鱼  
Linux中head与tail命令用于查看文件开头/结尾内容,支持指定行数、字节数及实时跟踪日志,head默认显示前10行,tail默认后10行,常用于运维日志分析,需注意权限与资源占用问题,本文给大家介绍Linux中的head与tail命令及用法,感兴趣的朋友跟随小编一起看看吧

head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾。 

📖head与tail命令详解

1. 命令简介

  • head:默认显示文件的 前 10 行 内容,可指定行数或字节数。
  • tail:默认显示文件的 后 10 行 内容,可实时跟踪文件更新,常用于查看日志。

2. 基本语法

head [选项] [文件...]
tail [选项] [文件...]
  • 文件:一个或多个目标文件,若省略则从标准输入读取。
  • 输出结果:打印到标准输出,可配合 >>>、管道使用。

3. 常用选项

head

选项说明
-n <行数>显示前 N 行
-c <字节数>显示前 N 字节
-q安静模式,多文件时不显示文件名
-v总是显示文件名(即使只有一个文件)

tail

选项说明
-n <行数>显示最后 N 行
-c <字节数>显示最后 N 字节
-f持续跟踪文件增长(实时输出新内容)
-F类似 -f,但文件被替换时自动重新打开(常用于日志)
-q多文件时不显示文件名
-v总是显示文件名

4. 权限要求

  • 用户必须对文件有 读权限 ® 才能使用 headtail
  • 若从管道读取数据,则不依赖文件权限。

5. 使用示例

5.1head基本用法

head file.txt

👉 显示 file.txt 的前 10 行。

head -n 20 file.txt

👉 显示前 20 行。

head -c 100 file.txt

👉 显示前 100 个字节内容。

head file1 file2

👉 显示多个文件的前 10 行。

5.2tail基本用法

tail file.txt

👉 显示 file.txt 的最后 10 行。

tail -n 50 file.txt

👉 显示最后 50 行。

tail -c 200 file.txt

👉 显示最后 200 字节内容。

tail -f /var/log/messages

👉 实时跟踪日志文件的更新(常用)。

tail -F /var/log/nginx/access.log

👉 即使日志文件被轮转(替换),也会继续跟踪新文件。

6. 运维实战场景

场景 A:查看配置文件开头

head -n 20 /etc/passwd

👉 查看系统用户列表的前 20 行。

场景 B:快速定位日志结尾

tail -n 100 /var/log/syslog

👉 查看最近的 100 行日志。

场景 C:实时跟踪日志

tail -f /var/log/nginx/error.log

👉 调试 Nginx 错误日志。

场景 D:多文件日志合并跟踪

tail -f /var/log/nginx/*.log

👉 同时跟踪多个日志文件。

场景 E:查看二进制文件头信息

head -c 512 /bin/bash | hexdump -C

👉 查看 ELF 文件头。

7. 注意事项

  • 默认行数headtail 默认输出 10 行。
  • 大文件性能tail -f 会保持进程挂起,长期使用需注意资源占用。
  • 日志轮转问题:使用 tail -f 时,如果日志被切割替换,可能会“失效”,推荐 tail -F
  • 字节模式风险-c 按字节截取可能会破坏多字节字符(如 UTF-8 中文)。

8. 小结

  • head:适合 查看文件开头,常用于配置文件、数据文件的结构检查。
  • tail:适合 查看文件结尾或实时更新,是日志分析必备工具。
  • 运维中最常用的是:
    • head -n(查看开头几行)
    • tail -n(查看结尾几行)
    • tail -f / tail -F(实时日志跟踪)

到此这篇关于Linux中的head与tail命令详解的文章就介绍到这了,更多相关linux head与tail命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • shell实现FizzBuzzWhizz问题示例(拉勾网面试题)

    shell实现FizzBuzzWhizz问题示例(拉勾网面试题)

    这篇文章主要介绍了shell实现FizzBuzzWhizz问题示例(拉勾网面试题),需要的朋友可以参考下
    2014-05-05
  • Linux sort命令具体使用详解

    Linux sort命令具体使用详解

    sort命令是Linux系统中用于文本排序的工具,具备多种排序选项,如按数值、字典序、月份等排序,支持升序或降序,语法选项包括-n、-r、-k、-t、-u、-o、-f、-b、-M、-c、-V等,sort命令适合处理日志、数据表等文本文件,可以通过组合不同选项来完成复杂的排序任务
    2024-09-09
  • Linux下使用Shell脚本实现ftp的自动上传下载的代码小结

    Linux下使用Shell脚本实现ftp的自动上传下载的代码小结

    如何实现在ftp自动上传下载文件脚本呢?想必还有很多朋友都不太了解吧,下面是ftp自动上传下载文件脚本方法,希望对朋友们有些帮助
    2013-02-02
  • 脚本实现SSH登录邮件报警

    脚本实现SSH登录邮件报警

    自动化运维中,登录保护是一个很重要的环节这篇文章主要介绍如何给自己的服务器添加ssh登录邮件告警,需要的朋友可以参考下
    2015-07-07
  • 更改linux用户登录shell的操作方法

    更改linux用户登录shell的操作方法

    这篇文章主要为大家分享了更改linux用户登录shell的方法,感兴趣的朋友可以参考下
    2013-11-11
  • shell中函数的应用

    shell中函数的应用

    今天这个脚本其实很简单,但很实用,讲的是shell中函数的应用,需要的朋友可以参考下
    2016-08-08
  • Linux 中awk 提取包含某个关键字的段落

    Linux 中awk 提取包含某个关键字的段落

    AWK是一种处理文本文件的语言,是一个强大的文本分析工具。这篇文章主要介绍了Linux 中awk 提取包含某个关键字的段落实例代码,需要的朋友可以参考下
    2020-01-01
  • shell脚本配置hostname的方法步骤

    shell脚本配置hostname的方法步骤

    本文主要介绍了shell脚本配置hostname的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • 浅谈vim的四种模式及模式切换

    浅谈vim的四种模式及模式切换

    下面小编就为大家带来一篇浅谈vim的四种模式及模式切换。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • Shell脚本搭建FTP服务器(vsftpd)

    Shell脚本搭建FTP服务器(vsftpd)

    这篇文章主要介绍了Shell脚本搭建FTP服务器,本文直接给出脚本代码,代码中含有详细注释,需要的朋友可以参考下
    2015-03-03

最新评论