文本查看命令cat,head,tail,more,less

1.cat

Linux中的cat命令用于将一个或多个文件的内容输出到终端窗口或者将多个文件合并成一个文件。

常用的选项包括:

-n:显示每行的行号。
-b:显示非空行的行号。
-s:将相邻的空行合并成一个空行。
-v:显示非打印字符,如制表符、回车符等。
-A:相当于同时使用了-nvET选项,显示行号、非打印字符和行尾符。

示例:

  1. 将file1和file2的内容合并输出到终端:
cat file1 file2
  1. 将file1的内容输出到终端,同时显示行号,或者 nl 给输出的内容编号:
cat -n file1
#	 nl   =  cat  -n
nl file1
  1. 将file1的内容输出到终端,将相邻的空行合并成一个空行:
cat -s file1
  1. 将file1的内容输出到终端,显示非打印字符:
cat -v file1
  1. 将file1的内容输出到终端,同时显示行号、非打印字符和行尾符:
cat -A file1
  1. 倒着输出文件:
tac file1
  1. 向文件中追加内容:
cat >> filename
  1. 将多个文件合并成一个文件:
cat file1 file2 file3 > newfile
  1. 将文件内容输出到屏幕并同时保存到文件:
cat filename | tee newfile

2.head,tail

一、head命令用于显示文件的开头几行内容,默认情况下显示前10行。

语法:

head [选项] [文件名]

常用选项:

  • -n:指定要显示的行数,例如-n 5表示显示前5行。
  • -c:指定要显示的字节数,例如-c 20表示显示前20个字节。
  • -v:显示文件名。
  • -q:不显示文件名。

示例:

  1. 显示文件的前10行:
head filename
  1. 显示文件的前5行:
head -n 5 filename
  1. 显示文件的前20个字节:
head -c 20 filename
  1. 显示多个文件的前10行:
head file1 file2 file3
  1. 显示多个文件的前10行,并显示文件名:
head -v file1 file2 file3
  1. 显示多个文件的前10行,但不显示文件名:
head -q file1 file2 file3

二、tail 命令用于显示文件末尾的内容。

它可以显示文件的最后几行内容,也可以显示实时更新的日志文件。

语法:

tail [参数] [文件名]

常用参数:

-n:指定显示文件最后几行,默认为 10 行。
-f:实时更新显示文件内容,常用于查看日志文件。
-c:指定显示文件最后几个字节。
-q:不显示文件名。

常见用法:

  1. 显示文件最后 10 行:
tail file.txt
  1. 显示文件最后 20 行:
tail -n 20 file.txt
  1. 实时查看日志文件:
tail -f /var/log/messages

Ctrl + C 终止查看。
4. 显示文件最后 100 个字节:

tail -c 100 file.txt
  1. 不显示文件名:
tail -q file.txt
 tail -n +3 /etc/passwd  #从第3行开始到末尾
 tail -n 3 /etc/passwd  #取文件的最后3行
 tail -n -3 /etc/passwd  #取文件的最后3行
 tail -3 /etc/passwd  #取文件的最后3行

显示5~20行

head -20 sc.txt|tail -16

3.more ,less分页显示

more命令
用途:全屏方式分页显示文件内容
交互操作方法:
按Enter键向下逐行滚动
按空格键向下翻一屏、按b键向上翻一屏 back
按q键退出 quit
显示完会自动退出

more /etc/passwd

less命令
用途:与more命令相同,但扩展功能更多
交互操作方法:
按Enter键向下逐行滚动
按空格键向下翻一屏、按b键向上翻一屏 back
按q键退出 quit
【page down】【page up】上翻下翻页
不会自动退出

less /etc/passwd

4.cat、more和less的区别?

​ cat 默认会将整个文件里的内容加载到内存,读取里面的内容,慢慢加载文件里面的内容到内存里,会在短时间内消耗大量的内存 --》瞬间显示大量的内容
​ more和less 会慢慢读取内存,不会在短时间内消耗大量的内存空间 —》分页显示

不要使用cat 去读取大文件,会消耗整个服务器大量的资源(内存资源)

猜你喜欢

转载自blog.csdn.net/zheng_long_/article/details/129977041