您当前的位置:首页 > 电脑百科 > 软件技术 > 操作系统 > linux百科

Linux:Head命令

时间:2019-09-20 09:54:54  来源:  作者:

 

零、需求

有一个文件很大,但是我们只需要查看文件开头的一部分。如果使用cat命令会查看整个文件就会我们想要的部分会被淹没掉。这个时候使用head命令是明智的选择。还有排序完以后,需要取前几名的时候,使用head事半功倍。

一、介绍

head命令可以输出文件前半部分。默认会打印文件前10行。如何head后面跟多个文件名,则每个文件都打印10行(如果文件不足10行,到文件结束为止)。如果没有指定文件名或者文件名为-,那么head将会从标准输入(键盘输入)读取,输出到标准输出(屏幕)。

使用场景:

a. 获取文件前n行

b. 排序以后去前n名

二、使用

2.1 语法

head [OPTION]... [FILE]...

2.2 选项

-b K : K代表整数,打印文件前K个字节;如果K为负数,表示除了文件最后|K|(K的绝对值)个字节,其余全部打印。

-n K : K代表整数,打印文件前K行;如果K为负数,表示除了文件最后|K|(K的绝对值)行,其余全部打印。

-q: 不打印文件名(默认)

-v : 总是打印文件名

--help: 输出帮助信息
--version : 输出版本信息


这是在逗我吗,只给我看命令选项。别急,案例都在下面呢!

三、案例

3.0 数据准备

假如我们有一个timewentby.com的文件,内容如下:

Linux:Head命令好像没有比这篇更详细的了吧

 

3.1 默认查看timewentby.com文件

head timewentby.com
Linux:Head命令好像没有比这篇更详细的了吧

 

可以看到默认输出为10行。

3.2 查看文件前12个字节

head -c 12 timewentby.com
Linux:Head命令好像没有比这篇更详细的了吧

 

注意

a. 换行符也算一个字符

b. 如果取到指定字符没有换行符,是不会换行的。例如本案例中的93就没有换行。

3.3 查看文件前5行,并输出文件名称

选项

-n K : K代表整数,打印文件前K行;如果K为负数,表示除了文件最后|K|(K的绝对值)行,其余全部打印。

-v : 总是打印文件名

命令

head -v -n 5 timewentby.com
Linux:Head命令好像没有比这篇更详细的了吧

 

3.4 查看除了最后2行的其他行

选项

-n K : K代表整数,打印文件前K行;如果K为负数,表示除了文件最后|K|(K的绝对值)行,其余全部打印。

命令

head -n -2 timewentby.com
Linux:Head命令好像没有比这篇更详细的了吧

 

注意:这里使用 | cat -n 只是为了对比行号。实际应用不用添加。

3.5 查看除了最后14个字节的内容

选项

-b K : K代表整数,打印文件前K个字节;如果K为负数,表示除了文件最后|K|(K的绝对值)个字节,其余全部打印。

命令

head -c -14 timewentby.com
Linux:Head命令好像没有比这篇更详细的了吧

 

说明

a. 最后14个字节= 最后一行全行(9个字节) + 倒数第二行的.com(4字节) + 倒数第二行换行符(1字节)

b. 所以最后一行显示的是: Welcome to https://timewentby , 因为没有换行符,所以和我们的命令行在一行内。

3.6 对文件中每行的数字行(包含数字的行)进行降序排序,并取前三名

方法1:

grep -P '^s*d+s*$' timewentby.com | sort -nr | head -n 3
Linux:Head命令好像没有比这篇更详细的了吧

 

下面贴出一张动态图展示过程:

Linux:Head命令好像没有比这篇更详细的了吧

 

方法2:

grep '^[0-9]+$' timewentby.com | sort -nr | head -n 3
Linux:Head命令好像没有比这篇更详细的了吧

下面贴出一张动态图展示过程:

Linux:Head命令好像没有比这篇更详细的了吧

注意:方法1和方法2都是使用正则,但是写法不同。如果想要知道差别请参考:

linux: 用了怎麼久Grep命令,這些可能你還不知道?

方法3:

sed -n '/^[0-9]+$/p' timewentby.com | sort -gr | head -3
Linux:Head命令好像没有比这篇更详细的了吧

 

下面贴出一张动态图展示过程:

Linux:Head命令好像没有比这篇更详细的了吧

还有以下其他的方法,因为篇幅有限,所以这里不做过多的叙述。感兴趣的话可以自己试试。

 

四、总结

到这里我相信通过以上的案例你对head命令也会有一个更深刻的认识。是不是觉得so easy .本片文章就写到这里了。如果你有什么疑问,欢迎留言。

如果你觉得这篇文章帮助到您了,麻烦您给点个赞,要是能关注就更好了!您的点赞和关注是对我最大的鼓励,同时也激励我创作出更好的作品。



