Linux文件内容查看和编辑指南:cat、less、grep等常用命令详解(一)

简介: Linux文件内容查看和编辑指南:cat、less、grep等常用命令详解(一)

Linux文件内容查看和编辑

1. 查看文件内容

cat用法

cat命令用于显示整个文件的内容。它将文件的内容一次性输出到终端窗口。

例如,要显示名为 file.txt 的文件内容,可以运行以下命令:

cat file.txt

小提示:如果文件内容太长无法一次性在终端显示完整,可以使用 less 或者 more 命令进行分页显示。

cat详解

连接多个文件并打印到标准输出。

概要

cat [OPTION]… [FILE]…

主要用途
  • 显示文件内容,如果没有文件或文件为-则读取标准输入。
  • 将多个文件的内容进行连接并打印到标准输出。
  • 显示文件内容中的不可见字符(控制字符、换行符、制表符等)。
参数

FILE(可选):要处理的文件,可以为一或多个。

选项

长选项与短选项等价

  • -A, --show-all 等价于"-vET"组合选项。
  • -b, --number-nonblank 只对非空行编号,从1开始编号,覆盖"-n"选项。
  • -e 等价于"-vE"组合选项。
  • -E, --show-ends 在每行的结尾显示’$'字符。
  • -n, --number 对所有行编号,从1开始编号。
  • -s, --squeeze-blank 压缩连续的空行到一行。
  • -t 等价于"-vT"组合选项。
  • -T, --show-tabs 使用"^I"表示TAB(制表符)。
  • -u POSIX兼容性选项,无意义。
  • -v, --show-nonprinting 使用"^"和"M-"符号显示控制字符,除了LFD(line feed,即换行符’\n’)和TAB(制表符)。
  • –help 显示帮助信息并退出。
  • –version 显示版本信息并退出。
返回值

返回状态为成功除非给出了非法选项或非法参数。

例子
# 合并显示多个文件
cat ./1.log ./2.log ./3.log
# 显示文件中的非打印字符、tab、换行符
cat -A test.log
# 压缩文件的空行
cat -s test.log
# 显示文件并在所有行开头附加行号
cat -n test.log
# 显示文件并在所有非空行开头附加行号
cat -b test.log
# 将标准输入的内容和文件内容一并显示
echo '######' |cat - test.log
注意
  • 该命令是GNU coreutils包中的命令,相关的帮助信息请查看man -s 1 catinfo coreutils 'cat invocation'
  • 当使用cat命令查看体积较大的文件时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容,为了控制滚屏,可以按Ctrl+s键停止滚屏;按Ctrl+q键恢复滚屏;按Ctrl+c(中断)键可以终止该命令的执行,返回Shell提示符状态。
  • 建议您查看体积较大的文件时使用less、more命令或emacs、vi等文本编辑器。

less

less 命令可以按页查看文件内容,并且提供了一些方便的浏览操作。

若要使用 less 查看文件内容,只需输入以下命令:

less file.txt

此时会显示文件内容的第一页。您可以使用箭头键向上/向下滚动,或者按空格键向下翻页。

小提示:要退出 less 命令,可以按下 q 键。

less详解

分屏上下翻页浏览文件内容

补充说明

less 命令的作用与 more 十分相似,都可以用来浏览文字档案的内容,不同的是 less 命令允许用户向前或向后浏览文件,而 more 命令只能向前浏览。用 less 命令显示文件时,用 PageUp 键向上翻页,用 PageDown 键向下翻页。要退出 less 程序,应按 Q 键。

语法
less [选项] [参数]
选项
  • -e:文件内容显示完毕后,自动退出;
  • -f:强制显示文件;
  • -g:不加亮显示搜索到的所有关键词,仅显示当前显示的关键字,以提高显示速度;
  • -l:搜索时忽略大小写的差异;
  • -N:每一行行首显示行号;
  • -s:将连续多个空行压缩成一行显示;
  • -S:在单行显示较长的内容,而不换行显示;
  • -x<数字>:将TAB字符显示为指定个数的空格字符。
参数
  • 文件:指定要分屏显示内容的文件。
实例
sudo less /var/log/shadowsocks.log

more

less 类似,more 命令也可用于按页查看文件内容。

要使用 more 查看文件内容,只需输入以下命令:

more file.txt

less 不同的是,more 只允许您向前滚动一页,无法像 less 那样向后滚动。

小提示:要退出 more 命令,可以按下 q 键。

more详解

more 命令用于分页显示文件内容。

补充说明

