Linux系统之head命令的基本使用

news2024/11/15 1:50:17

Linux系统之head命令的基本使用

  • 一、head命令介绍
  • 二、head命令的使用帮助
    • 2.1 head命令的help帮助信息
    • 2.2 head命令的语法解释
  • 三、head的基本使用
    • 3.1 直接使用
    • 3.2 查看文件前N行
    • 3.3 查看多个文件
    • 3.4 查询文件的前5行
    • 3.5 显示文本所有内容(除了后5行内容)
    • 3.6 输出显示文件名
    • 3.7 输出不显示文件名
    • 3.8 显示文件的前10个字节
  • 四、配合其他命令使用
    • 4.1 配合管道符使用
    • 4.2 配合grep使用
    • 4.3 与xargs配合使用
  • 五、注意事项

在这里插入图片描述

一、head命令介绍

  • head命令简介

head 命令在 Linux 和其他类 Unix 操作系统中是一个非常有用的工具,用于查看文本文件的开头部分。默认情况下,它会显示文件的前 10 行。

二、head命令的使用帮助

2.1 head命令的help帮助信息

执行以下命令,查看head命令的帮助信息。

[root@openEuler-test ~]# head --help
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, R, Q.
Binary prefixes can be used, too: KiB=K, MiB=M, and so on.

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Full documentation <https://www.gnu.org/software/coreutils/head>
or available locally via: info '(coreutils) head invocation'

2.2 head命令的语法解释

用法: head [选项]... [FILE]...
打印每个 FILE 的前 10 行到标准输出。
如果有多个 FILE,则在每个文件之前会打印一个标题给出文件名。
选项描述
-c, --bytes=[-]NUM打印每个文件的前 NUM 个字节;如果前面有 -,则打印除去每个文件最后 NUM 个字节的内容
-n, --lines=[-]NUM打印每份文件的前 NUM 行而不是默认的 10 行;如果前面有 -,则打印除去每个文件最后 NUM 行的内容
-q, --quiet, --silent从不打印给出文件名的行
-v, --verbose总是打印给出文件名的行
-z, --zero-terminated行分隔符是 NUL 字符,而不是换行符
–help显示帮助并退出
–version输出版本信息并退出

NUM 可以有乘数后缀:

  • 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、R 和 Q 也适用

二进制前缀也可以使用,例如:KiB=K, MiB=M 等等。

GNU coreutils 在线帮助: https://www.gnu.org/software/coreutils/
完整文档可访问: https://www.gnu.org/software/coreutils/head
或者本地查阅: info '(coreutils) head invocation'

三、head的基本使用

3.1 直接使用

直接使用head命令,默认打印文本的前10行

[root@openEuler-test ~]# head /etc/passwd
root:x:0:0:Super User:/root:/bin/bash
bin:x:1:1:bin:/bin:/usr/sbin/nologin
daemon:x:2:2:daemon:/sbin:/usr/sbin/nologin
adm:x:3:4:adm:/var/adm:/usr/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/usr/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/usr/sbin/nologin
operator:x:11:0:operator:/root:/usr/sbin/nologin

3.2 查看文件前N行

使用-n选项,指定查看文件的前n行。

[root@openEuler-test ~]# head -n 2 /etc/passwd
root:x:0:0:Super User:/root:/bin/bash
bin:x:1:1:bin:/bin:/usr/sbin/nologin

3.3 查看多个文件

执行以下文件,查看多个文件。

[root@openEuler-test ~]# head -n 3 /etc/passwd  /etc/shadow
==> /etc/passwd <==
root:x:0:0:Super User:/root:/bin/bash
bin:x:1:1:bin:/bin:/usr/sbin/nologin
daemon:x:2:2:daemon:/sbin:/usr/sbin/nologin

==> /etc/shadow <==
root:$y$j9T$n53ZO81eNovcbOou130tUkjy$nkyJo1U/tXS59VhjeG3ds9j79nE8xeiFDTg8UBZioi5::0:99999:7:::
bin:*:19866:0:99999:7:::
daemon:*:19866:0:99999:7:::

3.4 查询文件的前5行