Tags:Linux Head命令   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
Linux:Head命令
有一个文件很大,但是我们只需要查看文件开头的一部分。如果使用cat命令会查看整个文件就会我们想要的部分会被淹没掉。这个时候使用head命令是明智的选择。还有排序完以后,需要取前几名的时候,使用head事半功倍。...【详细内容】
2019-09-20  Search: Linux Head命令  点击:(1019)  评论:(0)  加入收藏
▌简易百科推荐
微软 Win11 Linux 子系统(WSL)发布 2.2.2 版本
IT之家 4 月 8 日消息,微软近日更新 Windows Subsystem for Linux(WSL),最新 2.2.2 版本中带来了诸多改进,重点更新了 nft 规则,可以让 IPv6 流量通过 Linux 容器。图源: dev.to,AI...【详细内容】
2024-04-08    IT之家  Tags:Linux   点击:(9)  评论:(0)  加入收藏
从原理到实践:深入探索Linux安全机制
Linux 是一种开源的类Unix操作系统内核,由Linus Torvalds在1991年首次发布,其后又衍生出许多不同的发行版(如Ubuntu、Debian、CentOS等)。前言本文将从用户和权限管理、文件系统...【详细内容】
2024-03-27  凡夫编程  微信公众号  Tags:Linux安全   点击:(24)  评论:(0)  加入收藏
在Linux系统中,如何处理内存管理和优化的问题?
本文对 Linux 内存管理和优化的一些高级技巧的详细介绍,通过高级的内存管理技巧,可以帮助系统管理员和开发人员更好地优化 Linux 系统的内存使用情况,提高系统性能和稳定性。在...【详细内容】
2024-03-26  编程技术汇  微信公众号  Tags:Linux   点击:(16)  评论:(0)  加入收藏
Linux 6.9-rc1 内核发布:AMD P-State 首选核心、BH 工作队列
IT之家 3 月 25 日消息,Linus Torvalds 宣布,Linux 6.9 内核的首个 RC(候选发布)版 Linux 6.9-rc1 发布。▲ Linux 6.9-rc1Linus 表示,Linux 内核 6.9 看起来是一个“相当正常”...【详细内容】
2024-03-25    IT之家  Tags:Linux   点击:(15)  评论:(0)  加入收藏
轻松实现Centos系统的软件包安装管理:yum指令实战详解
yum 是一种用于在 CentOS、Red Hat Enterprise Linux (RHEL) 等基于 RPM 的 Linux 发行版上安装、更新和管理软件包的命令行工具。它可以自动解决软件包依赖关系,自动下载并...【详细内容】
2024-02-27  凡夫贬夫  微信公众号  Tags:Centos   点击:(59)  评论:(0)  加入收藏
Win + Ubuntu 缝合怪:第三方开发者推出“Wubuntu”Linux 发行版
IT之家 2 月 26 日消息,一位第三方开发者推出了一款名为“Wubuntu”的缝合怪 Linux 发行版,系统本身基于 Ubuntu,但界面为微软 Windows 11 风格,甚至存在微软 Windows 徽标。据...【详细内容】
2024-02-27    IT之家  Tags:Ubuntu   点击:(53)  评论:(0)  加入收藏
Linux中磁盘和文件系统工作原理解析
在Linux系统中,一切皆文件的概念意味着所有的资源,包括普通文件、目录以及设备文件等,都以文件的形式存在。这种统一的文件系统管理方式使得Linux系统具有高度的灵活性和可扩展...【详细内容】
2024-02-20  王建立    Tags:Linux   点击:(58)  评论:(0)  加入收藏
Linux子系统概览
inux操作系统是一个模块化的系统,由多个子系统组成。这些子系统协同工作,使Linux能够执行各种任务。了解Linux的子系统有助于更好地理解整个操作系统的运作机制。以下是Linux...【详细内容】
2024-02-01    简易百科  Tags:Linux   点击:(85)  评论:(0)  加入收藏
Linux内核:系统之魂与交互之源
内核,作为任何基于Linux的操作系统的心脏,扮演着至关重要的角色。它不仅是计算机系统软件与硬件之间的桥梁,更是确保系统稳定、高效运行的关键。内核提供了一系列核心功能,为上...【详细内容】
2024-02-01  松鼠宝贝    Tags:Linux内核   点击:(72)  评论:(0)  加入收藏
如何确保Linux进程稳定与持久
在Linux系统中,进程的稳定性与持久性对于维持系统的持续运行至关重要。然而,由于各种原因,进程可能会面临崩溃或系统重启的情况。为了确保关键进程能够持续运行,我们必须采取一...【详细内容】
2024-01-19  松鼠宝贝    Tags:Linux进程   点击:(90)  评论:(0)  加入收藏
站内最新
站内热门
站内头条