`
weitao1026
  • 浏览: 1047670 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Linux tail 命令详解

 
阅读更多

Linux命令:显示文件结尾

  Head/Tail

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

(1)?

  displays the first 6 lines of a file

  head -6 readme.txt

  (2) displays the last 25 lines of a file

  tail -25 mail.txt

  范例一是显示档案的前 6 行,范例二则是显示档案最后的 25 行。

  而下面的范别,结合了 head 与 tail 的指令,显示档案的第 11 行到第 20 行:

(3)?

  head -20 file | tail -10

   在 tail 的使用手册页中显示了比 head 还多的可用参数,其中有一个很好用的参数 " -f ",使用此参数时,tail 不会回传结束信号,除非我们去自行去中断它;相反的,它会一直等待一段时间,一直到他发现资料自它最后一次被读取后,又被加入新的一行时:

(4)?

  display ongoing updates to the given

  log file

  tail -f /usr/tmp/logs/daemon_log.txt

  上述范例可以动态显示该 log 文件的动态更新。

  假设该服务程序是一直不断的加入动态资料到/usr/adm/logs/daemon_log.txt 的 log 文件里,在命令列控制窗口中使用 tail -f,它将会以一定的时间实时追踪该档的所有更新。 ( -f 的只有在其输入为档案时才能使用 )。

  假如你在 tail 后下了多个档案参数,你便能在同一个窗口内一次追踪数个 log 档:

  track the mail log and the server error log

  at the same time.

  tail -f /var/log/mail.log /var/log/apache/error_log

  tac -- 反过来串连?!

   cat 倒过来怎么拼 ? 对啦 !! 这就是 tac 的功能啰 ~ 它是把档案的顺序内容反过来串连用的,那么 ~ 它都用在什么状况下呢 ? 任何须要以后进先出的顺序重新排列组件的工作都用得上它 ! 以下面的指令来说,便是以自最后建立的到最先建立的顺序,列出三个最新建的使用者帐号:

(5)?

  last 3 /etc/passwd records - in reverse

  $ tail -3 /etc/passwd | tac

  curly:x:1003:100:3rd Stooge:/homes/curly:/bin/ksh

  larry:x:1002:100:2nd Stooge:/homes/larry:/bin/ksh

  moe:x:1001:100:1st Stooge:/homes/moe:/bin/ksh

 

查看文件内容的特殊方法
  相信最基本的cat和less,more你已经很熟悉了,如果有特殊的要求呢:
1. 如果你只想看文件的前5行,可以使用head命令,如:
head -5 /etc/passwd
2. 如果你想查看文件的后10行,可以使用tail命令,如:
tail -10 /etc/passwd
tail -f /var/log/messages
参数-f使tail不停地去读最新的内容,这样有实时监视的效果

一、UNIX下的TAIL命令

说明:部分内容摘录自"永远的UNIX",http://fanqiang.chinaunix.net/

NAME(名称)

tail - 输出文件的末尾部分

SYNOPSIS(总览)

../src/tail [OPTION]... [FILE]...

DESCRIPTION(描述)

在标准输出上显示每个FILE的最后10行. 如果多于一个FILE,会一个接一个地显示, 并在每个文件显示的首部给出文件名. 如果没有FILE,或者FILE是-,那么就从标准输入上读取.

--retry
即使tail开始时就不能访问或者在tail运行后不能访问,也仍然不停地尝试打开文件. -- 只与-f合用时有用.
-c, --bytes=N
输出最后N个字节
-f, --follow[={name|descriptor}]
当文件增长时,输出后续添加的数据; -f, --follow以及 --follow=descriptor 都是相同的意思
-n, --lines=N
输出最后N行,而非默认的最后10行
--max-unchanged-stats=N
参看texinfo文档(默认为5)
--max-consecutive-size-changes=N
参看texinfo文档(默认为200)
--pid=PID
-f合用,表示在进程ID,PID死掉之后结束.
-q, --quiet, --silent
从不输出给出文件名的首部
-s, --sleep-interval=S
-f合用,表示在每次反复的间隔休眠S秒
-v, --verbose
总是输出给出文件名的首部
--help
显示帮助信息后退出
--version
输出版本信息后退出

如果N(字节或者行数)的第一个字符为`+', 那么从每个文件的开头算起的第N项开始显示, 否则, 显示该文件的最后N项. N可以有一个倍数前缀: b表示512,k表示1024,m表示1048576(1兆). 第一个选项 -VALUE 或+VALUE 以-n VALUE或-n +VALUE 方式看待,除非VALUE含有[bkm]后缀倍数中的一个,在这种情况下,它被看作 -c VALUE 或者-c +VALUE

