linux中查几个看文件的命令[cat、more、less、tail、head]

本文介绍Linux下常用的文件内容查看工具,包括cat、more、less、head和tail的使用方法及实例。这些工具能够帮助用户有效地浏览文件内容。

一、cat 显示文件连接文件内容的工具 

cat 是一个文本文件(查看)和(连接)工具,通常与more搭配使用,与more不同的是cat可以合并文件。

查看一个文件的内容,用cat比较简单,就是cat后面直接接文件名。 

如: # cat /etc/passwd 
  
1、cat 语法结构:  
cat [选项] [文件]... 
   选项 
  -A, --show-all           等价于 -vET 
  -b, --number-nonblank    对非空输出行编号 
  -e                       等价于 -vE 
  -E, --show-ends          在每行结束处显示 $ 
  -n, --number             对输出的所有行编号 
  -s, --squeeze-blank      不输出多行空行 
  -t                       与 -vT 等价 
  -T, --show-tabs          将跳格字符显示为 ^I 
  -u                       (被忽略) 
  -v, --show-nonprinting   使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外 
      --help     显示此帮助信息并离开 

2、cat 查看文件内容实例:  
[root @localhost etc ]# cat /etc/yum.conf     注:查看/etc/目录下的yum.conf 文件内容; 
[root@localhost etc]# cat -n yum.conf    注:对/etc目录中的yum.conf的所有的行(包括空白行)进行编号输出显示;
     1  [main]
     2  cachedir=/var/cache/yum/$basearch/$releasever
     3  keepcache=0
     4  debuglevel=2
     5  logfile=/var/log/yum.log

cat  对于内容极大的文件 来说,可以通过管道|传送到more 工具,然后一页一页的查看; 
[@localhost etc]# cat /etc/yum.conf | more 
  
3、cat 的创建、连接文件功能实例:  

cat 有创建文件的功能,创建文件后,要以EOF或STOP结束; 

[root@localhost ~]# cat > test.txt << EOF   (EOF结束输入标志)
> 1

> 2

> EOF  

cat 还有向已存在的文件追加内容的功能; 
[root@localhost ~]# cat >> test.txt << EEE    (EEE结束输入标志,任意不冲突就可以)
> 3
> 4
> 5
> EEE  

cat 连接多个文件的内容并且输出到一个新文件中; 

注意:“ > ”表示创建,“>>”表示追加。千万不要弄混了。

[root@localhost ~]# cat t1.txt t2.txt t3.txt > test.txt 
[root@localhost ~]# cat t1.txt t2.txt t3.txt >> test.txt 

二、more 文件内容或输出查看工具 

more 是我们最常用的工具之一,最常用的就是显示输出的内容,然后根据窗口的大小进行分页显示,然后还能提示文件的百分比; 

#ll -l /etc >test.txt  (增加test.txt内容)

# more /etc/test.txt 

#cat -n /etc/test.txt |more

1、more 的语法、参数和命令: 

more [参数选项] [文件] 
参数如下: 
+num   从第num行开始显示; 
-num   定义屏幕大小,为num行; 
+/pattern   从pattern 前两行开始显示; 
-c   从顶部清屏然后显示; 
-d   提示Press space to continue, 'q' to quit.(按空格键继续,按q键退出),禁用响铃功能; 
-l    忽略Ctrl+l (换页)字符; 
-p    通过清除窗口而不是滚屏来对文件进行换页。和-c参数有点相似; 
-s    把连续的多个空行显示为一行; 
-u    把文件内容中的下划线去掉退出more的动作指令是q 

2、more 的参数应用举例:  
[root@localhost ~]# more -dc /etc/profile    注:显示提示,并从终端或控制台顶部显示; 
[root@localhost ~]# more +4 /etc/profile      注:从profile的第4行开始显示; 
[root@localhost ~]# more -4 /etc/profile      注:每屏显示4行; 
[root@localhost ~]# more +/MAIL /etc/profile     注:从profile中的第一个MAIL单词的前两行开始显示; 

