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 ~]$

猜你喜欢

转载自www.cnblogs.com/wqbin/p/10932587.html
今日推荐