使用--follow (-f)时,tail默认后接文件描述符, 这意味着即使tail显示的文件改名了,tail仍然可以追踪到其末尾部分. 如果你确实希望查询文件的实际名而非文件描述符 (例如,日志轮转时), 这种默认的操作就不是你所期望的了. 在这种情况下应使用--follow=name. 这将导致tail通过周期性地重新打开所指定的文件来追踪其是否被删除了,或者被其他程序重新创建了.

        tail 的完整文档是以Texinfo手册形式维护的. 如果 infotail 程序在你那儿都已经安装好了,那么命令:info tail 应该会让你访问到整篇手册.

       从上面的说明可以看到,最常用的形式是:tail   -f   sys.log

二、WINDOWS下的TAIL工具

  sourceforge上有个tail工具不错, 推荐给大家
    1. 首先当然是tail功能了, 可以tail多个文件, 如access.log, error.log
    2. 关键字高亮功能.
    3. workspace管理.
    4. 绿色, 免安装, 只有164k

     下载地址 http://sourceforge.net/projects/tailforwin32

其他:

用途

从指定点开始将文件写到标准输出。使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容。

 

 

语法

标准语法

tail [  -f ] [  -c Number |  -n Number |  -m Number |  -b Number |  -k Number ] [ File ]

 

 

要以逆序显示行

tail [  -r ] [  -n Number ] [ File ]

 

 

描述

tail 命令从指定点开始将File 参数指定的文件写到标准输出。如果没有指定文件,则会使用标准输入。Number 变量指定将多少单元写入标准输出。Number 变量的值可以是正的或负的整数。如果值的前面有+(加号),从文件开头指定的单元数开始将文件写到标准输出。如果值的前面有-(减号),则从文件末尾指定 的单元数开始将文件写到标准输出。如果值前面没有+(加号)或-(减号),那么从文件末尾指定的单元号开始读取文件。

 

 

Number 变量用于确定计数的起点的单元类型由-b、-c、-k、-m 以及-n 标志确定。如果没有指定其中的任何一个标志,那么tail 命令就会读取指定文件的最后十行,并将其写到标准输出。这与在命令行输入-n 10 是相同的。

 

 

-m 标志在单字节和双字节字符环境中提供了一致的结果。当输入是包含多字节字符的文本文件时应谨慎使用-c 标志,因为产生的输出可能不从字符边界开始。

 

 

标志

 

-b Number

从Number 变量表示的512 字节块位置开始读取指定文件。

 

-c Number

从Number 变量表示的字节位置开始读取指定文件。

 

-f

如果输入文件是常规文件或如果File 参数指定FIFO(先进先出),那么tail 命令不会在复制了输入文件的最后的指定单元后终止,而是继续从输入文件读取和复制额外的单元(当这些单元可用时)。如果没有指定File 参数,并且标准输入是管道,则会忽略-f 标志。tail -f 命令可用于监视另一个进程正在写入的文件的增长。

 

-k Number

从Number 变量表示的1KB 块位置开始读取指定文件。

 

-m Number

从Number 变量表示的多字节字符位置开始读取指定文件。使用该标志提供在单字节和双字节字符代码集环境中的一致结果。

 

-n Number

从Number 变量表示的行位置开始读取指定文件。

 

-r

从文件末尾以逆序方式显示输出。-r 标志的缺省值是以逆序方式打印整个文件。如果文件大于20,480 字节,那么-r 标志只显示最后的20,480 字节。

 

-r 标志只有与-n 标志一起时才有效。否则,就会将其忽略。

 

 

退出状态

该命令返回下列的退出值:

 

 

0

成功完成。

 

>0

出现错误。

 

示例

要显示notes 文件的最后十行,输入:

 

tail notes要指定从notes 文件末尾开始读取的行数,输入:

tail  -n 20 notes

要从第200 字节开始,每次显示一页notes 文件,输入:

tail  -c +200 notes | pg

要跟踪文件的增长,输入:

tail  -f accounts

这显示accounts 文件的最后十行。tail 命令继续显示添加到accounts 文件中的行。显示会一直继续,直到您按下Ctrl-C 按键顺序来停止。

文件

 

/usr/bin/tail

包含tail 命令。

分享到:
评论