3、more 的动作指令:  
我们查看一个内容较大的文件时,要用到more的动作指令,比如ctrl+f(或空格键) 是向下显示一屏,ctrl+b是返回上一屏; Enter键可以向下滚动显示n行,要通过定,默认为1行; 
Enter       向下n行,需要定义,默认为1行; 
Ctrl+f    向下滚动一屏; 
空格键          向下滚动一屏; 
Ctrl+b  返回上一屏; 
=         输出当前行的行号; 
:f      输出文件名和当前行的行号; 
v      调用vi编辑器; 
! 命令            调用Shell,并执行命令; 
q     退出more当我们查看某一文件时,想调用vi来编辑它,不要忘记了v动作指令,这是比较方便的; 

4、其它命令通过管道和more结合的运用例子:  
比如我们列一个目录下的文件,由于内容太多,我们应该学会用more来分页显示。这得和管道 | 结合起来,比如: 
[root@localhost ~]# ls -l /etc |more 

三、less 查看文件内容 工具 

less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大;您是初学者,我建议您用less。由于less的内容太多,我们把最常用的介绍一下; 

1、less的语法格式:  
less [参数] 文件 
   常用参数 
-c 从顶部(从上到下)刷新屏幕,并显示文件内容。而不是通过底部滚动完成刷新; 
-f 强制打开文件,二进制文件显示时,不提示警告; 
-i 搜索时忽略大小写;除非搜索串中包含大写字母; 
-I 搜索时忽略大小写,除非搜索串中包含小写字母; 
-m 显示读取文件的百分比; 
-M 显法读取文件的百分比、行号及总行数; 
-N 在每行前输出行号; 
-p pattern 搜索pattern;比如在/etc/profile搜索单词MAIL,就用 less -p MAIL /etc/profile 
-s 把连续多个空白行作为一个空白行显示; 
-Q 在终端下不响铃; 
  
比如:我们在显示/etc/profile的内容时,让其显示行号; 
# less -N    /etc/test.txt 
  

四、head 工具,显示文件内容的前几行 

head 是显示一个文件的内容的前多少行; 
用法比较简单; 
head -n 行数值 文件名; 

比如我们显示/etc/profile的前10行内容,应该是: 
[root@localhost ~]# head -n 10 /etc/profile 

五、tail 工具,显示文件内容的最后几行 

tail 是显示一个文件的内容的最后多少行; 

用法比较简单; 
tail   -n 行数值 文件名; 

比如我们显示/etc/profile的最后5行内容,应该是: 
[root@localhost ~]# tail -n 5 /etc/profile 

tail -f /var/log/syslog 显示文件 syslog 的后十行内容并在文件内容增加后,且自动显示新增的文件内容。 

