简述
如果资料内容过多,可以做一个最简单的撷取,取出档案的前几行(head)或后几行(tail)。不过,要注意的是, head 与 tail 都是以『行』为单位来进行资料撷取的!
head 的英文意思是『头』,用法自然就是显示一个档案的前几行。没错,就是这样!若没有加上 -n
选项,预设只显示 10 行。
- 简述
- 命令介绍
- 命令选项
- 使用范例
命令介绍
- 命令名称
head - 基本语法
head [选项]… [文件]… - 功能描述
将每个文件的前 10 行打印到标准输出。对于多个文件,每个前面都有一个给出文件名的标题。如果没有指定文件或者文件名为“-”,读取标准输入。
命令选项
选项 | 说明 |
---|---|
-c, --bytes=[-]K |
显示每个文件的前 K 字节内容。如果附加“-”参数,则除了每个文件的最后 K 字节数据外显示剩余全部内容 |
-n, --lines=[-]K |
显示每个文件的前 K 行内容。如果附加“-”参数,则除了每个文件的最后 K 行外显示剩余全部内容 |
-q, --quiet, --silent |
不显示包含给定文件名的文件头 |
-v, --verbose |
总是显示包含给定文件名的文件头 |
--help |
显示帮助信息并退出 |
--version |
显示版本信息并退出 |
K 后面可以跟乘号:b 512,kB 1000,K 1024,MB 1000*1000,M 1024*1024,GB 1000*1000*1000,G 1024*1024*1024,对于T、P、E、Z、Y 同样适用。
使用范例
1.不使用任何选项执行 head
默认情况下,将文件的前 10 行打印到标准输出。
[root@localhost Python-3.5.2]# head README
This is Python version 3.5.2
============================
Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
2012, 2013, 2014, 2015, 2016 Python Software Foundation. All rights reserved.
Python 3.x is a new version of the language, which is incompatible with the
2.x line of releases. The language is mostly the same, but many details,
especially how built-in objects like dictionaries and strings work,
have changed considerably, and a lot of deprecated features have finally
[root@localhost Python-3.5.2]#
2.显示文件的前 K 行的内容
如果要显示文件前 K(这里为 5)行内容,而非默认的前 10 行,使用 -n
选项。
[root@localhost Python-3.5.2]# head -n 5 README
This is Python version 3.5.2
============================
Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
2012, 2013, 2014, 2015, 2016 Python Software Foundation. All rights reserved.
[root@localhost Python-3.5.2]#
3.显示文件的前 K 字节的内容
使用选项 -c
,可以指定显示文件的前 K(这里为 10)个字节。
[root@localhost Python-3.5.2]# head -c 10 README
This is Py
[root@localhost Python-3.5.2]#
4.显示除了文件最后 n 个字节以外的全部内容
这里除了使用 -c
选项以外,还需要附加“-”参数。
# 查看文件 hello.py 的内容
[root@localhost python]# cat hello.py
#!/usr/bin/python
print("Hello World!")
# 显示除了文件最后 10 个字节以外的全部内容
[root@localhost python]# head -c -10 hello.py
#!/usr/bin/python
print("Hello
[root@localhost python]#
5.显示除了文件最后 k 行以外的全部内容
这里除了使用 -n
选项以外,还需要附加“-”参数。
# 查看文件 README 的内容
[root@localhost Python-3.5.2]# cat -n README
1 This is Python version 3.5.2
2 ============================
3
4 Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
5 2012, 2013, 2014, 2015, 2016 Python Software Foundation. All rights reserved.
6
7 Python 3.x is a new version of the language, which is incompatible with the
8 2.x line of releases. The language is mostly the same, but many details,
# 部分显示结果省略...
218 This Python distribution contains *no* GNU General Public License (GPL) code,
219 so it may be used in proprietary projects. There are interfaces to some GNU
220 code but these are entirely optional.
221
222 All trademarks referenced herein are property of their respective holders.
# 显示除了文件最后 217 行以外的全部内容,即:前 5(222 - 217)行。
[root@localhost Python-3.5.2]# head -n -217 README
This is Python version 3.5.2
============================
Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
2012, 2013, 2014, 2015, 2016 Python Software Foundation. All rights reserved.
[root@localhost Python-3.5.2]#
6.显示多个文件的内容
要同时显示多个文件的内容,只需要将多个文件用空格隔开,文件开头处会添加上文件的名称。
# 显示文件 README setup.py 的前 10 行内容
[root@localhost Python-3.5.2]# head README setup.py
==> README <==
This is Python version 3.5.2
============================
Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
2012, 2013, 2014, 2015, 2016 Python Software Foundation. All rights reserved.
Python 3.x is a new version of the language, which is incompatible with the
2.x line of releases. The language is mostly the same, but many details,
especially how built-in objects like dictionaries and strings work,
have changed considerably, and a lot of deprecated features have finally
==> setup.py <==
# Autodetecting setup.py script for building the Python extensions
#
import sys, os, importlib.machinery, re, optparse
from glob import glob
import importlib._bootstrap
import importlib.util
import sysconfig
from distutils import log
[root@localhost Python-3.5.2]#
7.和其他命令组合使用
列出一个目录下的文件,如果内容过多,可以用 head 来过滤显示,需要和管道符 |
结合起来。
[root@localhost Python-3.5.2]# ls -l
总用量 34676
-rw-r--r--. 1 wang wang 8464 6月 26 05:38 aclocal.m4
drwxr-xr-x. 5 root root 79 9月 7 20:30 build
-rwxr-xr-x. 1 wang wang 42856 6月 26 05:38 config.guess
-rw-r--r--. 1 root root 835023 9月 7 15:06 config.log
-rwxr-xr-x. 1 root root 40031 9月 7 15:06 config.status
-rwxr-xr-x. 1 wang wang 35740 6月 26 05:38 config.sub
-rwxr-xr-x. 1 wang wang 474932 6月 26 05:38 configure
-rw-r--r--. 1 wang wang 155069 6月 26 05:38 configure.ac
drwxrwxr-x. 18 wang wang 4096 6月 26 05:47 Doc
drwxrwxr-x. 2 wang wang 20 6月 26 05:38 Grammar
drwxrwxr-x. 2 wang wang 4096 6月 26 05:38 Include
-rwxr-xr-x. 1 wang wang 7122 6月 26 05:38 install-sh
drwxrwxr-x. 47 wang wang 8192 9月 7 20:29 Lib
-rw-r--r--. 1 root root 21053416 9月 7 20:29 libpython3.5m.a
-rw-r--r--. 1 wang wang 12767 6月 26 05:38 LICENSE
drwxrwxr-x. 8 wang wang 4096 6月 26 05:38 Mac
-rw-r--r--. 1 root root 66393 9月 7 15:06 Makefile
-rw-r--r--. 1 root root 58147 9月 7 15:06 Makefile.pre
-rw-r--r--. 1 wang wang 58449 6月 26 05:38 Makefile.pre.in
drwxrwxr-x. 2 wang wang 4096 9月 7 15:06 Misc
drwxrwxr-x. 11 wang wang 8192 9月 7 20:29 Modules
drwxrwxr-x. 4 wang wang 4096 9月 7 20:28 Objects
drwxrwxr-x. 2 wang wang 4096 9月 7 20:28 Parser
drwxrwxr-x. 4 wang wang 4096 6月 26 05:38 PC
drwxrwxr-x. 2 wang wang 4096 6月 26 05:38 PCbuild
drwxrwxr-x. 2 wang wang 4096 9月 7 20:30 Programs
-rw-r--r--. 1 root root 26 9月 7 20:29 pybuilddir.txt
-rw-r--r--. 1 root root 43899 9月 7 15:06 pyconfig.h
-rw-r--r--. 1 wang wang 41897 6月 26 05:38 pyconfig.h.in
-rwxr-xr-x. 1 root root 12284727 9月 7 20:29 python
drwxrwxr-x. 3 wang wang 4096 9月 7 20:29 Python
-rw-r--r--. 1 root root 3080 9月 7 15:14 python-config
-rw-r--r--. 1 root root 2042 9月 7 15:14 python-config.py
-rw-r--r--. 1 root root 61170 9月 7 15:14 python-gdb.py
-rw-r--r--. 1 wang wang 8060 6月 26 05:38 README
-rw-r--r--. 1 wang wang 99778 6月 26 05:38 setup.py
drwxrwxr-x. 22 wang wang 4096 6月 26 05:38 Tools
# 列出前 5 个文件
[root@localhost Python-3.5.2]# ls -l | head -5
总用量 34676
-rw-r--r--. 1 wang wang 8464 6月 26 05:38 aclocal.m4
drwxr-xr-x. 5 root root 79 9月 7 20:30 build
-rwxr-xr-x. 1 wang wang 42856 6月 26 05:38 config.guess
-rw-r--r--. 1 root root 835023 9月 7 15:06 config.log
[root@localhost Python-3.5.2]#
时间: 2024-12-25 19:15:18