Linux ----tail cat

本文详细介绍了Linux系统中tail和cat两个常用命令的功能及用法。tail命令用于查看文件尾部内容,默认显示最后10行;cat命令则用于连接文件并打印到标准输出设备上。文章还列举了这两个命令的各种选项和实际应用实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

tail 

tail命令用于输入文件中的尾部内容。tail命令默认在屏幕上显示指定文件的末尾10行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为“-”,则读取标准输入。

tail -f a.txt 

 

实例

tail file (显示文件file的最后10行)
tail +20 file (显示文件file的内容,从第20行至文件末尾)
tail -c 10 file (显示文件file的最后10个字符)

选项

--retry:即是在tail命令启动时,文件不可访问或者文件稍后变得不可访问,都始终尝试打开文件。使用此选项时需要与选项“——follow=name”连用;
-c<N>或——bytes=<N>:输出文件尾部的N(N为整数)个字节内容;
-f<name/descriptor>或;--follow<nameldescript>:显示文件最新追加的内容。“name”表示以文件名的方式监视文件的变化。“-f”与“-fdescriptor”等效;
-F:与选项“-follow=name”和“--retry"连用时功能相同;
-n<N>或——line=<N>:输出文件的尾部N(N位数字)行内容。
--pid=<进程号>:与“-f”选项连用,当指定的进程号的进程终止后,自动退出tail命令;
-q或——quiet或——silent:当有多个文件参数时,不输出各个文件名;
-s<秒数>或——sleep-interal=<秒数>:与“-f”选项连用,指定监视文件变化时间隔的秒数;
-v或——verbose:当有多个文件参数时,总是输出各个文件名;
--help:显示指令的帮助信息;
--version:显示指令的版本信息。

cat

cat 命令用于连接文件并打印到标准输出设备上。

 

参数说明:

-n 或 --number:由 1 开始对所有输出的行数编号。

-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。

-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。

-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。

-E 或 --show-ends : 在每行结束处显示 $。

-T 或 --show-tabs: 将 TAB 字符显示为 ^I。

-e : 等价于 -vE。

-A, --show-all:等价于 -vET。

-e:等价于"-vE"选项;

-t:等价于"-vT"选项;

实例:

把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里:

cat -n textfile1 > textfile2-n textfile1 > textfile2

把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里:

cat -b textfile1 textfile2 >> textfile3-b textfile1 textfile2 >> textfile3

清空 /etc/test.txt 文档内容:

cat /dev/null > /etc/test.txt/dev/null > /etc/test.txt

cat 也可以用来制作镜像文件。例如要制作软盘的镜像文件,将软盘放好后输入:

cat /dev/fd0 > OUTFILE/dev/fd0 > OUTFILE

相反的,如果想把 image file 写到软盘,输入:

cat IMG_FILE > /dev/fd0> /dev/fd0

 

<think>我们正在讨论如何跳过文件的前N行显示剩余内容,这与`tail`命令的使用相关。 用户上一次的问题是关于`wc -l`统计行数,这次是`tail`跳过前N行,属于文本处理的连续学习。 标准用法:`tail -n +K` 表示从第K行开始显示(包括第K行)。例如,跳过前1行(即从第2行开始): tail -n +2 filename 注意:如果文件行数少于K,则什么也不显示。 另外,我们也可以使用`sed`或`awk`实现: sed '1,2d' filename # 删除前2行(即显示第3行及以后) awk 'NR>3' filename # 从第4行开始显示(NR>3表示行号大于3) 但用户明确提到`tail`命令,所以重点在`tail`。 引用[1]中提到了vi编辑器的命令,与当前问题无关,但引用[3]中有关于服务启动的内容,也不相关。因此,我们主要依靠自己的知识。 因此,回答如下:</think>### 使用 `tail` 命令跳过前 N 行显示文件内容 在 Linux 系统中,`tail` 命令结合 `-n +K` 参数可跳过文件前 K-1 行,从第 K 行开始显示剩余内容。语法如下: ```bash tail -n +K filename ``` #### 1. **跳过前 N 行的基础用法** - **跳过前 1 行**(从第 2 行开始显示): ```bash tail -n +2 file.txt ``` - **跳过前 5 行**(从第 6 行开始显示): ```bash tail -n +6 file.txt ``` #### 2. **与管道结合使用** 可配合其他命令实现动态过滤: ```bash # 统计日志中第10行后的 ERROR 数量 cat app.log | tail -n +10 | grep "ERROR" | wc -l # 查看实时日志(跳过已有内容) tail -f access.log | tail -n +100 # 监控从第100行开始的新内容 ``` #### 3. **替代方案对比** | 命令 | 示例 | 特点 | |------|------|------| | **`tail -n +K`** | `tail -n +3 file` | 最简洁高效 | | **`sed`** | `sed '1,2d' file` | 可删除指定行范围 | | **`awk`** | `awk 'NR>3' file` | 支持复杂条件过滤 | | **`grep`** | `grep -v "^$" file \| tail -n +4` | 先过滤空行再跳过 | > 示例:编辑文件时跳过前 10 行(结合 `vi`) > 使用 `vi +10 file.txt` 直接打开文件并定位到第 10 行[^1] #### 注意事项 - **行号计算**:`-n +K` 中的 `K` 是起始行号(包含该行) - **空文件处理**:若文件行数少于 `K`,命令无输出 - **大文件优化**:处理 GB 级文件时,`tail` 比 `sed`/`awk` 更高效
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值