linux head

阅读目录(Content)

head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾。

回到顶部(go to top)

一.命令格式:

head [参数]... [文件]...  

回到顶部(go to top)

二.命令功能:

head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。

回到顶部(go to top)

三.命令参数:

参数描述
-q隐藏文件名
-v显示文件名
-c<字节>显示字节数
-n<行数>显示的行数

回到顶部(go to top)

四.使用实例:

1.输出log1文件的前4行内容

命令:

head -n 4 log1

输出:

hc@hc-virtual-machine:~/snap$ nl -b a log1
     1  我是log1的第一行
     2  
     3  我是log1的第三行
     4  我是log1的第四行
     5  我是log1的第五行
     6  
     7  我是log1的第七行
hc@hc-virtual-machine:~/snap$ head -n 4 log1
我是log1的第一行

我是log1的第三行
我是log1的第四行

2.输出log1文件除最后4行以外的全部内容

命令:

head -n -4 log1

输出:

hc@hc-virtual-machine:~/snap$ head -n -4 log1
我是log1的第一行

我是log1的第三行
hc@hc-virtual-machine:~/snap$ 

3.输出log1文件的前24个字节

命令:

head -c 24 log1

输出:

hc@hc-virtual-machine:~/snap$ head -c 24 log1
我是log1的第一行

hc@hc-virtual-machine:~/snap$ 

4.输出log1文件的除最后24个字节以外的内容

命令:

head -c -24 log1

输出:

hc@hc-virtual-machine:~/snap$ head -c -24 log1
我是log1的第一行

我是log1的第三行
我是log1的第四行
我是log1的第五行
hc@hc-virtual-machine:~/snap$ 

分类: linux

### 关于 `head` 命令的详细介绍 #### 功能描述 `head` 是一个用于显示文件开头部分内容的命令工具。它能够输出指定文件的前若干行,默认情况下会打印文件的前十行[^1]。 #### 使用语法 基本语法如下所示: ```bash head [OPTION]... [FILE]... ``` 其中 `[OPTION]` 表示可选参数,而 `[FILE]` 则代表目标文件路径。如果未提供文件名,则默认处理标准输入流的内容。 #### 主要选项 - `-n NUM`: 指定需要展示的具体行数为NUM。如果不带此标志位运行程序时,默认取值为10。 - 示例:执行 `$ head -n 2 shellCommandCategories.md` 将仅返回该文档最上面两行数据[^1]。 #### 示例演示 以下是几个实际操作中的例子来帮助理解如何运用这个指令: ##### 默认行为 当没有任何附加参数被设定的时候,比如下面这条语句: ```bash $ head shellCommandCategories.md ``` 其效果就是把名为 "shellCommandCategories.md" 的文本档里边最初的十行列出来作为预览[^1]。 ##### 自定义行数 通过加入 `-n` 参数可以灵活调整所提取部分长度。例如: ```bash $ head -n 5 example.txt ``` 这里的意思是从叫做 'example.txt' 这个档案里面挑出头五个记录项并呈现在屏幕上。 #### 注意事项 需要注意的是,在调用过程中如果没有特别指明作用对象的话(即省略掉了 FILE 部分),那么整个过程将会基于 stdin 来完成读取动作直至遇到 EOF 或者达到预定的最大限度为止。 --- ### 提供一段简单的 Python 脚本来模拟实现类似的 Head 功能 对于学习目的而言,我们也可以尝试编写一小段 python 程序用来模仿上述提到的功能特性之一——截取列表前端元素子集的操作方法论思路转换成代码形式表达出来看看效果怎么样吧? ```python def custom_head(file_path, num_lines=10): try: with open(file_path, 'r') as f: lines = [] for i, line in enumerate(f): if i >= num_lines: break lines.append(line.strip()) return "\n".join(lines) except FileNotFoundError: print("File not found.") return "" if __name__ == "__main__": result = custom_head('testfile.txt', 3) # Assuming testfile.txt exists. print(result) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值