每天一个linux命令:tail(16)
tail
tail命令用于输入文件中的尾部内容,不指定文件时,作为输入信息进行处理。tail命令默认在屏幕上显示指定文件的末尾10行。命令从指定点开始将文件写到标准输出,使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把文件里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容 ,常用于查看日志 。常用查看日志文件。
格式
tail [参数] [文件]
参数选项
| 参数 | 备注 |
|---|---|
| -f | 显示文件最新追加的内容,循环读取 |
| -q | 不显示处理信息,当有多个文件参数时,不输出各个文件名 |
| -v | 显示详细的处理信息,当有多个文件参数时,总是输出各个文件名 |
| -c | 显示的字节数 |
| -n | 显示行数 |
| --pid | 与-f合用,表示在进程ID,PID死掉之后结束 |
| -s, | -s或--sleep-interal=<秒数 常与“-f”选项连用,指定监视文件变化时间隔的秒数 |
实例
显示文件末尾内容
命令: **tail -n 5 myFile **
[root@VM_0_9_centos ~]# cat myFile
this is line 1;
this is line 2;
this is line 3;
tihs is line 4;
this is line 5;
this is line 6;
this is line 7;
this is line 8;
this is line 9;
this is line 10;
this is line 11;
this is line 12;
this is line 13;
this is line 14;
[root@VM_0_9_centos ~]# tail -n -5 myFile
this is line 10;
this is line 11;
this is line 12;
this is line 13;
this is line 14;
[root@VM_0_9_centos ~]#
从第5行开始显示文件
命令: **tail -n +5 myFile **
[root@VM_0_9_centos ~]# tail -n +5 myFile
this is line 5;
this is line 6;
this is line 7;
this is line 8;
this is line 9;
this is line 10;
this is line 11;
this is line 12;
this is line 13;
this is line 14;
循环查看文件内容
命令: tail -f myLog.log
[root@VM_0_9_centos ~]# ping www.baidu.com >> myLog.log &
[1] 32614
[root@VM_0_9_centos ~]# tail -f myLog.log
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=4 ttl=54 time=2.74 ms
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=5 ttl=54 time=2.73 ms
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=6 ttl=54 time=2.81 ms
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=7 ttl=54 time=2.72 ms
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=8 ttl=54 time=2.73 ms
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=9 ttl=54 time=2.78 ms
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=10 ttl=54 time=2.76 ms
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=11 ttl=54 time=2.75 ms
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=12 ttl=54 time=2.72 ms
...
相关
nohup 与 & 的区别
nohup-- invoke a utility immune to hangups:运行命令忽略挂起信号&:是指后台运行nohup的功能和& 之间的功能并不相同。其中,
nohup可以使得命令永远运行下去和用户终端没有关系。当我们断开ssh 连接的时候不会影响他的运行。而& 表示后台运行。当ssh 断开连接的时候(用户退出或挂起的时候),命令也自动退出。可以把两者结合起来使用:当然我们可以把两者结合起来使用:
nohup command &
来实现命令的后台运行并且和用户终端没有关系。
例子
ping www.baidu.com >> myLog.log &
将
ping www.baidu.com >> myLog.log任务放到后台 ,此时ctrl+c,该任务继续正常运行, 前台依然能够接收任何输入 ,因为对SIGINT信号免疫 。关闭shell退出当前session则该任务进程关闭,可见&的后台并不硬(因为对SIGHUP信号不免疫),通过jobs命令可以查询到当前任务nohup ping www.baidu.com >> myLog.log
nohup的意思是忽略SIGHUP信号, 所以当运行
ping www.baidu.com >> myLog.log的时候, 关闭shell, 那么该任务进程还是存在的(对SIGHUP信号免疫)。 但是,此时shell会关闭标准输入,前台不再能够接收任何输入(标准输入),重定向标准输出和标准错误到当前目录下的nohup.out文件 ,如果你直接在shell中用ctrl+c, 那么, 该任务进程也是会消失的(因为对SIGINT信号不免疫);#nohup ping www.baidu.com >> myLog.log & 这个会报错
nohup ping www.baidu.com >> myLog.log 2>&1
将
ping www.baidu.com >> myLog.log任务放到后台,但是依然可以使用标准输入,前台能够接收任何输入,重定向标准输出和标准错误到当前目录下的nohup.out文件,即使关闭shell退出当前session依然继续运行。
查看当前的后台任务
jobs命令
-l选项可显示所有任务的PID,jobs的状态可以是running, stopped,Terminated,但是如果任务被终止了(kill),shell从当前的shell环境已知的列表中删除任务的进程标识;也就是说,jobs命令显示的是当前shell环境中所起的后台正在运行或者被挂起的任务信息
参考
- Linux命令大全
- github-tldr
- 每天一个linux命令:tail命
- 别把&和nohup混为一谈, 根本不是同一个东西好不好 ------ 聊聊./a.out & , nohut ./a.out , nohup ./a.out &的区别
- Linux中查看及终止正在运行的后台程序
- 解决linux环境下nohup: redirecting stderr to stdout问题
每天一个linux命令:tail(16)的更多相关文章
- 每天一个linux命令(16):tail命令
版权声明更新:2017-05-20博主:LuckyAlan联系:liuwenvip163@163.com声明:吃水不忘挖井人,转载请注明出处! 1 文章介绍 本文介绍了Linux下面的mv命令. 2. ...
- 每天一个 Linux 命令(16):which命令
我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索: which 查看可执行文件的位置. whereis 查看文件的位置. locate 配合数据库查看文件位置 ...
- 每天一个linux命令(16):which命令
我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索: which 查看可执行文件的位置. whereis 查看文件的位置. ...
- 每天一个Linux命令(16)--which命令
把昨天的,留给昨天:今日,你将重新开始. 好的,在第一个阶段我们学习了 文件目录的操作命令: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ls cd pwd mkdir ...
- 【转】每天一个linux命令(16):which命令
原文网址:http://www.cnblogs.com/peida/archive/2012/11/08/2759805.html 我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面 ...
- 每天一个Linux命令(16)which命令
which命令用于查找并显示给定命令的绝对路径. 环境变量PATH中保存了查找命令时需要遍历的目录.which指令会在环境变量$PATH设置的目录里查找符合条件的文件.也就是说,使用which命令,就 ...
- 每天一个linux命令(16):whereis 命令
whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b).man说明文件(参数-m)和源代码文件(参数-s).如果省略参数,则返回所有信息. 和 find相比,whereis查找的速度 ...
- 每天一个 Linux 命令(16):which whereis locate命令
which 查看可执行文件的位置. whereis 查看文件的位置. locate 配合数据库查看文件位置.#whereis 和locate是从文件数据库里查找 数据库默认一个星期更新一次,所有 ...
- 每天一个 Linux 命令(21):find命令之xargs
在使用 find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行.但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出 ...
- 每天一个linux命令目录
出处:http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令,坚持每天一个命令,所以这个系列为每 ...
随机推荐
- xpath进阶
目标: 抓取页面列表信息,并且获取第四个单元格得指定属性 代码: import requests from lxml import etree resp = requests.get('http:// ...
- C++ lower_bound 与 upper_bound 函数
头文件: #include <algorithm> 二分查找的函数有 3 个: 参考:C++ lower_bound 和upper_bound lower_bound(起始地址,结束地址 ...
- scrapy-redis源码浅析
原文链接 前言 分析这个项目的源码原因是需要有去重过滤,增量爬取两个功能,而scrapy-redis项目已经帮我们实现了,想看看他是怎么实现的.这里只贴出部分主要代码,查看时请打开源码对照,笔记有点长 ...
- day36—javascript对表格table的操作应用(一)
转行学开发,代码100天——2018-04-21 今天记录一下,JavaScript对表格table的操作应用,包括表格元素的获取,创建,删除等. 一个普通的完整表格包括以下几个部分:table-&g ...
- shell脚本一一项目3
主题:批量创建100个用户并设置密码 脚本内容 user_list=$@user_file=./user.infofor USER in ${user_list};do if ! id $USER & ...
- CET-6 分频周计划生词筛选(番外篇:百词斩)
点我阅读 番外-百词斩 2016.09.18 12:00pm transverse counterpart accessory cult gorgeous sediment assimilate st ...
- mooc-IDEA 调试代码--012
mooc-IDEA 调试代码 添加断点快捷键:ctrl+F8 单步运行:F9 <=>resum(从一个断点跳转到下一个断点) 一行一行运行:F8 查看所有断点: 禁止所有断点: 条件断点 ...
- spring-第四篇之让bean获取所在的spring容器
1.如上一篇文章所述,有时候bean想发布一些容器事件,就需要先获取spring容器,然后将Event交由spring容器将事件发布出去. 为了让bean获取它所在的spring容器,可以让该bean ...
- #python# 代理过程中遇到的error
做一下总结 urllib.error.HTTPError: HTTP Error 503: Too many open connections TimeoutError: [WinError 1006 ...
- hdu6341 Problem J. Let Sudoku Rotate (dfs)
题目传送门 题意: 给你16个16宫格的数独,里面是0~F,你可以逆时针旋转里面的每个16宫格 问你它是从标准数独逆时针旋转多少次得到? 思路: 可以知道每个16宫已经是标准的了,接下来只要考虑每行. ...