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:统计输入内容的行数,即文件或子目录的个数。
相关推荐
chlk1231 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
阿巴斯甜1 天前
Android 报错:Zip file '/Users/lyy/develop/repoAndroidLapp/l-app-android-ble/app/bu
android
舒一笑1 天前
Ubuntu系统安装CodeX出现问题
linux·后端
Kapaseker2 天前
实战 Compose 中的 IntrinsicSize
android·kotlin
改一下配置文件2 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
xq95272 天前
Andorid Google 登录接入文档
android
黄林晴2 天前
告别 Modifier 地狱,Compose 样式系统要变天了
android·android jetpack
深紫色的三北六号2 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash2 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
冬奇Lab2 天前
Android触摸事件分发、手势识别与输入优化实战
android·源码阅读