head -5 /etc/passwdhead -n 5 /etc/passwd效果一致

[root@openEuler-test ~]# head -5 /etc/passwd
root:x:0:0:Super User:/root:/bin/bash
bin:x:1:1:bin:/bin:/usr/sbin/nologin
daemon:x:2:2:daemon:/sbin:/usr/sbin/nologin
adm:x:3:4:adm:/var/adm:/usr/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/usr/sbin/nologin

在这里插入图片描述

3.5 显示文本所有内容(除了后5行内容)

显示文本所有内容(除了后5行内容)

[root@openEuler-test ~]# head -n -5 /etc/passwd
root:x:0:0:Super User:/root:/bin/bash
bin:x:1:1:bin:/bin:/usr/sbin/nologin
daemon:x:2:2:daemon:/sbin:/usr/sbin/nologin
adm:x:3:4:adm:/var/adm:/usr/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/usr/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/usr/sbin/nologin
operator:x:11:0:operator:/root:/usr/sbin/nologin
games:x:12:100:games:/usr/games:/usr/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/usr/sbin/nologin
nobody:x:65534:65534:Kernel Overflow User:/:/usr/sbin/nologin
systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
saslauth:x:998:76:Saslauthd user:/run/saslauthd:/sbin/nologin
dhcpd:x:177:177:DHCP server:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
dbus:x:81:81:D-Bus:/var/run/dbus:/sbin/nologin

3.6 输出显示文件名

加上-v选项,输出结果显示文件吗。

[root@openEuler-test ~]# head -v /etc/passwd
==> /etc/passwd <==
root:x:0:0:Super User:/root:/bin/bash
bin:x:1:1:bin:/bin:/usr/sbin/nologin
daemon:x:2:2:daemon:/sbin:/usr/sbin/nologin
adm:x:3:4:adm:/var/adm:/usr/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/usr/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/usr/sbin/nologin
operator:x:11:0:operator:/root:/usr/sbin/nologin

3.7 输出不显示文件名

加-q选项,输出不显示文件名,默认为不显示。

[root@openEuler-test ~]# head -q /etc/passwd
root:x:0:0:Super User:/root:/bin/bash
bin:x:1:1:bin:/bin:/usr/sbin/nologin
daemon:x:2:2:daemon:/sbin:/usr/sbin/nologin
adm:x:3:4:adm:/var/adm:/usr/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/usr/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/usr/sbin/nologin
operator:x:11:0:operator:/root:/usr/sbin/nologin

3.8 显示文件的前10个字节

使用-c选项,指定显示文件的字节数,例如-c 100为显示文件的前100个字符内容。

[root@openEuler-test ~]#  head -c 100 /etc/passwd; echo -e "\n"
root:x:0:0:Super User:/root:/bin/bash
bin:x:1:1:bin:/bin:/usr/sbin/nologin
daemon:x:2:2:daemon:/sbin

四、配合其他命令使用

4.1 配合管道符使用

head命令经常配合其他命令使用,例如可以与管道符一起使用。

[root@openEuler-test ~]# cat /etc/passwd |head -n 5
root:x:0:0:Super User:/root:/bin/bash
bin:x:1:1:bin:/bin:/usr/sbin/nologin
daemon:x:2:2:daemon:/sbin:/usr/sbin/nologin
adm:x:3:4:adm:/var/adm:/usr/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/usr/sbin/nologin

4.2 配合grep使用

这条命令首先查找文件中包含 “pass” 的行,然后通过管道传递给 head 只显示前 3 行匹配结果。

[root@openEuler-test ~]# grep "pass"  /etc/ssh/sshd_config  |head -n 3
# To disable tunneled clear text passwords, change to no here!
# Change to no to disable s/key passwords
# PAM authentication via KbdInteractiveAuthentication may bypass

4.3 与xargs配合使用

对于处理命令行参数长度受限的情况,可以先通过 head 限制输入,再传递给其他命令。

[root@openEuler-test ~]# find /etc -name "*.txt" | head -n 10 | xargs ls -l
-rw-r--r--. 1 root root 451 May 19 11:50 /etc/pki/nssdb/pkcs11.txt

