最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

【Linux】learning notes(4)cat、more、less、head、tail、vi、vim

运维笔记admin6浏览0评论

文章目录

  • cat
  • more 查看整个文件
  • less 查看整个文件
  • head 查看部分文件
  • tail 查看部分文件
  • vim / vi

cat

cat 命令在 Linux 和 Unix 系统中非常常用,它用于连接文件并打印到标准输出设备(通常是屏幕)。虽然 cat 的基本用法很简单,但它也支持一些参数来提供额外的功能。

  • -n 或 --number:对所有输出的行进行编号。
    示例:cat -n file.txt
    这会显示 file.txt 的内容,并在每行的开头加上行号。

  • -b 或 --number-nonblank:仅对非空行进行编号。
    示例:cat -b file.txt
    这同样会显示 file.txt 的内容,但仅对非空行(即包含文本的行)进行编号。

  • -s 或 --squeeze-blank:压缩连续的空行为一个空行。
    示例:cat -s file.txt
    如果 file.txt 中有多个连续的空行,cat -s 会将它们压缩为一个空行显示。

  • -E:在每行的末尾显示 $ 符号,以帮助区分空行和包含空格的行。
    示例:cat -E file.txt
    如果行末尾有不可见的字符(如空格或制表符),-E 参数可以帮助识别。

  • -T 或 --show-tabs:将制表符显示为 ^I。
    示例:cat -T file.txt
    这有助于识别文本中的制表符。

  • -v 或 --show-nonprinting:显示非打印字符(如制表符和换行符)。对于制表符,默认显示为 ^I;对于换行符,在大多数系统上会显示为 $(但请注意,-v 和 -E 的行为可能因系统而异)。
    示例:cat -v file.txt

  • -A 或 --show-all:显示所有字符,包括非打印字符(如制表符和换行符,后者通常显示为 $ 或 \n)。
    示例:cat -A file.txt
    这是 -vTE 的组合,提供了一个全面的非打印字符视图。

  • --help:显示帮助信息,列出 cat 命令的所有参数和简短的描述。
    示例:cat --help

  • --version:显示 cat 命令的版本信息。
    示例:cat --version

注意:并非所有 cat 实现都支持上述所有参数,但大多数现代 Linux 发行版中的 GNU cat 确实支持它们。如果你在使用某个特定的 Unix 系统或旧版本的 Linux,建议查看该系统的 cat 命令手册页(通过运行 man cat 命令)以获取最准确的参数列表和描述。


more 查看整个文件

more 是 Linux 和类 Unix 操作系统中的一个命令行工具,用于分页显示文本文件的内容。

当你打开一个非常大的文本文件时,使用 more 命令可以让你逐页或逐行地查看文件内容,而不是一次性将整个文件内容滚动输出到终端,这有助于更好地管理和阅读文件。

用法:more [+数字] [-数字] file

常用选项

  • -d:显示翻页提示信息(例如,百分比进度)。
  • -f:不折叠长行,即长行会完整显示,不会自动换行。
  • -l:忽略换行符(仅适用于处理非文本文件时)。
  • -p:清除屏幕(类似于 clear 命令)后再显示文件内容。
  • -s:将多个连续的空行压缩成一行显示。
  • -u:不将下划线字符视为下划线,而是正常显示。
  • +num:从文件的第 num 行开始显示
  • -num:一次显示 num 行,然后暂停

交互命令

  • 空格键(Space):显示下一页,或者 f
  • Enter:显示下一行。
  • b:向上翻一页(back)。
  • f:向下翻一页(forward),或者空格。
  • q:退出 more 命令。
  • /:搜索文本字符串。输入你要搜索的字符串,然后按 Enter 键。n 键用于查找下一个匹配项,N 键用于查找上一个匹配项。
  • h:显示帮助信息。
  • v:在当前行启动文本编辑器(通常是 vi)来编辑文件。

有些软件安装的时候显示的是该页面,例如 anaconda3

more 命令是文本处理的基本工具之一,但对于现代使用场景,less 命令提供了更多的功能和灵活性,因此经常被推荐作为 more 的替代品。

当处理非常大的文件时,使用 more 或 less 可以避免一次性加载整个文件到内存中,从而提高系统的响应速度


less 查看整个文件

more 的替代品

常用选项

  • -N 或 --LINE-NUMBERS:显示行号。
  • -i 或 --IGNORE-CASE:在搜索时忽略大小写。
  • -F 或 --QUIET 或 --SILENT:在文件内容显示完毕后立即退出,而不是等待用户输入。
  • -q 或 --QUIT:禁止在文件仅有一屏时自动退出。
  • -r 或 --RAW-CONTROL-CHARS:将特殊字符以控制码显示。
  • -S 或 --CHOP-LONG-LINES:禁止自动换行,将过长的行进行截断。
  • -X:禁止清屏。
  • -h 或 --HELP:显示帮助信息。

