Linux 命令(文件和目录管理 - head)

简述

如果资料内容过多,可以做一个最简单的撷取,取出档案的前几行(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

Linux 命令(文件和目录管理 - head)的相关文章

RHCSA 系列(二): 如何进行文件和目录管理

在本篇中,我们将回顾一些系统管理员日常任务需要的技能. RHCSA: 运行文件以及进行文件夹管理 - 第二部分 创建.删除.复制和移动文件及目录 文件和目录管理是每一个系统管理员都应该掌握的必备技能.它包括了从头开始的创建.删除文本文件(每个程序的核心配置)以及目录(你用来组织文件和其它目录),以及识别已有文件的类型. touch 命令 不仅仅能用来创建空文件,还能用来更新已有文件的访问时间和修改时间. touch 命令示例 你可以使用 file [filename]来判断一个文件的类型 (在你

SQL Server on Linux的文件和目录结构

问题引入 "鸟儿啊,我记得你写过一篇<SQLServer On Linux Package List on CentOS>的文章,从这篇文章,我们很清楚的知道了SQL Server on Linux包含有哪些必要的包.那么,我们怎么知道SQL Server on Linux到底包含哪些重要的文件和目录结构呢?他们的作用是什么?". "的确,当我们在排错或者需要改变MSSQL Server on Linux配置的时候,我们需要对SQL Server的各个工作目录和文

详解Java的文件与目录管理以及输入输出相关操作_java

Java中文件与目录管理 目录是管理文件的特殊机制,同类文件保存在同一个目录下不仅可以简化文件管理,而且还可以提高工作效率.Java 语言在 java.io 包中定义了一个 File 类专门用来管理磁盘文件和目录. 每个 File 类对象表示一个磁盘文件或目录,其对象属性中包含了文件或目录的相关信息.通过调用 File 类提供的各种方法,能够创建.删除.重名名文件.判断文件的读写权限以及是否存在,设置和查询文件的最近修改时间等.不同操作系统具有不同的文件系统组织方式,通过使用 File 类对象,

Linux中文件权限目录权限的意义及权限对文件目录的意义_linux shell

linux中目录与文件权限的意义 一.文件权限的意义 r:可以读这个文件的具体内容: w:可以编辑这个文件的内容,包括增加删除文件的具体内容: x:文件就具有了可执行的权限-------注意:这里和window不一样,在win中,文件的可执行权限是通过扩展名表现出来的,如exe.bat等,但是在linux中文件的可执行权限是通过这个x决定的,与文件名没有什么关系. 二.目录权限的意义 r:可以查看此目录下的完整文件列表信息. w:可以对此目录下的所有的文件及目录进行相关的更改,也就是可以更改这个

linux下文件和目录的颜色所代表含义是什么?

linux下文件和目录的颜色所代表含义是什么? 蓝色表示目录:绿色表示可执行文件:红色表示压缩文件:浅蓝色表示链接文件:灰色表示其它文件:红色闪烁表示链接的文件有问题了:黄色是设备文件,包括block, char, fifo.用dircolors -p看到缺省的颜色设置,包括各种颜色和"粗体",下划线,闪烁等定义 [root@localhost ~]# dircolors -p #&http://www.aliyun.com/zixun/aggregation/37954.ht

Linux 命令(文件和目录管理 - pwd)

简述 目录是 Linux 的基本组成部分,目录管理包括目录的复制.删除.修改等操操作. 在 Linux 层次结构中,想要知道当前所处的目录,可以用 pwd 命令,该命令输出当前工作目录的完整名称.环境变量 OLDPWD 表示前一次的工作目录,环境变量 PWD 表示当前的工作目录. 简述 命令介绍 命令选项 使用范例 命令介绍 命令名称 pwd 命令全称 Print Working Directory 基本语法 pwd [选项]- 功能描述 打印当前工作目录的完整文件名 命令选项 pwd 命令比较

Linux 命令(文件和目录管理 - zip/unzip)

简述 zip/unzip 是 Linux 中广泛使用的压缩/解压缩程序zip 命令用来将文件压缩为常用的 zip 格式扩展名为 .zipunzip 命令则用来解压缩 zip 文件. 简述 zip 命令介绍 命令选项 使用范例 unzip 命令介绍 命令选项 使用范例 zip 命令介绍 命令名称 zip 基本语法 zip [-aABcdDeEfFghjklLmoqrRSTuvVwXyz!@$] [--longoption ...] [-b path] [-n suffixes] [-t date]

Linux 命令(文件和目录管理 - gzip/gunzip)

简述 和 zip 命令类似,gzip 用于文件的压缩,gzip 压缩后的文件扩展名位 .gz,gzip 默认压缩后会删除原文件.gunzip 用于解压经过 gzip 压缩过的文件. 简述 gzip 命令介绍 命令选项 使用范例 gunzip 命令介绍 命令选项 使用范例 gzip 命令介绍 命令名称 gzip 基本语法 gzip [OPTION]- [FILE]- 功能描述 压缩文件.压缩后的文件扩展名位 .gz,默认压缩后会删除原文件. 命令选项 选项 说明 -a --ascii 使用 ASC

Linux 命令(文件和目录管理 - cp)

简述 cp 命令用来复制文件或目录.当复制多个文件时,目标文件参数必须为已经存在的目录.cp 命令默认不能复制目录,复制目录必须使用 -R 选项. 简述 命令介绍 命令选项 使用范例 命令介绍 命令名称 cp 命令全称 copy 基本语法 cp [选项]- [-T] 源文件 目标文件 或:cp [选项]- 源文件- 目录 或:cp [选项]- -t 目录 源文件- 功能描述 将源文件复制至目标文件,或将多个源文件复制至目标目录. 命令选项 选项 说明 -a, --archive 等于-dR --

Linux 命令(文件和目录管理 - mv)

简述 mv 命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中.如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖. 简述 命令介绍 命令选项 使用范例 命令介绍 命令名称 mv 命令全称 move 基本语法 mv [选项]- [-T] 源文件 目标文件 或:mv [选项]- 源文件- 目录 或:mv [选项]- -t 目录 源文件- 功能描述 将源文件重命名为目标文件,或将源文件移动至指定目录. 命令选项 选项 说明 --backup[=CONTROL] 为每