more 命令是一个基于 vi 编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容,并且支持 vi 中的关键字定位操作。more 内置了许多快捷键,如:

  • H:获得帮助信息。
  • Enter:向下翻滚一行。
  • 空格:向下滚动一屏。
  • Q:退出命令。

该命令一次显示一屏文本,满屏后停下来,并且在屏幕底部出现一个提示信息,给出已经显示的文件百分比:“–More–(XX%)”。您可以按以下方法对提示进行回答:

  • Space 键:显示文本的下一屏内容。
  • Enter 键:只显示文本的下一行内容。
  • 按斜线符 |:接着输入一个模式,可以在文本中寻找下一个相匹配的模式。
  • H 键:显示帮助屏,该屏上有相关的帮助信息。
  • B 键:显示上一屏内容。
  • Q 键:退出 more 命令。
语法
more [选项] [文件]
选项
  • -<数字>:指定每屏显示的行数。
  • -d:显示提示信息。
  • -c:不进行滚屏操作,每次刷新屏幕。
  • -s:将多个空行压缩成一行显示。
  • -u:禁止下划线。
  • +<数字>:从指定数字的行开始显示。
参数
  • 文件:要分页显示内容的文件。
实例

显示 file 文件的内容,但在显示之前先清屏,并且在屏幕最下方显示完成的百分比。

more -dc file

显示 file 文件的内容,每10行显示一次,而且在显示之前先清屏。

more -c -10 file

2. 文件搜索和过滤

grep

grep 命令用于在文件中搜索指定的模式。它可以根据您提供的模式进行匹配,并输出匹配到的行。

以下是使用 grep 的基本语法:

grep pattern file.txt

其中,pattern 是您要搜索的模式,file.txt 是您要搜索的文件名。

例如,要在名为 file.txt 的文件中搜索包含单词 “hello” 的行,可以运行以下命令:

grep hello file.txt

grep 命令还提供了许多选项,以便更灵活地进行搜索。您可以通过 man grep 命令查看完整的帮助文档。

grep详解

grep 命令用于在文件中搜索指定的模式并输出匹配的行。

语法
grep [选项] 模式 [文件]
选项
  • -i:忽略大小写。
  • -v:反向匹配,只输出不匹配的行。
  • -r:递归搜索目录下的所有文件。
  • -l:只输出包含匹配模式的文件名。
  • -c:只输出匹配的行数。
  • -n:同时输出匹配的行和行号。
  • -H:当搜索多个文件时,显示匹配的行及文件名。
参数
  • 模式:要搜索的模式,可以是普通字符串或正则表达式。
  • 文件:指定要进行搜索的文件。
实例
  1. 在文件 example.txt 中搜索包含字符串 “hello” 的行,并输出匹配的行:
grep "hello" example.txt
  1. 在多个文件中搜索匹配模式 “pattern” 的行,并显示匹配的行及文件名:
grep -H "pattern" file1.txt file2.txt
  1. 在目录 directory 及其子目录中递归搜索匹配模式 “keyword” 的行,并输出匹配的行和行号:
grep -r -n "keyword" directory
  1. 搜索文件中不包含模式 “exclude” 的行,并输出不匹配的行:
grep -v "exclude" example.txt
相关文章
|
8天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
39 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
1月前
|
Linux 开发工具 Perl
在Linux中,有一个文件,如何删除包含“www“字样的字符?
在Linux中,如果你想删除一个文件中包含特定字样(如“www”)的所有字符或行,你可以使用多种文本处理工具来实现。以下是一些常见的方法:
41 5
|
1月前
|
安全 Linux 数据安全/隐私保护
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。本文介绍了使用 `ls -l` 和 `stat` 命令查找文件所有者的基本方法,以及通过文件路径、通配符和结合其他命令的高级技巧。还提供了实际案例分析和注意事项,帮助读者更好地掌握这一操作。
49 6
|
1月前
|
Linux
在 Linux 系统中,`find` 命令是一个强大的文件查找工具
在 Linux 系统中,`find` 命令是一个强大的文件查找工具。本文详细介绍了 `find` 命令的基本语法、常用选项和具体应用示例,帮助用户快速掌握如何根据文件名、类型、大小、修改时间等条件查找文件,并展示了如何结合逻辑运算符、正则表达式和排除特定目录等高级用法。
91 6
|
1月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
95 8
|
1月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
266 6
|
1月前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
80 3
|
1月前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
72 2
|
16天前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
44 14
Linux 10 个“who”命令示例
下一篇
DataWorks