Linux 文件内容的查询与统计

文件内容的查阅与统计

文件内容的查询

cat 指令

concatenate,连接文件并打印到标准输出设备上(查看文件)。

  • 用法1: cat 文件路径
    • 常用选项: -n 列出行号
  • 用法2: tac
    • 倒序显示(应用:查看日志)

head 指令

查看一个文件的前n行,默认显示前10行。

  • 用法:
    • head -数字 文件路径 【n表示数字】(简略写法)
    • head -n 数字 文件路径(标准写法)

n为负数时,负的行数不显示

tail 指令

查看一个文件的末n行,默认显示后10行

  • 用法1:
    • tail -数字 文件路径 【n表示数字】(简略写法)
    • tail -n 数字 文件路径(标准写法)
  • 用法2:tail -f 文件路径
    • 持续检测文件内容,一般用于查看系统日志

less 指令

查看文件,支持翻页

  • 用法:less 文件路径
    • 操作指令:
      • 空格键:向下翻动一页
      • pagedown\]:向下翻动一页

      • j:下一行
      • k:上一行
      • G:移动到最后一页
      • g:移动到第一行
      • /字符串:向下搜索字符串
      • ?字符串:向上搜索字符串
      • q:退出 less

less /etc/passwd

统计与查找

wc 指令

Word Count 统计文件内容信息(行数,单词数,字节数)

  • 用法:wc -lwc需要统计的文件路径
  • 选项解释:
  • #-l:表示lines,行数
  • #-w:表示word,单词数 依照空格来判断单词数量
  • #-c:表示 bytes,字节数

find 指令

查找文件(其参数很多)

  • 用法:find 路径范围 选项 选项的值
    • 常用选项:
      • type:按文件类型搜索(普通文件类型:f)
      • name:按文件名搜索
      • maxdepth:指定搜索深度
      • size:按文件大小

find ./ -type l

find ./ -name "day*"

find ./ -maxdepth 1 -name "m"

find ./ -size +20M -size -50M

输出重定向

一般命令会输出到终端中,有些则需要将命令结果保存到文件进行后续的分析或统计,这时需要使用到重定向技术

  • 输出重定向符号:

    • #>:覆盖输出,会覆盖原文件内容
    • #>>:追加输出,不会覆盖原文件内容,在末尾继续添加
  • 用法:指令> / >> 文件路径

    • 指令结果保存到指定文件中。若文件不存在则新建该文件
  • 追加重定向: ls >> d5.txt

    • 将当前目录的文件列表追加到d5.txt文件中(如果不存在该文件,会新建一个)。
  • 覆盖重定向: ls > d5.txt

    • 将ls结果(当前目录的文件列表)覆盖写入d5.txt,即之前文件中的内容会被清空,并用新输出替换。
  • 合并文件:cat 待合并的文件路径 1 待合并的文件路径 2...... 文件路径 n > 合并之后的文件路径

管道(重要)

管道符:|

管道一般可以用于"过滤","特殊","扩展管理"。管道不能单独使用,必须配合指令来一起使用,主要是辅助作用

  • 用法:指令1 | 指令2
    • 以管道符作为分界线,指令1的输出是指令2的输入
    • 作用:实现"数据流"传递,让多个命令联合处理数据,而不需要中间保存到临时文件
bash 复制代码
ls -l | grep "txt"
  • 列出当前目录的详细文件清单,然后把输出传给grep "txt",筛选出文件名包含"txt"的行
  • grep指令:主要用于过滤
  • 可以翻页的方式进行查看 /etc/ 下的文件:
bash 复制代码
ls /etc | less
复制代码
+ ls /etc:列出/etc/目录中的所有文件和子目录。
+ |:管道,将ls的输出传递给后面的命令。
+ less:分页查看ls输出的结果,可以上下翻页浏览大目录。
  • 统计根目录下的文件个数:
bash 复制代码
ls / | wc -l
  • ls /:列出根目录 / 中的所有文件和文件夹(只列出文件名,不包含详细信息)。
  • |:管道,把ls /的输出传递给下一条命令。
  • wc -l:统计输入内容的行数,即文件或子目录的个数。
相关推荐
fatiaozhang95279 分钟前
中兴B860AV1.1_晨星MSO9280芯片_4G和8G闪存_TTL-BIN包刷机固件包
android·linux·adb·电视盒子·av1·魔百盒刷机
froxy9 分钟前
Panthor 开源方案与 Mesa 图形库的技术解析
linux·开源
nice_evil15 分钟前
华为Openeuler/Linux/CentOs 网络配置及故障排查/远程连接设置ssh/ibmc等问题及解决方案合集
linux·网络·centos·openeuler·网络配置与激活
liulilittle24 分钟前
OpenSSL 的 AES-NI 支持机制
linux·运维·服务器·算法·加密·openssl·解密
一只小小汤圆31 分钟前
如何xml序列化 和反序列化类中包含的类
xml·开发语言·c#
无聊的小坏坏44 分钟前
进程间通信详解(三):Linux进程信号深度解析
linux·bash
qq_243050791 小时前
sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
linux·web安全·网络安全·黑客·教程·kali linux·voip工具
饭碗、碗碗香1 小时前
【开发常用命令】:docker常用命令
linux·运维·笔记·学习·docker·容器
fatiaozhang95271 小时前
中兴B860AV1.1_MSO9280_降级后开ADB-免刷机破解教程(非刷机)
android·adb·电视盒子·av1·魔百盒刷机·移动魔百盒·魔百盒固件
二流小码农1 小时前
鸿蒙开发:绘制服务卡片
android·ios·harmonyos