每天一个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常用命令,坚持每天一个命令,所以这个系列为每 ...
随机推荐
- face_recognition开源人脸识别库:离线识别率高达99.38%
基于Python的开源人脸识别库:离线识别率高达99.38%——新开源的用了一下感受一下 原创 2017年07月28日 21:25:28 标签: 人脸识别 / 人脸自动定位 / 人脸识别开源库 / f ...
- Altium Designer chapter1总结
第一章操作基础中有以下几点需要注意: (1)随着DSP.ARM.FPGA等高速逻辑元件的应用,PCB的信号完整性与抗干扰性能显得尤为重要. (2)Altium Designer的发展史:Protel ...
- MAC-安装套件管理工具Homebrew
前言 Homebrew是一款Mac OS下的套件管理工具,拥有安装.卸载.更新.查看.搜索等很多实用的功能. Homebrew安装 1,Homebrew官网获取安装指令,官网地址:https://br ...
- 《STL源码剖析》——第五、六:关联容器与算法
第五章.关联容器 5.0.关联容器 标准的STL关联式容器分为set(集合)和map(映射表)两大类,以及这两大类的衍生体multiset(多键集合)和multimap(多键映射表).这些容器的底层 ...
- 深信达加密下禁用IME
1.控制面板 2.管理工具 3.计算机管理 4.系统工具 5.任务计划程序 6.任务计划程序库 7.Microsoft 8.Windows 9.TextServicesFramework 10.MsC ...
- Learning OSG programing---Multi Camera in Multi window 在多窗口中创建多相机
这个例子演示了在多个窗口中创建多个相机,函数的代码如下: void multiWindowMultipleCameras(osgViewer::Viewer& viewer,bool mult ...
- JAVA线程同步通信
以下讲解Lock线程同步通信,也是比synchronized强大的一个功能点 先看一个常规的案例: 用户类 public class Person { public void eat(){ for(i ...
- Java稀疏数组
一.概述 1.概念 2.处理方法 3.示例 原数组如下: 转换为稀疏数组如下: 二.代码 1.主方法 @Testpublic void SparseTest() { // 创建一个原始的二维数组 11 ...
- [CF804F]Fake bullions
Solution: 这题可以分为两个部分, 一个部分为处理出每个点最大的金条数与最小的金条数,记为 \([Min_i, Max_i]\) 第二部分为对于 \(n\) 个变量 \(x_i\i ...
- (Vue)移动端点击输入框,弹出键盘,底部被顶起问题
(Vue)移动端点击输入框,弹出键盘,底部被顶起问题:https://www.jianshu.com/p/210fbc846544 问题描述:Vue开发中,当我们相对于父视图的底部布局子控件时,需要用 ...