相关推荐

    Linuxtail命令详解[借鉴].pdf

    Linux tail 命令详解 Linux tail 命令是用于从指定点开始将文件写到标准输出的命令。它的主要用途是查看文件的最后一部分内容,或者是在文件末尾追加新的内容时实时查看文件的变化。 基本语法:tail [ -f ] [ -c ...

    一个简单的linux命令 tail

    **Linux Tail 命令详解** `tail` 是 Linux 系统中一个非常实用的命令,它允许用户查看文件的尾部内容,尤其适用于监控日志文件的实时变化。这个命令对于系统管理员来说是日常工作中不可或缺的工具,因为它可以帮助...

    linux中tail 命令使用详解.docx

    Linux 中 tail 命令使用详解 Tail 命令是 Linux 中一个功能强大且常用的命令,用于显示文件的末尾内容。它可以从指定点开始将文件写到标准输出,并且可以实时监控文件的变化。 基本用法 Tail 命令的基本格式为:...

    Linux系统head与tail命令详解.doc

    在Linux操作系统中,`head`和`tail`是两个非常实用的命令行工具,它们用于查看文件的内容。这两个命令在日常的系统管理和故障排查中扮演着重要的角色,因为它们允许用户快速浏览文件的开头或结尾,而不必打开整个...

    Linux中tail命令用法详解

    tail命令也是一个非常常用的文件查看类的命令,今天就为大家介绍下Linux tail命令的用法。 更多Linux命令详情请看:Linux命令速查手册 Linux tail命令主要用来从指定点开始将文件写到标准输出。很多人喜欢使用tail ...

    linux常用命令详解

    Linux常用命令详解 Linux操作系统中有许多常用命令,掌握这些命令可以帮助用户更好地使用Linux系统。下面详细介绍一些常用的Linux命令。 一、文件处理命令 1. ls命令:ls命令是list的缩写,用于查看目录中的文件...

    Linux tail 命令用法详解

    Linux tail 命令 tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。 tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就...

    Linux编程命令详解

    本文将深入探讨“Linux编程命令详解”这一主题,主要围绕以下几个知识点展开: 1. **Linux命令行基础**:Linux操作系统主要通过命令行界面与用户交互,掌握常用命令是Linux编程的基础。例如`ls`用于列出目录内容,`...

    linux常用命令详解教程

    ### Linux常用命令详解教程 #### 一、引言 Linux作为一种强大的开源操作系统,在服务器领域有着广泛的应用,并且因其稳定性、安全性和灵活性而受到广大技术人员的青睐。本文将深入讲解Linux中的常用命令及其应用...

    Linux命令详解手册.zip

    "Linux命令详解手册"提供了全面的命令指南,帮助用户理解和运用各种命令来高效地操作Linux系统。下面将详细阐述Linux命令的主要类别及其重要用途。 1. 文件和目录管理: - `ls`:列出目录内容,常用于查看当前目录...

    LINUX常用命令详解

    以下是一些常见的Linux命令详解: 1. **cd (Change Directory)**:用于切换当前工作目录。例如,`cd /home/user` 将你带入 `/home/user` 目录。 2. **pwd (Print Working Directory)**:显示当前工作目录的完整...

    linux-tail.txt

    ### Linux `tail` 命令详解 #### 一、命令简介 `tail` 是一个在 Linux 和 Unix 系统中常用的命令行工具,用于显示文件的末尾部分。默认情况下,`tail` 命令会显示文件的最后十行内容。此命令非常适合实时监控日志...

    详解linux tail命令显示最后n行

    用于linux查看日志的时候很方便,假如日志文件为:Console.log 用法: 1. tail Console.log 输出文件最后10行的内容 2. tail -nf Console.log –n为最后n行 输出文件最后n行的内容,同时监视文件的改变,只要...

    linux常用命令大全.pdf

    ### Linux常用命令大全 #### 一、文件管理 1. **查看目录与文件** - **ls**: 用于列出当前目录下的文件和子目录。常用选项包括: - `-l`: 以长格式显示文件详细信息,如权限、所有者、大小等。 - `-a`: 显示...

    Linux 命令head和tail常见用法详解

    Linux中的`head`和`tail`命令是两个非常实用的工具,它们被广泛用于查看文件的开头或结尾部分,而不必打开整个文件。这两个命令在系统管理、日志监控和故障排查等方面尤其有用。 首先,我们来看`head`命令。`head`...

    Linux常用命令以及进阶命令

    Linux常用命令以及进阶命令 侵权删 平时的工作中经常碰到很多疑难问题的处理,在解决问题的同时,有一些工具起到了相当大的作用,在此书写下来,一是作为笔记,可以让自己后续忘记了可快速翻阅,二是分享,希望看到...

    linux常用命令详解(小强提供).pdf

    在Linux中,熟练掌握常用命令是高效工作的关键。以下是一些主要的Linux命令及其详细解释: 1. **man** 命令:`man` 是“manual”的缩写,用于查看Linux系统中任何命令的详细帮助文档。只需输入`man`后面接你要查询...

    linux 命令大全 各种命令详解

    Linux命令大全提供了丰富的命令详解,帮助用户深入理解和运用这些工具。以下是一些重要的Linux命令及其详细解释: 1. `ls`:列出目录内容,常用选项有 `-l` 以详细格式显示,`-a` 显示所有文件(包括隐藏文件),`-...

Global site tag (gtag.js) - Google Analytics