交互命令

  • 空格键:向下滚动一屏。
  • Enter:向下滚动一行。
  • b:向上滚动一屏(backward)。
  • y 或 k:向上滚动一行(在某些版本的 less 中,k 也用于向上滚动一行)。
  • G:跳转到文件尾部。
  • g:跳转到文件开头。
  • /:搜索指定的字符串。输入你要搜索的字符串,然后按 Enter 键。搜索结果会高亮显示,n 键用于跳转到下一个匹配项,N 键用于跳转到上一个匹配项。
  • ?:向上搜索关键字(与 / 相反)。
  • q:退出 less 命令。
  • h:在 less 中显示帮助信息。
  • v:在当前行启动默认的文本编辑器(如 vi)来编辑文件。

head 查看部分文件

head 是 Linux 和类 Unix 操作系统中的一个常用命令,它用于显示文本文件的开头部分。

基本语法

head [选项] [文件...]

常用选项

  • -n NUM 或 --lines=NUM:指定显示文件的前 NUM 行,NUM 为正整数。如果不指定该选项,head 命令默认显示文件的前 10 行。
  • -c NUM 或 --bytes=NUM:指定显示文件的前 NUM 个字节。
  • -q 或 --quiet 或 --silent:不显示文件名。
  • -v 或 --verbose:总是显示文件名,即使只有一个文件作为输入。
  • -z 或 --zero-terminated:将行的结束符改为 NUL 字符,适用于处理包含 NUL 字符的文件。
  • –help:显示 head 命令的帮助信息。
  • –version:显示 head 命令的版本信息。

使用示例

  • 显示文件 file.txt 的前 10 行(默认行为):

    head file.txt
    
  • 显示文件 file.txt 的前 5 行:

    head -n 5 file.txt
    
  • 显示文件 file.txt 的前 100 个字节:

    head -c 100 file.txt
    
  • 不显示文件名,仅显示文件 file.txt 的前 5 行内容:

    head -q -n 5 file.txt
    
  • 显示文件名和文件 file.txt 的前 5 行内容:

    head -v -n 5 file.txt
    
  • 处理 NUL 结尾的行,并显示文件 file.txt 的前 5 行:

    head -z -n 5 file.txt
    

注意事项

  • head 命令通常用于快速查看文件的开头部分,以了解文件的内容或结构。
  • 你可以将 head 命令与其他命令结合使用,如管道操作符(|),以实现更复杂的功能。例如,可以使用 cat /var/log/syslog | head 命令查看 /var/log/syslog 文件的前 10 行内容。
  • head 命令不会修改原始文件的内容,它只是读取并显示文件的开头部分。

tail 查看部分文件

tail 是 Linux 和类 Unix 操作系统中一个非常实用的命令,它主要用于查看文件的末尾部分。

基本语法

tail [选项] [文件...]

常用选项

  • -n NUM 或 --lines=NUM:指定显示文件末尾的 NUM 行,NUM 为正整数。如果不指定该选项,tail 命令默认显示文件末尾的 10 行。
  • -f 或 --follow:实时追踪文件的变化,并持续显示新增的内容。这个选项特别适用于查看日志文件等动态更新的文件。
  • -c NUM 或 --bytes=NUM:指定显示文件末尾的 NUM 个字节。
  • -q 或 --quiet--silent:不显示文件名或处理信息。
  • -v 或 --verbose:总是显示文件名和处理信息。
  • --pid=PID:与 -f 合用,表示在进程 ID 为 PID 的进程终止后结束 tail 命令。
  • -s NUM 或 --sleep-interval=NUM:与 -f 合用,表示在每次循环读取之间休眠 NUM 秒。
  • --help:显示 tail 命令的帮助信息。
  • --version:显示 tail 命令的版本信息。

使用示例

显示文件 file.txt 的末尾 10 行(默认行为):

tail file.txt

显示文件 file.txt 的末尾 20 行:

tail -n 20 file.txt

实时追踪文件 logfile.txt 的变化:

tail -f logfile.txt

此时,tail 命令会持续运行,并实时显示 logfile.txt 文件中新增的内容。你可以通过按下 Ctrl+C 组合键来中断 tail 命令的运行。

显示文件 file.txt 的末尾 50 个字节:

tail -c 50 file.txt

不显示文件名,仅显示文件 file.txt 的末尾 10 行内容:

tail -q file.txt

在进程 ID 为 1234 的进程终止后结束 tail 命令的实时追踪:

tail --pid=1234 -f logfile.txt

注意事项

  • tail 命令特别适用于查看日志文件等动态更新的文件,因为它可以实时追踪文件的变化并显示新增的内容。
  • 当你使用 -f 选项时,tail 命令会一直运行,直到你手动中断它(如按下 Ctrl+C 组合键)。
  • tail 命令不会修改原始文件的内容,它只是读取并显示文件的末尾部分。

vim / vi

vim 是 vi 的升级版,兼容性更好,功能更丰富

vim tmp.py 打开 tmp.py 文件

搜索 content 用 :/content

n 跳到下一个 content,N 跳到上一个 content

发布评论

评论列表(0)

  1. 暂无评论