【Linux】:文件查看 stat、cat、more、less、head、tail、uniq、wc

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 【Linux】:文件查看 stat、cat、more、less、head、tail、uniq、wc

📑前言

Linux系统中,文件是信息的核心。深入了解和操作文件内容是每个系统管理员和开发者必备的技能。本文将为您揭开Linux文件魔法的面纱,介绍一系列强大的命令,包括stat、cat、more、less、head、tail、uniq和wc。通过这些神奇的命令,您将能够轻松驾驭文件的属性、内容以及统计信息。

一、stat(查看文件详细属性信息)

语法:stat [选项] 文件名

stat test2.txt

1.1 内容解析:

  • File(文件名): test2.txt
  • Size(大小): 23 bytes
  • Blocks(块数): 8
  • IO Block(IO块大小): 4096
  • File type(文件类型): 普通文件
  • Device(设备号): fd01h/64769d
  • Inode(Inode号): 393230
  • Links(硬链接数): 1
  • Access(访问权限): -rw-r–r–
  • Uid(所有者): root (UID 0)
  • Gid(所属组): root (GID 0)
  • Access(访问时间): 2023-11-13 19:28:26.090929868 +0800
  • Modify(修改时间): 2023-10-07 18:37:02.962539849 +0800
  • Change(状态改变时间): 2023-10-07 18:37:02.962539849 +0800
  • Birth(创建时间): -

1.2 stat补充

功能:显示文件或目录的详细信息,包括文件的权限、所有者、大小、修改时间等。

说明:stat命令是Linux系统中的一个常用命令,用于查看文件或目录的属性信息。

通过使用stat命令可以查看文件或目录的创建时间、修改时间、访问时间、文件类型、文件大小、文件权限等详细信息。

选项:

  • "-c"选项可以自定义输出格式
  • "-f"选项可以显示文件系统信息

二、查看文件内容

2.1 cat

语法: cat [选项] [文件]

cat -n test.txt :打印文件中的内容,并对每行编号

功能: 查看目标文件的内容

常用选项:

  • -b 对非空输出行编号
  • -n 对输出的所有行编号
  • -s 不输出多行空行

显示方式: 一次性显示整个文件的内容。

适用性: 当文件较小或需要一次性查看整个文件时, 是一个简单而直接的选择。cat

交互性: 由于一次性显示整个文件,如果文件很大,可能会导致输出内容超出屏幕,难以查看全部内容。

适用场景: 适用于文件较小或在不需要逐页查看的情况下,例如查看配置文件、小型日志等。

2.2 more

语法: more [选项] [文件]

more -n test.txt

功能: more命令,功能类似 cat

常用选项:

  • -n 对输出的所有行编号
  • q 退出more

显示方式: 允许逐页显示文件内容,用户可以按空格键翻页,按 键退出。q

适用性: 更适合处理大文件,因为它提供了逐页查看的功能,避免一次性显示整个文件可能导致的输出过多问题。

交互性: 用户可以按需翻页,更方便查看大文件的内容。

适用场景: 适用于需要逐页查看大文件内容的情况,例如查看大型日志文件、长篇文档等。

查看非文本文件:

cat虽然主要用于文本文件,但它也可以用于查看非文本文件,如图片或二进制文件。但要注意,这可能会在终端中显示乱码。

例如:

cat image.jpg

2.3 less

  • less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。
  • less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看。
  • 但若使用了 less 时,就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易用
  • 来查看一个文件的内容!
  • 除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。

语法: less [参数] 文件

less -N test2.txt :浏览文件内容,并显示你每行行号

功能:

less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。

选项:

  • -i 忽略搜索时的大小写
  • -N 显示每行的行号
  • /字符串:向下搜索“字符串”的功能
  • ?字符串:向上搜索“字符串”的功能
  • n:重复前一个搜索(与 / 或 ? 有关)
  • N:反向重复前一个搜索(与 / 或 ? 有关)
  • q:quit

三、文件头尾部内容

3.1 head

head 就像它的名字一样的浅显易懂,它是用来显示开头某个数量的文字区块, head 用来显示档案的开头至标准输出中。

语法: head [参数]… [文件]…

head -1 test2.txt :显示文件头部第一行的数据

功能:

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

选项:

-n<行数> 显示的行数

3.2 tail

tail 命令从指定点开始将文件写到标准输出。

使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容。

语法: tail[必要参数] [选择参数] [文件]

tail -3 test2.txt :浏览文件尾部三行的数据

功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。

选项:

f 循环读取  -n<行数> 显示行数

四、文件统计指令

4.1 uniq

功能: 用于报告或省略文本文件中重复的行。

语法:

uniq [选项] [输入文件 [输出文件]]

示例:

uniq file.txt

说明:

  • uniq 常常与排序命令sort 结合使用,以便去除相邻的重复行。
  • 选项如 -d可以只显示重复的行,而 -u可以只显示不重复的行。

4.2 wc

功能: 用于统计文件中的行数、字数和字符数。

语法:

wc [选项] 文件

示例:

wc -l file.txt

说明:

  • 常用选项如 -l(统计行数)、-w(统计字数)、-c(统计字符数)。
  • 可以同时使用多个选项,如 wc -l -w file.txtwc -lwc file.txt

🌤️全篇总结

通过本文的介绍,您不仅学会了如何查看文件的详细属性,还掌握了一系列处理文件内容的手段。这些命令不仅提高了您对文件的认知,也让您在处理文件时更加得心应手。文件内容的处理变得如此简单,无论是日常查看还是深度分析,这些命令都将成为您的得力助手。

ce94992696e0477898872f21c287812b.png

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
4月前
|
Linux
Linux命令行文档查看cat、less、more、head、tail和图片查看
Linux命令行文档查看cat、less、more、head、tail和图片查看
63 0
|
4月前
|
Linux Python
【Deepin 20系统】Linux系统VScode解决Module ‘torch‘ has no ‘cat‘ member
本文提供了解决在Deepin 20系统上使用VScode时遇到的"Module ‘torch’ has no ‘cat’ member"错误的步骤,即通过在VScode的设置中指定正确的pylint路径来解决该问题。
37 0
|
1月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
98 8
|
1月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
295 6
|
1月前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
81 3
|
1月前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
74 2
|
17天前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
45 14
Linux 10 个“who”命令示例
|
6天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
65 20
|
6天前
|
网络协议 Linux 应用服务中间件
kali的常用命令汇总Linux
kali的常用命令汇总linux
27 7
|
26天前
|
Linux 数据库
Linux中第一次使用locate命令报错?????
在Linux CentOS7系统中,使用`locate`命令时出现“command not found”错误,原因是缺少`mlocate`包。解决方法是通过`yum install mlocate -y`或`apt-get install mlocate`安装该包,并执行`updatedb`更新数据库以解决后续的“can not stat”错误。
31 9