Linux文本查看命令及其选项详解(cat,head,tail)

所属分类: 脚本专栏 / linux shell 阅读数: 1987
收藏 0 赞 0 分享

linux系统内置命令可以通过以下两种方式查询:“cat --help” 或者“man cat”。

cat命令的常用选项和官方解释如下:

cat file_name 显示文件全部内容

cat -b file_name 显示文件非空行内容

cat -E file_name 在文件每行末尾显示$,常用于管道功能

cat -n file_name 显示内容和行号

Usage: cat [OPTION]... [FILE]...
Concatenate FILE(s) to standard output.

With no FILE, or when FILE is -, read standard input.

 -A, --show-all      equivalent to -vET
 -b, --number-nonblank  number nonempty output lines, overrides -n
 -e            equivalent to -vE
 -E, --show-ends     display $ at end of each line
 -n, --number       number all output lines
 -s, --squeeze-blank   suppress repeated empty output lines
 -t            equivalent to -vT
 -T, --show-tabs     display TAB characters as ^I
 -u            (ignored)
 -v, --show-nonprinting  use ^ and M- notation, except for LFD and TAB
   --help   display this help and exit
   --version output version information and exit

Examples:
 cat f - g Output f's contents, then standard input, then g's contents.
 cat    Copy standard input to standard output.

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
Full documentation at: http://www.gnu.org/software/coreutils/cat

head命令及其选项如下:

head -c10 file_name 显示一开始的10个字节

head -c-10 file_name 显示除末尾10个字节之外的内容

head -n10 file_name 显示一开始的10行内容

head -n-10 file_name 显示除末尾的10行之外的内容

Usage: head [OPTION]... [FILE]...
Print the first 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=[-]NUM    print the first NUM bytes of each file;
               with the leading '-', print all but the last
               NUM bytes of each file
 -n, --lines=[-]NUM    print the first NUM lines instead of the first 10;
               with the leading '-', print all but the last
               NUM lines of each file
 -q, --quiet, --silent  never print headers giving file names
 -v, --verbose      always print headers giving file names
 -z, --zero-terminated  line delimiter is NUL, not newline
   --help   display this help and exit
   --version output version information and exit

NUM 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.

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
Full documentation at: http://www.gnu.org/software/coreutils/head

tail命令及其选项如下:

tail -c10 file_name 显示末尾的10个字节

tail -c-10 file_name 显示除开头10个字节之外的内容

tail -n10 file_name 显示末尾的10行内容

tail -n-10 file_name 显示除开头的10行之外的内容

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=[+]NUM    output the last NUM bytes; or use -c +NUM to
               output starting with byte NUM 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=[+]NUM    output the last NUM lines, instead of the last 10;
               or use -n +NUM to output starting with line NUM
   --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
 -z, --zero-terminated  line delimiter is NUL, not newline
   --help   display this help and exit
   --version output version information and exit

NUM 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.

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
Full documentation at: http://www.gnu.org/software/coreutils/tail

搭配管道使用更佳

此外,这三个命令常常与管道功能搭配,用于文件内容的操作,例如:

对data.txt中的数据进行排序:cat data.txt | sort

对data.txt中的内容匹配:cat data.txt | grep 'a'

输出data.txt中的非空行数:cat -b data.txt | wc -l

更多精彩内容其他人还在看

监控网站是否可以正常打开的Shell脚本分享

这篇文章主要介绍了监控网站是否可以正常打开的Shell脚本分享,可以指定N个网址,放在crontab中执行,需要的朋友可以参考下
收藏 0 赞 0 分享

shell脚本编程之if语句学习笔记

这篇文章主要介绍了shell脚本编程之if语句学习笔记,本文先是给出了程序代码,然后详细的分解了第句代码的作用,需要的朋友可以参考下
收藏 0 赞 0 分享

shell脚本编程之循环语句学习笔记

这篇文章主要介绍了shell脚本编程之循环语句学习笔记,本文内容较简单,可以作为shell循环语句的备忘录,忘记怎么写时来看看吧~需要的朋友可以参考下
收藏 0 赞 0 分享

shell脚本编程之case语句学习笔记

这篇文章主要介绍了shell脚本编程之case语句学习笔记,本文代码中包含注释来说明case语句的使用,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell脚本实现的阳历转农历代码分享

这篇文章主要介绍了Shell脚本实现的阳历转农历代码分享,本文是作者一个星期的工作成果,得来不易,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell脚本实现复制文件到多台服务器的代码分享

这篇文章主要介绍了Shell脚本实现复制文件到多台服务器的代码分享,用在多机集群环境中非常方便,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell脚本实现批量下载网络图片代码分享

这篇文章主要介绍了Shell脚本实现批量下载网络图片代码分享,本文基于下载Yahoo天气图标而写,图片地址需有一定的规则,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell脚本实现检测文件是否被修改过代码分享

这篇文章主要介绍了Shell脚本实现的检测文件是否被修改代码分享,其实了解了原理就可以做很多事了,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell脚本数组用法小结

这篇文章主要介绍了Shell脚本数组用法小结,本文讲解了数组声明、数组遍历、获取数组长度、删除数组元素、数组切片等内容,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell脚本批量重命名文件后缀的3种实现

这篇文章主要介绍了Shell脚本批量重命名文件后缀的3种实现,本文分别使用find + xargs +sed、for循环、rename等3种方法实现重命名文件后缀,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多