📑前言
在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.txt
或wc -lwc file.txt
。
🌤️全篇总结
通过本文的介绍,您不仅学会了如何查看文件的详细属性,还掌握了一系列处理文件内容的手段。这些命令不仅提高了您对文件的认知,也让您在处理文件时更加得心应手。文件内容的处理变得如此简单,无论是日常查看还是深度分析,这些命令都将成为您的得力助手。