本节主要学习了linux文件浏览的相关命令,包括cat、less、more、read、tail等,由于本人经常使用cat、less、more命令,已经较为熟悉,所以本节重点学习head命令和tail命令。head与tail命令,如其名字的意义一样,分别用来显示文件开头或结尾某个数量的文字区块。

1. head命令

head命令用来显示档案的开头至标准输出中,默认head命令会打印其相应文件的开头10行。

命令格式:

head [参数] [文件名]

命令参数:

-q 隐藏文件名

-v 显示文件名

-c <字节数> 显示字节数

-n <行数>   显示行数

使用实例:

实例1:显示文件的前k行(k>0)

命  令:head -n k filename

实例2:显示文件的前m个字节(m>0)

命  令:head -c m filename

实例3:显示文件除最后k行以外的全部内容(k>0)

命  令:head -n -k filename

实例4:显示文件除最后m个字节以外的全部内容(m>0)

命  令:head -c -m filename

2.tail命令

tail命令用来显示文件的结尾内容至标准输出中,默认显示文件最后10行。

tail命令比较常用的参数是-f,命令tail -f filename会将文件最尾部的内容显示在屏幕上,并且会不断刷新,使用户始终看到最新的文件内容,一般可以与参数-s搭配使用,表示屏幕对显示文件的定时更新。

命令格式:

tail [参数] [文件名]

命令参数:

-f 循环读取

-v,--verbose 总是输出给出文件名的首部
     --help       显示帮助信息后退出
     --version   输出版本信息后退出

-s,--sleep-interval=S 输与-f合用,表示每次刷新的间隔休眠时间S秒

-q, --quiet, --silent 从不输出给定文件名的首部

--retry              即使tail开始时就不能访问或者在tail运行后不能访问,也仍然不停地尝试打开文件. 只与-f合用时有用

-n <行数>     输出行数

-c <字节数>  输出的字节数

注:如果行数或字节数的第一个字符为“+”,则表示从每个文件的第n行或第c个字节开始显示,否则显示指定文件的最后n行或最后c个字节。

行数或字节数可以有一个倍数前缀:b表示512,k表示1024,m表示1048576(即1M)。

-r  逆序显示,只有与-n搭配使用才有效,否则系统会将其忽略。

使用实例:

实例1:循环查看文件内容

命  令:tail -f filename    #通常搭配有-s参数,表示输出定时更新

实例2:显示文件最后k行内容

命  令:tail -n k filename

实例3:从第k行开始显示文件内容

命  令:tail -n +k filename

实例4:逆序显示文件最后k行内容

命  令:tail -r -n k filename      #-r参数必须与-n参数搭配使用,否则无效

实例5:显示多个文件的尾部内容

命  令:tail filename1 filename2...

说  明:指定多个文件时,会显示每个文件的文件名称,再显示该文件的尾部内容

说明:

经过我的试验,发现tail -F功能的强大,它等同于--follow=name --retry。如果跟踪的文件被移动或者改名后, 还想继续tail它, 可以使用这个选项,而不是-f。

3. 补充

与head、tail命令功能相似的命令还有:

1)cat:从第一行开始显示文件内容

2)tac:从最后一行开始显示文件内容

3)more:分页显示文件内容

4)less:功能、用法与more相似,但是支持向前翻页

5)od:以二进制方式显示文件内容(不常用)

