当前位置: 首页 > news >正文

Linux运维-字符处理(1、文件查看)

  1. 文件内容查看
    a. cat
    核心用途:用于查看、连接文件内容,功能相对简单(适用于小文件处理,大文件更适合less或more)
    注意:cat命令只是用来将文件打印到控制台,并不会对原文件进行任何改变,多个参数可以一起使用
    语法:cat [option] [filename]
    常用用法:

  2. 无参数时 查看文件内容
    [root@openeuler ~]# cat passwd #查看passwd文件内容(空行也会打印)
    root❌0:0:Super User:/root:/bin/bash
    [root@openeuler ~]# cat passwd
    root❌0:0:Super User:/root:/bin/bash

  3. -n 查看文件内容,并对所有行进行编号
    [root@openeuler ~]# cat -n passwd #查看passwd文件内容并对行编号(空行也会编号)
    1 root❌0:0:Super User:/root:/bin/bash
    2 bin❌1:1:bin:/bin:/usr/sbin/nologin
    [root@openeuler ~]# cat -n passwd
    1 root❌0:0:Super User:/root:/bin/bash
    2
    3

  4. -b 查看文件内容,对除了空行外的所有行进行编号
    [root@openeuler ~]# cat -b passwd #查看passwd文件内容并对行编号(与-n对比,对空行不编号)
    1 root❌0:0:Super User:/root:/bin/bash

    2 bin❌1:1:bin:/bin:/usr/sbin/nologin

  5. -s 查看文件内容,将多个空行压缩成1行
    [root@openeuler ~]# cat -s passwd #查看passwd文件内容并将多个空行压缩成1行
    root❌0:0:Super User:/root:/bin/bash

bin❌1:1:bin:/bin:/usr/sbin/nologin
5. -E 在每行末尾显示$符合,方便区分行尾和空格
[root@openeuler ~]# cat -E passwd #可以对一些有空格的位置进行标识,方便区分
root❌0:0:Super User:/root:/bin/bash$
$
$
bin❌1:1:bin:/bin:/usr/sbin/nologin$
6. -T 将制表符(Tab)显示为^I(方便识别制表符)
[root@openeuler ~]# cat -T passwd
root❌0:0:Super User:/root:/bin/bash
II^I
^I
7. -v 显示非打印字符(除了换行符和制表符,没想出来咋实验)
8. -A 显示所有隐藏符合
多个命令同时使用举例:
[root@openeuler ~]# cat -n passwd
1 root❌0:0:Super User:/root:/bin/bas
2
3
4
[root@openeuler ~]# cat -ns passwd
1 root❌0:0:Super User:/root:/bin/bas
2
b. head
核心用途:用于查看文件的开头部分,默认显示前10行
注意:只是用来将文件打印到控制台,并不会对原文件进行任何改变,多个参数可以一起使用
语法:head [option] [filename]
常用用法:

  1. 无参数时 显示文件前10行
    [root@openeuler ~]# head passwd
  2. -n <数字> 指定行数显示(正数显示前N行,负数排除最后N行)
    [root@openeuler ~]# head -n 3 passwd #显示前3行
    root❌0:0:Super User:/root:/bin/bas
    bin❌1:1:bin:/bin:/usr/sbin/nologin
    daemon❌2:2:daemon:/sbin:/usr/sbin/nologin
    [root@openeuler ~]# head -n 3 passwd | cat -n #配合cat更直观显示前3行
    1 root❌0:0:Super User:/root:/bin/bas
    2 bin❌1:1:bin:/bin:/usr/sbin/nologin
    3 daemon❌2:2:daemon:/sbin:/usr/sbin/nologin
    [root@openeuler ~]# head -n -25 passwd #排除后25行
    root❌0:0:Super User:/root:/bin/bas
    bin❌1:1:bin:/bin:/usr/sbin/nologin
    daemon❌2:2:daemon:/sbin:/usr/sbin/nologin
    adm❌3:4:adm:/var/adm:/usr/sbin/nologin
    lp❌4:7:lp:/var/spool/lpd:/usr/sbin/nologin
    [root@openeuler ~]#
    [root@openeuler ~]# head -n -25 passwd | cat -n #配合cat更直观显示
    1 root❌0:0:Super User:/root:/bin/bas
    2 bin❌1:1:bin:/bin:/usr/sbin/nologin
    3 daemon❌2:2:daemon:/sbin:/usr/sbin/nologin
    4 adm❌3:4:adm:/var/adm:/usr/sbin/nologin
    5 lp❌4:7:lp:/var/spool/lpd:/usr/sbin/nologin
  3. -c <字节数> 按字节数显示内容(非行号)
    [root@openeuler ~]# head -c 10 passwd #显示10字节
    root❌0:0[root@openeuler ~]#
  4. -v 显示文件名(当查看多个文件时,在没搞文件内容前标注文件名,跟-q相反,默认情况下就是显示文件名)
    [root@openeuler ~]# head passwd t1.txt
    > passwd <
    root❌0:0:Super User:/root:/bin/bas
    bin❌1:1:bin:/bin:/usr/sbin/nologin
    daemon❌2:2:daemon:/sbin:/usr/sbin/nologin
    adm❌3:4:adm:/var/adm:/usr/sbin/nologin
    lp❌4:7:lp:/var/spool/lpd:/usr/sbin/nologin
    sync❌5:0:sync:/sbin:/bin/sync
    shutdown❌6:0:shutdown:/sbin:/sbin/shutdown
    halt❌7:0:halt:/sbin:/sbin/halt
    mail❌8:12:mail:/var/spool/mail:/usr/sbin/nologin
    operator❌11:0:operator:/root:/usr/sbin/nologin