五、注意事项

  • 默认情况下 head 显示文件的前 10 行,可以通过 -n 选项自定义行数。
  • 使用 -c 选项时要注意,它按字节数而非行数截取文件内容。
  • 处理二进制文件时应谨慎使用 head,以免破坏文件格式或导致不可预测的行为。
  • 当处理非常大的文件时,使用 head 可以快速预览文件内容而不必加载整个文件。
  • 在管道中使用 head 时,确保后续命令能正确处理有限的输入数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2145199.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

实战讲稿:Spring Boot整合MyBatis

文章目录 实战讲稿&#xff1a;Spring Boot整合MyBatis课程目标课程内容1. 创建员工映射器接口1.1 创建子包1.2 创建接口 2. 测试员工映射器接口2.1 自动装配员工映射器2.2 测试按标识符查询员工方法2.3 测试查询全部员工方法2.4 测试插入员工方法2.5 测试更新员工方法2.6 测试…

No module named MYSQLdb 问题解决

问题&#xff1a; 导入写好的数据库时报错 解决&#xff1a;pip install mysql-python &#xff08;又报错&#xff09; 找了网上的方法&#xff1a; 执行 pip install PyMySQL&#xff0c;将数据库连接改为 mysqlpymysql://username:passwordserver/db&#xff0c;接下来的操…

eggtart队比赛攻略

关联比赛: “新内容 新交互”全球视频云创新挑战赛--算法挑战赛道 赛题回顾 本次赛题核心为高清视频人像分割&#xff0c;属于无监督视频物体分割任务&#xff0c;要求在未提供任何额外输入的情况下&#xff0c;识别并定位视频中的主要人物&#xff0c;并精确到图像的每个像素…

微服务配置中心介绍

在微服务架构中&#xff0c;配置中心是一个非常重要的组件&#xff0c;它负责管理所有服务的配置信息&#xff0c;使得配置管理变得更加集中和动态。配置中心能够极大地提高微服务架构的灵活性和可维护性。 为什么需要配置中心&#xff1f; 在传统的单体应用中&#xff0c;配置…

22:SPI一:简单的使用

SPI简单的使用 1、什么是SPI2、数据通信2.1&#xff1a;5个重要参数2.2&#xff1a;4种传输模式 3、程序模拟SPI通信时序3、片上外设SPI通信时序 1、什么是SPI SPI是一种同步的&#xff0c;全双工&#xff0c;支持总线挂载多设备的通信协议。它特别适用于高效&#xff0c;快速…

【Python报错已解决】 TypeError: Descriptors cannot not be created directly

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 专栏介绍 在软件开发和日常使用中&#xff0c;BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…

计算机毕业设计 健身房管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

MUNIK谈ASPICE系列专题分享(六)企业为什么要做ASPICE?

前言&#xff1a; 知名的几家主机厂对ASPICE有什么各自的要求&#xff1f;企业应该做哪些应对 1-说到“企业为什么要做ASPICE”这个话题&#xff0c;我们首先需要了解一下ASPICE的历史。 在1993年&#xff0c;国际标准化组织&#xff08;ISO&#xff09;和国际电工委员会&am…

C++_类和对象(下篇)—— 内部类、匿名对象、对象拷贝时的编译器优化

目录 四、类和对象&#xff08;下篇&#xff09; 5、内部类 6、匿名对象 7、对象拷贝时的编译器优化 四、类和对象&#xff08;下篇&#xff09; 5、内部类 如果⼀个类定义在另⼀个类的内部&#xff0c;这个内部类就叫做内部类。内部类是⼀个独立的类&#xff0c;跟定义…

基于SpringBoot+WebSocket实现地图上绘制车辆实时运动轨迹图

实现基于北斗卫星的车辆定位和轨迹图的Maven工程&#xff08;使用模拟数据&#xff09;&#xff0c;我们将使用以下技术&#xff1a; Spring Boot&#xff1a;作为后端框架&#xff0c;用来提供数据接口。Thymeleaf&#xff1a;作为前端模板引擎&#xff0c;呈现网页。Leaflet…

