00. 目录

文章目录

  • 00. 目录
  • 01. 命令概述
  • 02. 命令格式
  • 03. 常用选项
  • 04. 参考示例
  • 05. 附录

01. 命令概述

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

tail命令用于输入文件中的尾部内容。tail命令默认在屏幕上显示指定文件的末尾10行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为“-”,则读取标准输入。

注意:如果表示字节或行数的N值之前有一个”+”号,则从文件开头的第N项开始显示,而不是显示文件的最后N项。N值后面可以有后缀:b表示512,k表示1024,m表示1 048576(1M)。

02. 命令格式

tail [选项]… [文件]…

03. 常用选项

tail - 输出文件的末尾部分在标准输出上显示每个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通过周期性地重新打开所指定的文件来 追踪其是否被删除了,或者被其他程序重新创建了.

04. 参考示例

4.1 输出文件最后10行

默认情况下,将文件的最后 10 行打印到标准输出。

[deng@localhost test]$ tail /etc/passwd
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
gnome-initial-setup:x:989:983::/run/gnome-initial-setup/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
deng:x:1000:1000:deng:/home/deng:/bin/bash
oracle:x:1001:1002::/home/oracle:/bin/bash
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/false
itcast:x:1002:1003::/home/itcast:/bin/bash
[deng@localhost test]$

4.2 输出最后 n 行的内容

如果要输出最后 n(这里为 5)行的内容,而非默认的最后 10 行,使用 -n 选项。

[deng@localhost test]$ tail -n 5 /etc/passwd
tcpdump:x:72:72::/:/sbin/nologin
deng:x:1000:1000:deng:/home/deng:/bin/bash
oracle:x:1001:1002::/home/oracle:/bin/bash
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/false
itcast:x:1002:1003::/home/itcast:/bin/bash
[deng@localhost test]$

4.3 从第n行开始显示文件的内容

从第n(这里为 40)行开始显示文件的内容,直至文件末尾。

[deng@localhost test]$ tail -n +40 /etc/passwd
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
deng:x:1000:1000:deng:/home/deng:/bin/bash
oracle:x:1001:1002::/home/oracle:/bin/bash
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/false
itcast:x:1002:1003::/home/itcast:/bin/bash
[deng@localhost test]$

4.4 输出最后n 个字节的内容

使用 -c 选项,可以指定显示文件的最后 n(这里为 5)个字节的内容。

[deng@localhost test]$ tail -c 5 /etc/passwd
bash
[deng@localhost test]$

4.5 显示多文件最后k行,并且不显示文件名的文件头

[deng@localhost test]$ tail -q -n 2 a.txt file.txt
/home
==============================
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
[deng@localhost test]$

4.6 显示多文件最后k行,并且显示文件名的文件头

[deng@localhost test]$ tail -n 2 a.txt  file.txt
==> a.txt <==
/home
================================> file.txt <==
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
[deng@localhost test]$ 

4.7 当文件增长时,动态查看文件追加的内容

由于a.txtg随时会有资料写入,想要让该档案在有资料写入时就立刻显示到屏幕上,就利用 -f 选项,可以一直侦测该档案,新加入的资料都会被显示到屏幕上,直到按下 Ctrl + C 才会离开。

[deng@localhost test]$ tail -f a.txt
/etc/passwd
/home
==============================
hello world

4.8 组合使用

列出输出的最后5行

[deng@localhost test]$ cat /etc/passwd | tail -n 5
tcpdump:x:72:72::/:/sbin/nologin
deng:x:1000:1000:deng:/home/deng:/bin/bash
oracle:x:1001:1002::/home/oracle:/bin/bash
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/false
itcast:x:1002:1003::/home/itcast:/bin/bash
[deng@localhost test]$

05. 附录

参考:【Linux】一步一步学Linux系列教程汇总

