shell head tail
head: 打印文件的前10行(默认)
tail: 打印文件的后10行(默认)
如果你是个典型的开发或者部署人员,是不是觉得开始亲切起来。我们平时用的最多的命令
- $tail -f catalina.out
$head
实例:
1. 打印head.txt, tail.txt的前10行
- $head head.txt tail.txt
| ==> head.txt <==
head.txt内容 ==> tail.txt <== tail.txt内容 |
2. 打印 1K的内容
- $head –c1K head.txt
3. 打印前5行内容
- $head -n5 head.txt
4. 打印出最后5行之外的所有行
- $head -n -5 head.txt
这里-5表示负5
解读 --help
| 用法:head [选项]... [文件]... 将每个指定文件的头10 行显示到标准输出。 如果指定了多于一个文件,在每一段输出前会给出文件名作为文件头。 如果不指定文件,或者文件为"-",则从标准输入读取数据。 长选项必须使用的参数对于短选项时也是必需使用的。 b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, |
解读:
这里唯一注意:如果不指定文件,或者文件为"-",则从标准输入读取数据。
$tail
实例:
1.打印一个文件最后10行
- $tail tail.txt
2.跟踪日志,打印文件最后几行,并且保持读取追加数据
- tail -f tail.txt
解读--help
| 用法:tail [选项]... [文件]... 显示每个指定文件的最后10 行到标准输出。 若指定了多于一个文件,程序会在每段输出的开始添加相应文件名作为头。 如果不指定文件或文件为"-" ,则从标准输入读取数据。 长选项必须使用的参数对于短选项时也是必需使用的。 |
解读:
1. 区别-f 和-F
借网上一例子:
窗口1 输入
- $while [ "true" ] ; do date >>test.log; sleep 1 ; done;
#每隔一秒传入一个日期到test.log
窗口2 输入
- $tail -f test.log
窗口3 输入
- $rm test.log
此时窗口2 则停止打印,而test.log已经重新生成
如果采用-F的形式,也会重新生成一个新的test.log,但会自动重新读取
收尾
tail和head是两个非常常用的命令,熟练掌握方便查看文件内容。两个很简单,也很相似,所以放在一起写出来
shell head tail的更多相关文章
- 【原创】用python实现shell的tail操作
在工作过程中发现监控实时刷新文件时,不是那么的任性. 故结合shell中的tail,做了一个类似tail的python脚本. 详情如下: #!/usr/bin/env python #coding=u ...
- 每日回顾Shell —cat,tail,head
Shell中常常会用到cat命令.可是总是不是特别清楚: cat命令的用途是连接文件或标准输入并打印. 这个命令经常使用来显示文件内容.或者将几个文件连接起来显示.或者从标准输入读取内容并显示,它常与 ...
- Linux Shell脚本编程while语句案例
1,每隔3秒,打印一次系统负载 #!/bin/bash while true do uptime done 2,把监控结果保存到文件,在后台执行,然后用tail -f监控文件变化 ghostwu@de ...
- Linux Shell脚本编程while语句
Linux Shell脚本编程while语句案例 1,每隔3秒,打印一次系统负载 #!/bin/bash while truedo uptime sleep 3done 2,把监控结果保存 ...
- Linux删除apt-get安装的软件
我们都知道安装软件最简单的方法是apt-get install,但是卸载就不常用了,如何卸载呢?1.sudo apt-get remove xxxxxsudo apt-get autoremove2. ...
- 实时监控log文件
一个进程在运行,并在不断的写log,你需要实时监控log文件的更新(一般是debug时用),怎么办,不断的打开,关闭文件吗? 不用,至少有两个方法,来自两个很常用的命令: tail -f log.tx ...
- RH253读书笔记(4)-Lab 4 The Domain Name System
Lab 4 The Domain Name System Goal: To install and configure a DNS server System Setup: Throughout th ...
- CentOS6.5 安装mysql5.6.30
1.下载解压由于系统会自带mysql5.1版本的数据库,需要卸载.[root@localhost src]# yum remove -y mysql-libs[root@localhost src]# ...
- python的迭代器、生成器、装饰器
迭代器.生成器.装饰器 在这个实验里我们学习迭代器.生成器.装饰器有关知识. 知识点 迭代器 生成器 生成器表达式 闭包 装饰器 实验步骤 1. 迭代器 Python 迭代器(Iterators)对象 ...
随机推荐
- 完全解析线程池ThreadPool原理&使用
目录 1. 简介 2. 工作原理 2.1 核心参数 线程池中有6个核心参数,具体如下 上述6个参数的配置 决定了 线程池的功能,具体设置时机 = 创建 线程池类对象时 传入 ThreadPoolExe ...
- Adore 解题报告
Adore 问题描述 小\(\text{w}\) 偶然间得到了\(1\)个 \(DAG\). 这个 \(DAG\) 有 \(m\) 层,第\(1\)层只有\(1\)个源点,最后\(1\)层只有\(1\ ...
- BZOJ 题解continue
1041 圆上的整点 暴力枚举 会超时 这道题很像之前一次noip模拟题(当时的我还太水了(虽然现在也很水)) x2+y2=R2 考虑变型 x2=(R+y)(R-y) int d=gcd(R,y) i ...
- Spring事务只对运行时异常回滚
我们在使用Spring时候一般都知道事务在遇到异常的时候会回滚,岂不知Spring的事务默认只有在发生运行时异常即:RunTimeException时才会发生事务,如果一个方法抛出Exception或 ...
- 关于session variables 和 global variables
背景 有同学问到这样一个问题:原来的binlog格式是statement,为什么执行了 set global binlog_format='row' 和 set binlog_format='row' ...
- Java多线程-一个简单的线程,实现挂起和恢复的功能
public class MySprite implements Runnable { /* * 线程用变量 */ private boolean running = false; private b ...
- ES6学习笔记(二)——数组的扩展
扩展运算符 ... 将数组转化成用逗号分隔的参数序列 * 扩展运算符背后调用的是遍历器接口(Symbol.iterator),如果一个对象没有部署这个接口,就无法转换. 应用 1. 合并数组 2. 将 ...
- spring的普通类中如何取session和request对像
在使用spring时,经常需要在普通类中获取session,request等对像. 比如一些AOP拦截器类,在有使用struts2时,因为struts2有一个接口使用org.apache.struts ...
- HTTP中的URL长度限制
首先,其实http 1.1 协议中对url的长度是不受限制的,协议原文: The HTTP protocol does not place any a priori limit on the leng ...
- HDU1016 素数环---(dfs)
http://acm.hdu.edu.cn/showproblem.php?pid=1016 Sample Input 6 8 Sample Output Case 1: 1 4 3 2 5 6 ...