Agile Modbus STM32裸机移植 从机使用

本教程手把手教你实现Agile Modbus&#xff0c;照抄就能成。 并且会解读函数功能含义。 1. 引言 Agile Modbus 是一个轻量级的 Modbus 协议栈&#xff0c;可以满足用户在任何场景下的需求。 功能 支持 rtu 和 tcp 协议&#xff0c;使用纯 C 语言开发&#xff0c;不涉及任何硬…

安科瑞AIM-D100系列 光伏直流系统直流绝缘监测仪——保障光伏发电运行稳定可靠

应用场景&#xff1a;发电厂家、变电站的直流屏、电动汽车充电装置、UPS供电系统、光伏直流系统、储能系统及其它直流电网等直流系统。 随着工业的发展&#xff0c;很多用电设备和工厂设备采用直流系统供电&#xff0c;直流系统的正极和负极不接地。对于不接地&#xff08;IT&…

Axure中后台管理信息系统通用原型方案

Axure中后台管理信息系统通用原型方案中的12套模板&#xff0c;旨在帮助开发者与设计师快速搭建出标准且美观的中后台产品原型&#xff0c;提升开发效率和节省协作成本。这些模板覆盖了多样化的中后台管理系统开发需求&#xff0c;具有高度的灵活性和可定制性。 以下是对这些模…

LINUX网络编程:传输层

目录 1.端口号 1.1知名端口号 1.2注意 2.UDP协议 2.1UDP报头的格式 2.2UDP的特点 2.3UDP的缓冲区 1.端口号 端口号的作用标识一个网络中主机的一个进程。 网络之间通信无非就是&#xff0c;发送端和接受端进程之间的通信&#xff0c;所以通过ip地址找到目标主机之后&am…

城市道路街景的绿视率计算 绿化率计算(包括街景的获取)

项目背景 随着城市化进程的加快&#xff0c;城市绿地的重要性日益凸显。合理的绿化不仅能美化城市环境&#xff0c;还能净化空气、调节气候、减轻热岛效应等。因此&#xff0c;对城市道路街景的绿视率和绿化率进行量化分析&#xff0c;对于促进城市可持续发展具有重要意义。 项…

基于stm32的四旋翼无人机控制系统设计系统设计与实现

文章目录 前言资料获取设计介绍功能介绍设计程序 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师&#xff0c;一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业…

基于SpringBoot+Vue+MySQL的家乡特色推荐系统

系统展示 用户前台界面 管理员后台界面 系统背景 在当今数字化时代&#xff0c;随着旅游业的蓬勃发展和人们对本土文化探索的热情日益增长&#xff0c;一个基于SpringBoot、Vue.js与MySQL的家乡特色推荐系统应运而生。该系统旨在通过现代互联网技术&#xff0c;深度挖掘并展示各…

六、RS485实验

目录 一、RS485介绍 二、RS485通信电路 1、TP8485接口 2、485通信波形图 三、RS485相关HAL库驱动介绍 一、RS485介绍 串口是一个泛称&#xff0c;UART、RS232、RS422和RS485都遵循类似的通信时序协议&#xff0c;被通称为串口。 图1 通信时序协议 RS485是串行通信标准&am…

DBeaver 连接 mysql 报错:Public Key Retrieval is not allowed

前言 DBeaver 连接 mysql 报错&#xff1a;Public Key Retrieval is not allowed 遇到 "Public Key Retrieval is not allowed" 错误时&#xff0c;通常意味着你正在使用的身份验证方法需要加密连接&#xff0c;但是没有正确地配置客户端或服务器来支持这种加密。 解…

springbootadmin源码编译修改001_node版本管理工具nvm_任意切换node版本_没有成功记录过程---VUE工作笔记0026

由于项目需要对springbootadmin的源码进行编译和修改. 但是springbootadmin的源码编译很麻烦,主要是由于,springbootadmin-server-ui这个项目,因为他是一个前后端分离的 vue项目,而且是使用 https://github.com/coreybutler/nvm-windows/releases/tag/1.1.12 首先去下载,发…