【Linux】一步一步学Linux——tail命令(42)相关推荐

  1. 学linux作用,linux有必要学吗?学linux有什么作用,学linux能干什么

    Linux是一种自由和开放源码的类UNIX操作系统.Linux有必要学吗?学Linux有什么作用,学Linux能干什么?Linux最大的作用就是提高效率.当你习惯在Linux命令行下工作,再回到win ...

  2. LINUX学习之路(学LINUX必看)

    很多同学接触Linux不多,对Linux平台的开发更是一无所知.而现在的趋势越来越表明,作为一 个优秀的软件开发人员,或计算机IT行业从业人员,掌握Linux是一种很重要的谋生资源与手段.下来我将会结 ...

  3. linux学习需要什么基础,学linux需要什么基础?

    近几年来,随着计算机网络的发展,越来越多的人学习 linux.对于想要从事运维工作或者从事智能开发方面的同学来说,学习 linux 是必要的.linux 的学习并不简单,那么这篇文章 w3cschoo ...

  4. 分享--linux 学习之路(学linux必看)

    很多同学接触Linux不多,对Linux平台的开发更是一无所知. 而现在的趋势越来越表明,作为一个优秀的软件开发人员,或计算机IT行业从业人员, 掌握Linux是一种很重要的谋生资源与手段. 下来我将 ...

  5. 英语不好学linux运维难吗,学Linux系统难吗?学好Linux运维需要多久

    随着近年来经济的快速发展,企业对Linux人才的需求也越来越高.许多人认为,Linux是一个非常简单的行业,然而,Linux行业是一个综合了云计算.Linux运维.Linux开发.Linux编程等多方 ...

  6. 不会linux的php难找工作,学linux系统难吗

    这是 Linux初学者经常会问的问题,其实Linux和Windows一样都属于操作系统,对于大部分人来说,对Windows操作系统十分熟悉,而对Linux操作系统没有使用过,所以觉得很难,其实,只要熟 ...

  7. linux lamp实验报告,新手学Linux--构建lamp

    本人前不久开始学习Linux,俗话说得好,好记性不如烂笔头,于是决定将平日所学所做实验,记录下来,以备回顾.由于本人是个初学者,所以借鉴了很多网上的资料,但在此处写出来的都是经过本人思考和多次实验的记 ...

  8. Linux 命令(87)—— tail 命令

    1.命令简介 tail 命令用于显示文件尾部内容,与命令 head 作用相反.默认情况下,显示文件的末尾 10 行内容. 2.命令格式 tail [OPTION]... [FILE]... 可以指定多 ...

  9. Linux其实没那么难学

    互联网技术总是更新迭代的,因为2020年的一场疫情,影响着中国乃至整个世界,就在这一年,网络直播,远程办公,在线教育等等的互联网产物进入了众多人的世界,当然,这其中离不开程序员的功劳. 李开复曾经说过 ...

最新文章

  1. 2021春季学期-创新设计与实践-Lesson1
  2. 一句话告诉你们什么是大数据
  3. 【PAT乙级】1093 字符串A+B (20 分)
  4. 生成TFrecord
  5. 【图论】清理牛棚/Cleaning Shifts S(luogu 4644)
  6. IT工具与知识管理理念的紧密结合----A咨询公司简介
  7. VMware Linux VDI 安装步骤
  8. 一起学java【5】---原生态数据类型使用陷阱
  9. matlab运行出现:Optimization terminated.
  10. java中判断一个单词是否以a开头_查找Java中所有以'a'开头的单词
  11. python查找csv中某个数据_使用Python从CSV文件中查找中值
  12. mysql 增加临时表空间_数据库临时表空间设置
  13. 【笔记】PS制作身份证复印件
  14. java newline_Java BufferedWriter newLine()方法
  15. 计算机打印机共享失败,打印机共享失败终极解决办法
  16. 项目开发流程及开发模式
  17. 金士顿dtse9g2 PS2251-07 海力士(Hynix) flash not support
  18. Ubuntu系统输入密码无法进入桌面
  19. 适合人工智能AI的编程语言有哪些 哪些语言适用于人工智能 人工智能开发语言排行榜
  20. 用Python基本语法实现一个购物车功能

热门文章

  1. ExtJS学习:MVC模式案例(三)
  2. HDU-2159 FATE 二维背包
  3. C# 监控统计 程序执行 时间
  4. 我的.net程序在linux上运行起啦
  5. java 容器_JAVA的容器
  6. activity 点击后传递数据给fragment_Fragment 的过去、现在和将来
  7. Java黑皮书课后题第4章:*4.23(金融应用:酬金)编写一个程序,读取下面信息,然后输出一个酬金声明
  8. oracle 触发器登录,【学习笔记】Oracle触发器 实现指定用户登录oracle案例
  9. 计算机音乐乐谱再也没有,再也没有简谱-Ryan.B/杨佬叁演唱-孙世彦制谱
  10. tombstone问题分析