首页
Javascript
Html
Css
Node.js
Electron
移动开发
工具类
服务端
浏览器相关
前端收藏
其他

tail命令详情

2017年05月23日 发布 阅读(338) 作者:懒炖

tail的英文意思

读: 英 [teɪl] 美 [tel]
n. 尾巴;踪迹;辫子;燕尾服
vt. 尾随;装上尾巴
vi. 跟踪;变少或缩小
adj. 从后面而来的;尾部的

tail命令有什么用?

  • 用于查看文件内容,显示文件的最后几行

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

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

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

  • tail 命令从指定点开始将 File 参数指定的文件写到标准输出。如果没有指定文件,则会使用标准输入。

  • 使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容

语法

标准语法
  1. tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ]
要逆序显示行,请输入:
  1. tail [ -r ] [ -n Number ] [ File ]

参数

参数类型说明
-bNumber从 Number 变量表示的 512 字节块位置开始读取指定文件。
-cNumber显示的字节数.从 Number 变量表示的字节位置开始读取指定文件。
-f循环读取. 如果输入文件是常规文件或如果>如果输入文件是常规文件或如果 File 参数指定 FIFO(先进先出),那么 tail 命令不会在复制了输入文件的最后的指定单元后终止,而是继续从输入文件读取和复制额外的单元(当这些单元可用时)。如果没有指定 File 参数,并且标准输入是管道,那么会忽略 -f 标志。tail -f 命令可用于监视另一个进程正在写入的文件的增长。
—pid=PID与-f合用,表示在进程ID,PID死掉之后结束.
-kNumber从 Number 变量表示的 1KB 块位置开始读取指定文件。
-mNumber从 Number 变量表示的多字节字符位置开始读取指定文件。使用该标志提供在单字节和双字节字符代码集环境中的一致结果。
-nNumber显示行数.从首行或末行位置来读取指定文件,位置由 Number 变量的符号(+ 或 - 或无)表示,并通过行号 Number 进行位移。
-r末尾以逆序方式显示输出。-r 标志的缺省值为以逆序方式显示整个文件。如果文件大于 20,480 字节,那么 -r 标志只显示最后的 20,480 字节。
-q,—quiet,—silent从不输出给出文件名的首部
-v显示详细的处理信息
-s, —sleep,-interval=S与-f合用,表示在每次反复的间隔休眠S秒

栗子

1.查看日志

  1. tail -f /data/logs/web-access.log
  2. //查看后50行日志
  3. tail -50f /data/logs/web-access.log

2.要显示 notes 文件的最后十行

tail notes

3.要指定从 notes 文件末尾开始读取的行数

  1. tail -n 20 notes

4.要从第 200 字节开始,每次显示一页 notes 文件

  1. tail -c +200 notes | pg

5.要跟踪文件的增长,请输入

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

linux下tail文件位置

/usr/bin/tail

参考

https://www.ibm.com/support/knowledgecenter/zh/ssw_aix_72/com.ibm.aix.cmds5/tail.htm
http://www.cnblogs.com/peida/archive/2012/11/07/2758084.html

版权声明:本站文章除特别声明外,均采用署名-非商业性使用-禁止演绎 4.0 国际 许可协议,如需转载,请注明出处

评论

  •  
  • Linux中apt与apt-get命令的区别与解释

    Ubuntu 16.04 发布时,一个引人注目的新特性便是 apt 命令的引入。其实早在 2014 年,apt 命令就已经发布了第一个稳定版,只是直到 2016 年的 Ubuntu 16.04 系统发布时才开始引人关注。随着 apt install package 命令的使用频率和普遍性逐步超过 apt-get install package,越来越多的其它 Linux 发行版也开始遵循 Ubuntu 的脚步,开始鼓励用户使用 apt 而不是 apt-get。

    发布:2019-03-04 阅读(252)

  • git bisect 命令教程

    它的原理很简单,就是将代码提交的历史,按照两分法不断缩小定位。所谓"两分法",就是将代码历史一分为二,确定问题出在前半部分,还是后半部分,不断执行这个过程,直到范围缩小到某一次代码提交。

    发布:2018-12-27 阅读(348)

  • 使用tree命令生成目录树(目录结构)

    项目目录树是如何做的?手动写吗,不可能的,很简单就是使用tree命令

    发布:2018-12-20 阅读(532)

  • electron .命令是什么?

    electron .命令是什么?能换成别的目录吗?当然可以~

    发布:2018-12-10 阅读(344)

  • eggjs启动报spawn tail ENOENT错误

    网站是基于eggjs写的,某天突然报spawn tail ENOENT错误,难道'child_process'调用spawn问题?

    发布:2018-10-12 阅读(842)

  • ECMA-262-3 in detail——第七章:OOP(第二部分:ECMAScript实现)

    这一章的第二部分是关于EMCAScript中的面向对象编程。在第一部分中我们讨论了OOP的基本理论并勾画出和ECMAScript的相似之处。在阅读第二部分之前,如果有必要,我还是建议首先阅读这一章的第一部分.基本理论,因为后面将会用到其中的一些术语。

    发布:2015-05-26 阅读(203)

  • ECMA-262-3 in detail——第七章:OOP(第一部分:一般理论)

    这一章我们讨论ECMAScript中面向对象编程(object-oriented programming)的几个主要方面。由于这一主题已经在许多文章中谈论过,本章并不打算“老调重弹”,而是试图更多地着眼于这些过程内在的理论方面。尤其是,我们将研究对象创建的算法,看看对象间的关系(包括最基本的关系——继承)是如何实现的,并且给出一些讨论中将用到的准确定义(我希望这样能够打消一些术语和思路上的疑惑以及一些关于Javascript文章中OOP部分的常见的混淆)。

    发布:2015-05-06 阅读(202)

  • ECMA-262-3 in detail——第六章:闭包

    在这一章中我们来谈谈Javascript中被讨论最多的话题之一——关于闭包(closures)。事实上这个主题并不是新鲜的。然而我们在这里将试着更多从理论的角度去分析和理解它,然后我们还会看一下ECMAScript内关于闭包的内容。

    发布:2015-04-28 阅读(184)

  • ECMA-262-3 in detail——第五章:函数

    在这章里我们讨论ECMAScript中的一个基本对象——函数。我们将会看到不同类型的函数如何影响一个上下文中的变量对象,以及这些函数的作用域链中都包含什么。我们将会回答像下面这样经常被问到的问题:“下面这两种创建函数的方式有什么区别吗(如果有的话,区别是什么呢)?”

    发布:2015-04-17 阅读(181)

  • ECMA-262-3 in detail——第四章:作用域链

    正如我们从第二章.变量对象中了解到的,执行上下文的数据(变量,函数声明,函数形参)以变量对象的属性的方式储存。

    发布:2015-04-07 阅读(173)