> t1.txt <
hello
h3c
huawei
[root@openeuler ~]#
5. -q 静默模式(查看多个文件时,不输出文件名,仅输出内容,跟-v相反)
[root@openeuler ~]# head -q passwd t1.txt
root❌0:0:Super User:/root:/bin/bas
bin❌1:1:bin:/bin:/usr/sbin/nologin
daemon❌2:2:daemon:/sbin:/usr/sbin/nologin
adm❌3:4:adm:/var/adm:/usr/sbin/nologin
lp❌4:7:lp:/var/spool/lpd:/usr/sbin/nologin
sync❌5:0:sync:/sbin:/bin/sync
shutdown❌6:0:shutdown:/sbin:/sbin/shutdown
halt❌7:0:halt:/sbin:/sbin/halt
mail❌8:12:mail:/var/spool/mail:/usr/sbin/nologin
operator❌11:0:operator:/root:/usr/sbin/nologin
hello
h3c
huawei
[root@openeuler ~]#
c. tail
核心用途:用于显示文件的末尾部分内容,默认显示后10行,支持实时监控文件更新
注意:-f参数和-F参数,-f参数在监控时,如果使用vi进行文件编辑-f是监控不到的,因为vi编辑文件类似于删除原文件然后新增一个文件,-f的原理又是监控原文件,所以监控不到
语法:tail [option] [filename]
常用用法:

  1. 无参数时,默认显示最后10行
  2. -n <数字> 指定显示的行数(数字为正时显示最后N行,为+N时,从第N行显示到末尾)
    [root@openeuler ~]# tail -n 2 passwd | cat -n
    1 geoclue❌991:986:User for geoclue:/var/lib/geoclue:/sbin/nologin
    2 pulse❌171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
    [root@openeuler ~]# tail -n +28 passwd | cat -n
    1 colord❌992:987:User for colord:/var/lib/colord:/sbin/nologin
    2 geoclue❌991:986:User for geoclue:/var/lib/geoclue:/sbin/nologin
    3 pulse❌171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
    [root@openeuler ~]# ^C
  3. -c <字节数> 按字节数显示内容(不是行数)
  4. -f 实时监控文件更新(注意vi编辑文件时是新建一个新文件,用来替换源文件,这会导致-f失效,建议使用-F来监控)
  5. -F 实时监控文件更新(若文件被删除,会自动监控新文件)
    [root@openeuler ~]# tail -F t1.txt
    1111
    hello
    h3c
    huawei
    look what

tail: 't1.txt' has been replaced; following new file
2221111
hello
h3c
huawei
look what
6. -v 显示文件名(同时查看多个文件时,每个文件内容前表示文件名)
[root@openeuler ~]# tail -n 2 passwd t1.txt
> passwd <
geoclue❌991:986:User for geoclue:/var/lib/geoclue:/sbin/nologin
pulse❌171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin

> t1.txt <
look what

