zoukankan      html  css  js  c++  java
  • head&tail命令

    1.tail

    tail命令用途是按照要求将指定的文件的最后部分输出到标准设备,

    一般是终端,通俗来讲,就是把某个档案文件的最后几行显示到终端上,

    如果该档案有更新,tail会自动刷新,确保你看到最新的档案内容。

    tail命令语法

    tail   [ -f ]   [ -c Number | -n Number | -m Number| -b Number | -k Number ]    [ File ]

    参数说明:

    -f 该参数用于监视File文件增长。

    -c Number 从 Number 字节位置读取指定文件

    -n Number 从 Number 行位置读取指定文件。

    -m Number 从 Number 多字节字符位置读取指定文件,比如你的文件如果包含中文字,如果指定-c参数,可能导致截断,但使用-m则会避免该问题。

    -b Number 从 Number 表示的512字节块位置读取指定文件。

    -k Number 从 Number 表示的1KB块位置读取指定文件。

    File 指定操作的目标文件名

    上述命令中,都涉及到number,如果不指定,默认显示10行。Number前面可使用正负号,表示该偏移从顶部还是从尾部开始计算。

    tail --help
    Usage: tail [OPTION]... [FILE]...
    Print the last 10 lines of each FILE to standard output.
    With more than one FILE, precede each with a header giving the file name.
    With no FILE, or when FILE is -, read standard input.
    
    Mandatory arguments to long options are mandatory for short options too.
      -c, --bytes=K            output the last K bytes; or use -c +K to output
                                 bytes starting with the Kth of each file
      -f, --follow[={name|descriptor}]
                               output appended data as the file grows;
                                 an absent option argument means 'descriptor'
      -F                       same as --follow=name --retry
      -n, --lines=K            output the last K lines, instead of the last 10;
                                 or use -n +K to output starting with the Kth
          --max-unchanged-stats=N
                               with --follow=name, reopen a FILE which has not
                                 changed size after N (default 5) iterations
                                 to see if it has been unlinked or renamed
                                 (this is the usual case of rotated log files);
                                 with inotify, this option is rarely useful
          --pid=PID            with -f, terminate after process ID, PID dies
      -q, --quiet, --silent    never output headers giving file names
          --retry              keep trying to open a file if it is inaccessible
      -s, --sleep-interval=N   with -f, sleep for approximately N seconds
                                 (default 1.0) between iterations;
                                 with inotify and --pid=P, check process P at
                                 least once every N seconds
      -v, --verbose            always output headers giving file names
          --help     display this help and exit
          --version  output version information and exit
    
    If the first character of K (the number of bytes or lines) is a '+',
    print beginning with the Kth item from the start of each file, otherwise,
    print the last K items in the file.  K may have a multiplier suffix:
    b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,
    GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.
    
    With --follow (-f), tail defaults to following the file descriptor, which
    means that even if a tail'ed file is renamed, tail will continue to track
    its end.  This default behavior is not desirable when you really want to
    track the actual name of the file, not the file descriptor (e.g., log
    rotation).  Use --follow=name in that case.  That causes tail to track the
    named file in a way that accommodates renaming, removal and creation.

    tail命令用法示例

    1、tail -f filename

    说明:监视filename文件的尾部内容默认10行,相当于添加参数 -n 10),刷新显示在屏幕上。退出,按下CTRL+C。

    2、tail -n 20 filename

    说明:显示filename最后20行。

    3、tail -n +10 filename

    说明:显示filename前面10行以后的。(展示不全)

    2.head

    head命令用于显示文件文字区块

    1、格式

      head 【参数】【文件】

    2、参数

      -q 隐藏文件名(默认)

      -v 显示文件名

      -c<字节> 显示字节数

      -n<行数> 显示的行数(默认)

    cat test.sh==》
    No Name Mark Percent
    tom 69 91
    jack 71 87
    alex 68 98

    [centos@s203 ~]$ head -n 10 test.sh
    No Name Mark Percent
    tom 69 91
    jack 71 87
    alex 68 98
    [centos@s203 ~]$ head -n 2 test.sh
    No Name Mark Percent
    tom 69 91
    [centos@s203 ~]$ head -n 2 -v test.sh
    ==> test.sh <==
    No Name Mark Percent
    tom 69 91
    [centos@s203 ~]$ head -n 2 -v -q test.sh
    No Name Mark Percent
    tom 69 91
    [centos@s203 ~]$ head -n 2 -v -q -c 3 test.sh
    No [centos@s203 ~]$
    [centos@s203 ~]$
    [centos@s203 ~]$
    [centos@s203 ~]$ head  -v -q -c 3 test.sh
    No [centos@s203 ~]$ head -n 2 -v -q -c 100 test.sh
    No Name Mark Percent
    tom 69 91
    jack 71 87
    alex 68 98
    [centos@s203 ~]$ head -n 2 -v -q -c 10 test.sh
    No Name Ma[centos@s203 ~]$
  • 相关阅读:
    修改数据库的兼容级别
    如何写出安全的API接口
    最新IP地址数据库
    java 中的静态(static)代码块
    Java RTTI(类型信息)(.class 类对象)
    机器学习之决策树预测——泰坦尼克号乘客数据实例
    敏捷开发 —— TDD(测试驱动开发)
    Java 内存泄漏
    红顶商人 —— 胡雪岩
    各地特色美食与点菜的艺术
  • 原文地址:https://www.cnblogs.com/wqbin/p/10932587.html
Copyright © 2011-2022 走看看