每日linux命令学习-head命令和tail命令的更多相关文章

  1. Linux系统学习笔记之 1 基础命令

    翻看日记,看到以前自己学习Linux是的笔记来了,温故而知新乎.   文件命名规则: 1.除了/之外,所有的字符都合法. 2.有些字符最好不要用,如空格符.制表符.退格符.和@ # & ( ) ...

  2. Linux系统学习 九、日志、命令、身份鉴别、目录、文件查看、控制台终端、文件属性

    一.配置静态IP地址 输入ifconfig后没有配置IP地址,接下来进行手动配置. 输入以下命令进入IP配置文件进行配置   原始内容 进入vi后,输入i进入编辑状态,编辑完成后,按esc键退出编辑状 ...

  3. linux中cat more less head tail 命令区别

    1.cat 显示文件连接文件内容的工具: cat 是一个文本文件查看和连接工具.查看一个文件的内容,用cat比较简单,就是cat 后面直接接文件名. 比如:[root@localhost ~]# ca ...

  4. [转] linux中cat more less head tail 命令

    1.cat 显示文件连接文件内容的工具: cat 是一个文本文件查看和连接工具.查看一个文件的内容,用cat比较简单,就是cat 后面直接接文件名. 比如: [root@localhost ~]# c ...

  5. Linux入门学习笔记2:终端命令

    LINUX操作系统学习 命令   附带建     cd   .. 当前路径的上一层       ../.. 当前路径的上两层       . 当前路径       - 跳转到上一次所在路径       ...

  6. 每天一个 Linux 命令(15):tail 命令

    tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新, ...

  7. 每天一个linux命令(15):tail 命令

    tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新, ...

  8. 每天一个linux命令(13):tail 命令

    tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新, ...

  9. (转)每天一个linux命令(15):tail 命令

    场景:每次查看服务端的日志时候都需要反复重新加载服务端的日志.用tail命令可以很方便的查看服务器上的日志更新! tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅 ...

  10. 【转】每天一个linux命令(15):tail 命令

    原文网址:http://www.cnblogs.com/peida/archive/2012/11/07/2758084.html tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f ...

随机推荐

  1. [django]cbv方式

    cbv的方式 1.简单的url from django.views.generic import TemplateView path('', TemplateView.as_view(template ...

  2. 根据构建类型动态设置AndroidManifest.xml文件中的meta-data

    当debug和release版本使用不同的值时,使用Gradle设置相应的值. Android主配置文件 <meta-data android:name="com.amap.api.v ...

  3. Python Socket实现文件上传(TCP协议)

    在TCP协议下通过socket模块实现文件上传 #!/usr/bin/env python # -*- coding: utf-8 -*- # desc: tcp_server_file_upload ...

  4. DLNg[结构化ML项目]第二周迁移学习+多任务学习

    1.迁移学习 比如要训练一个放射科图片识别系统,但是图片非常少,那么可以先在有大量其他图片的训练集上进行训练,比如猫狗植物等的图片,这样训练好模型之后就可以转移到放射科图片上,模型已经从其他图片中学习 ...

  5. 解放你生产力的10款效率工具,赶紧mark起来

    聪明的人总是善用工具 社会的快度发展赋予我们的一个幸运之处在于:你可以通过读书或使用工具去改善自身的处境甚至是阶层. 在父母那个时代,通过熟练使用办公软件,可以使一个在水泥地做帮工的青年走进格子间.而 ...

  6. 线程中使用SaveFileDialog不能弹出窗体

    在子线程中使用 SaveFileDialog 无法弹出窗体,主要是我们需要用主线程去处理SaveFileDialog , 我们可以将子线程进行如下设置: public partial class Fo ...

  7. IntelliJ IDEA 17 本地LicenseServer激活

    注意:此方法适用于Idea v2017.2.x 版本及以前版本. IntelliJ IDEA及破解包下载地址:百度网盘   密码:hlko 一.将IntelliJIDEALicenseServer.e ...

  8. python的赋值,深拷贝和浅拷贝的区别

    原文地址https://www.cnblogs.com/xueli/p/4952063.html 赋值:a = [1,2,3,["a","b"]]  b=a,那 ...

  9. input 滑块功能range javascript方法使用

    <script> var rangelist=document.querySelectorAll('[type="range"]'); for(var i=0; i&l ...

  10. c#Stream学习笔记

    C# 温故而知新:Stream篇(—) http://www.cnblogs.com/JimmyZheng/archive/2012/03/17/2402814.html 基本概念重点看这一篇. 什么 ...