[root@openeuler ~]#
7. -q 静默模式(同时查看多个文件时,仅输出内容)
[root@openeuler ~]# tail -qn 2 passwd t1.txt
geoclue❌991:986:User for geoclue:/var/lib/geoclue:/sbin/nologin
pulse❌171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
look what
d. more
核心用途:用于分页查看文件内容,适合查看大文件时逐屏浏览,适合向前浏览,如果需要支持前后滚动和复杂搜索建议使用less命令
注意:暂无
语法:more [option] [filename]
常用用法:

  1. 无参数时,显示文件,按照屏幕大小显示内容,按空格继续显示
  2. +<行数> 从文件第N行开始显示
  3. -<行数> 指定每次屏幕显示的行数(默认按终端窗口高度显示)
  4. -d 显示操作提示信息,避免误操作
  5. -c 清屏后再显示新内容(覆盖原内容,非滚动)
  6. -s 压缩连续空行为一个空行
  7. +/<关键词> 从文件中第一次出现“关键词”的位置开始显示
    常用交互操作(在more查看模式时使用):
    空格键:
    回车键:
    b:回退一屏
    q:退出more查看模式
    /关键词:在当前文件中向下搜索"关键词"(按n匹配下一个)
    e. less
    核心用途:支持前后滚动、复杂搜索、实时更新检测
    注意:暂无
    语法:less [option] [filename]
    常用用法:
  8. 无参数时:
  9. -N 显示每行的行号
  10. -i 搜索时忽略大小写(默认区分大小写)
  11. -m 显示当前阅读进度(百分比)
  12. -s 压缩连续空行为一个空行
  13. -e 当文件显示到末尾时自动退出
  14. -f 强制打开特殊文件(比如设备文件、二进制文件)
  15. +<行数> 从指定行开始显示
  16. +/<关键词> 从第一个匹配“关键词”位置开始显示
    常用交互操作
  17. 滚动控制(最常用)
    向下滚动:
    空格键 或 f:向下滚动一屏
    回车键 或 j:向下滚动一行
    d:向下滚动半屏
    向上滚动:
    b:向上滚动一屏
    k:向上滚动一行
    u:向上滚动半屏
    快速跳转:
    g:跳转到文件开头
    G:跳转到文件末尾
    数字 + G:跳转到指定行(如 50G 跳转到第 50 行)
  18. 搜索功能(比 more 更强大)
    /关键词:向下搜索 “关键词”(按 n 查看下一个匹配,N 查看上一个匹配)
    ?关键词:向上搜索 “关键词”(按 n 查看上一个匹配,N 查看下一个匹配)
    &pattern:仅显示匹配 “pattern” 的行(过滤无关内容)
  19. 其他实用操作
    q:退出 less 模式
    Ctrl + F:向前滚动一屏(同 f)
    Ctrl + B:向后滚动一屏(同 b)
    v:在当前位置用默认编辑器(如 vi)打开文件(方便直接编辑)
    F:实时监控文件更新(类似 tail -f,按 Ctrl + C 退出监控模式)
    = :显示当前文件信息(总行数、当前行号、百分比等)
http://www.agseo.cn/news/1274/

相关文章:

  • UG NX保姆级下载图文安装教程+激活教程(UG NX 2506安装教程及激活教程)
  • Rust 环境搭建
  • 软件第一次作业
  • Node-RED 究竟是否适合工业场景?
  • 向量化与嵌入模型:RAG系统背后的隐形英雄
  • 微软日语输入法卡死 没有反应 的解决方法
  • 软工随笔
  • 反爬虫体系中设备ID的技术应用
  • 模拟信号采集的硬件基石:高性能ADC设计的核心法则
  • WPS设置多级标题,一级标题为“一”、“二”、“三”,二级标题为“1.1”、“2.2”、“3.3”,三级标题为“1.1.1”、“2.2.2”、“3.3.3”
  • 第一周个人作业
  • 论文解读-《Prompt Engineering Through the Lens of Optimal Control》 - zhang
  • 在 AlmaLinux 9 上使用 Podman Quadlet 部署 MongoDB 6.0
  • 《电视软件安装包》
  • Modbus开发不头疼:极简指南,半小时搞定基础配置
  • 通过命令行生成.url链接文件
  • 麒麟V10安装docker
  • Go-Kratos 项目 SonarQube、Jenkins 与 K8s CI/CD 实践
  • 漏洞实战--java反序列化--用友NC UserAuthenticationServlet
  • 以工业级可靠性护航智能制造:深入解析工业主板的关键价值与选型指南
  • 用 PJMan 模板导入,3 分钟搞定专业甘特图,项目规划效率翻倍
  • 湾区杯网络安全大赛 WEB方向WP 全
  • 《dll错误修复工具》
  • 如何使用像素坐标和相机内参来计算夹角
  • 合并代码异常
  • 8th-hello world
  • Normalization 相关问题解惑(BN/LN/IN/GN)
  • Apisix Lua 插件开发规范及指引
  • nim整活-道歉程序
  • 《ai工具合集》14G