备注:最后一条命令tail非常有用,尤其在监控日志文件时,可以在屏幕上一直显示新增的日志信息。 
<think>好的,我需要详细对比Unix/Linuxcatmorelessheadtail几个命令的功能和用法。首先,我要回忆每个命令的基本用途,再找出它们之间的区别。 首先,cat命令。根据引用中的资料,cat主要用于显示整个文件内容,或者合并多个文件。比如用cat filename会一次性显示所有内容,适合小文件。但大文件的话,屏幕会快速滚动,用户无法逐页看,这时候可能需要配合more命令。另外,cat还能将多个文件合并成一个,比如cat file1 file2 > file3,这是它的另一个功能。 接下来是more命令more解决了cat显示大文件时的问题,支持分页显示。用户按空格键翻页,但只能向前,不能回退。引用里提到more通常和cat搭配使用,可能是指cat输出内容通过管道传给more,比如cat longfile | more。不过more的功能相对基础,无法进行复杂的导航。 然后是less命令lessmore更强大,支持前后翻页,还可以搜索和跳转。用户可以用上下箭头或Page Up/Page Down来浏览文件,这在处理大文件时非常方便。引用中提到less可以跟踪文件更新,不过我记得tail -f才是实时跟踪,可能需要再确认。但less确实在文件时更灵活,适合需要反复看的情况。 headtail命令则专注于显示文件的头部或尾部内容。默认情况下,head显示前10行,tail显示后10行。通过-n参数可以指定行数,比如head -n 5 filename显示前5行。tail还有一个有用的-f选项,可以实时监控日志文件的更新,这在调试时非常实用,比如tail -f logfile。 现在需要对比它们的差异。从功能上看,cat适合快速看或合并小文件moreless用于分页看,但less更强大;headtail处理文件的首尾部分。用法方面,cat和tac是正向和反向显示整个文件moreless分页但交互性不同,head/tail控制显示的行数和位置。 还需要注意每个命令的优缺点。例如,cat处理大文件不便,more不能回退,而less虽然功能多但可能消耗更多资源。headtail在需要快速文件开头或结尾时效率很高,尤其是tail -f对日志监控至关重要。 最后,根据用户的问题,要确保回答结构清晰,分点说明每个命令的功能、用法示例,以及对比总结。同时引用相关参考资料,比如提到cat合并文件时引用[2],tail -f时引用[3]和[5]等。还要检是否符合格式要求,如数学公式用$符号,独立公式用$$,但这里可能用不上,但需要确保LaTeX正确。另外生成相关问题,比如如何实时监控日志,或者如何合并文件等。</think>### Unix/Linux中`cat`、`more`、`less`、`head`、`tail`功能及用法对比 #### 1. **`cat`命令** - **功能**: - 显示文件全部内容(适合小文件)[^2][^5]。 - 合并多个文件:`cat file1 file2 > newfile`[^2]。 - **用法示例**: ```bash cat filename # 显示文件内容 cat file1 file2 # 依次显示多个文件内容 cat file1 file2 > merged_file # 合并文件 ``` - **缺点**:大文件内容会瞬间滚动,无法分页看。 #### 2. **`more`命令** - **功能**: - 分页显示文件内容,支持向前翻页(空格键),但不支持向后滚动[^2][^4]。 - 显示进度百分比。 - **用法示例**: ```bash more filename # 分页文件 cat longfile | more # 通过管道分页看 ``` - **缺点**:无法回退到上一页。 #### 3. **`less`命令** - **功能**: - 分页显示且支持**前后滚动**(使用方向键或`PgUp/PgDn`)[^3]。 - 支持搜索(`/关键词`)、跳转到行(`:行号`)等高级操作。 - **用法示例**: ```bash less filename # 交互式文件 less -N filename # 显示行号 ``` - **优点**:适合看大文件或需要反复检索的场景。 #### 4. **`head`命令** - **功能**: - 显示文件开头的部分内容(默认前10行)[^3]。 - **用法示例**: ```bash head filename # 显示前10行 head -n 5 filename # 显示前5行 ``` #### 5. **`tail`命令** - **功能**: - 显示文件末尾部分内容(默认后10行)。 - 实时追踪文件更新(`-f`选项),常用于监控日志[^3]。 - **用法示例**: ```bash tail filename # 显示末尾10行 tail -n 20 filename # 显示末尾20行 tail -f logfile # 实时跟踪日志更新 ``` --- ### **功能对比总结** | 命令 | 核心功能 | 交互性 | 适用场景 | |--------|------------------------------|------------|------------------------------| | `cat` | 显示/合并文件 | 无 | 快速看小文件或合并文件 | | `more` | 分页向前浏览 | 基础分页 | 简单分页看 | | `less` | 分页双向浏览+搜索 | 高交互性 | 复杂看、检索大文件 | | `head` | 显示文件开头 | 无 | 快速文件起始内容 | | `tail` | 显示文件末尾+实时追踪 | 无(除`-f`)| 看日志结尾或监控实时更新 | --- ### **典型用法场景** 1. **合并配置文件**: ```bash cat config_part1 config_part2 > full_config # 合并文件[^2] ``` 2. **实时监控日志**: ```bash tail -f /var/log/syslog # 跟踪日志更新 ``` 3. **检索大文件中的关键词**: ```bash less large_file.log # 输入 `/error` 找错误信息 ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值