锋盈数科-知识库 Logo
首页
软件开发
计算机基础
Hello Halo
新手必读
关于本知识库
登录 →
锋盈数科-知识库 Logo
首页 软件开发 计算机基础 Hello Halo 新手必读 关于本知识库
登录
  1. 首页
  2. 软件开发
  3. Linux学习之查看文件内容

Linux学习之查看文件内容

0
  • 软件开发
  • 发布于 2024-08-19
  • 0 次阅读
黄健
黄健

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。


文章目录

  • 查看文件内容
    • 1. 查看文件类型
    • 2. 查看整个文件
      • 2.1 cat命令查看
      • 2.2 more命令查看
      • 2.3 less命令查看
    • 3. 查看部分文件
    • 4. 处理文件的操作
      • 4.1 创建空文件
      • 4.2 过滤文件内容
    • 5. 统计文件内容
    • 6. 对文件内容进行排序
    • 7. 查看长内容文件
      • 7.1 cat命令查看
        • 7.1.1 语法
        • 7.1.2 参数解释
      • 7.2 more命令查看
        • 7.2.1 语法
        • 7.2.2 百分比
      • 7.3 grep
        • 7.3.1 语法
        • 7.3.2 options参数选择
        • 7.3.3 模式查找(正则查找)


Linux入门学习系列文章:
Linux学习之系统用户和用户组的使用
Linux学习之系统管理相关内容
Linux学习之创建文件和目录相关内容
Linux学习之删除文件和目录
Linux学习之复制文件和目录
Linux学习之路径、文件和目录的移动和重命名
Linux学习之查看文件内容
Linux学习之vi文本编辑器的使用
Linux学习之查找文件
Linux入门学习指南


查看文件内容

1. 查看文件类型

语法

file 文件或目录的路径

如果是文件则显示问价的字符编码
如果是目录则显示目录名:directory
如果是符号链接则显示链接到哪个文件
如果是二进制可执行程序则能确定程序编译时面向的平台一级需要何种类型的库

2. 查看整个文件

查看整个文件内容有以下几种方式

2.1 cat命令查看

语法

cat 文件列表

可选参数

参数完整字母描述
-nnumber由1开始对所有输出的行数编号
-vshow-nonprinting使用^和M-符号,除了LFD和TAB之外
-Eshow-ends在每行结束处显示$
-Tshow-tabs将TAB字符显示为^
-Ashow-all等价于-vET

2.2 more命令查看

语法

more [+数字] [-数字] file

以全屏方式按页显示文本文件的内容,如果带上参数'+数字'表示从该行开始显示,
参数'-数字'表示指定每屏显示的行数,Enter向下滚动一行,空格或f向下滚动一屏,b向上滚动一屏,q退出

2.3 less命令查看

基于more和vi指令实现的less
可以使用前后左右来查看文件内容

pageup向上翻页
pagedown向下翻页
=输出文件名和当前行的行号等信息
若在使用less指令查看内容时不退出less就能执行shell的其他命令可使用!command的方式直接执行指令,执行结束后自动返回less指令
指令执行中可按h键显示less的快捷键帮助
冒号:提示符下输入查找的关键字先输入/后输入关键字最后回车可以实现快速定位

3. 查看部分文件

tail命令可以输出文件中的尾部内容

head [options] [文件列表]

head命令可显示文件头部内容

head [options] [文件列表]

options可选

参数描述
-n行数,指定显示头部内容的行数,默认10行
-c字符数,指定显示头部内容的字符数

4. 处理文件的操作

4.1 创建空文件

touch newfile

4.2 过滤文件内容

grep命令过滤

grep [options] [匹配模式] file

按照匹配模式的规则搜索指定文件,并将匹配的内容输出
options选项

参数描述
-v搜索不含指定字符串的行
-x整行匹配
-c统计符合匹配模式的行数
-E用来扩展选项为正则表达式

cut命令过滤

cut [options] [文件]

指令显示行中指定的部分,删除文件中指定的字段
options选项

参数描述
-d指定字段的分割符,字段的默认分割符为"TAB",用法: -d "分割符"
-f指定起始字段位置和结束字段位置,显示这个范围的字段内容,用法: -f 开始位置-结束为止,如 -f 1-7

若只显示一个字段,则不用填两个参数,显示哪个位置的字段填那个位置即可,如-f 2

5. 统计文件内容

语法

wc [options] [文件列表]

统计文件的行数、单词数和字符数
options选项

参数描述
-l打印总行数

注意:windows下文件的最后一行不会自动添加换行符,用wc统计时,发现会少一行,使用换行符"\n"作为结束标志,实际是统计换行符的个数

6. 对文件内容进行排序

语法

sort [options] [文件]

options选项

参数描述
-c检查文件是否已经按照顺序排序
-n按照数值的大小排序
-o<输出文件>将排序后的结果存入指定的文件
-t<分割字符>指定排序时所用的栏位(列)分割字符(如果分割符是制表符,房子啊字符串中时正常写,否则在前面加上$)
-r以相反顺序
-u在输出行中去除重复行(只考虑用来排序的行)
-b忽略每一行前面的所有空白部分,从第一个可见字符开始比较
-k<start,end>指定需要排序的列,start和end都是数字,start分为三个部分(选项[bdfinr]、排序列、开始的位置),end默认到本域结束,-k可以出现多次,代表多列排序(第一个是主列)。数字列如1.2表示对第一个域的第二个字符开始到本域的最后一个字符为止的字符串进行排序,1.2,1.2表示只按第一个域的第二个字符进行排序

sort将文件/文本的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按照ASCII码值进行比较,最后将他们按升序输出

7. 查看长内容文件

cat和more

7.1 cat命令查看

7.1.1 语法

查看文件内容命令语法

cat [options] 文件名
7.1.2 参数解释

options参数选项

参数描述
-b对非空输出行编号
-n对输出的所有行编号

注意:当文件内容超出窗口,会自动到下一屏显示

7.2 more命令查看

7.2.1 语法

查看文件内容命令语法

more 文件名
7.2.2 百分比

当文件内容超出窗口时,会显示一个提示信息:--More--(xx%)

当显示百分比时,可以有如下操作

操作健功能
空格键显示文本下一屏内容
Enter一次滚动文本的一行
b回滚一屏
f前滚一屏
q退出
/word搜索word字符串(word可替换)

7.3 grep

grep命令是Linux中强大的文本搜索工具

7.3.1 语法

语法如下

grep [options] 目标字符 文件名
7.3.2 options参数选择
参数描述
-n显示匹配行和行号
-v显示不包含匹配文本的所有行(相当于求反)
-i忽略大小写
7.3.3 模式查找(正则查找)

可通过正则表达式进行查找
查找以a开头以b结尾的内容

grep ^a b$ 文件名
参数描述
^a以a开头
b$以b结尾

感谢阅读,祝君暴富!

原文链接: https://hanshan.blog.csdn.net//article/details/139441700

标签: #Linux 85 #软件开发 1171
相关文章

万字:支付“核心系统”详解 2024-11-02 15:33

专栏作者:隐墨星辰 \| 主编:陈天宇宙 这篇文章也尝试化繁为简,探寻支付系统的本质,讲清楚在线支付系统最核心的一些概念和设计理念。 虽然支付行业已经过了风头最劲的时光,但跨境支付仍然在蓬勃发展,每年依然有很多新人进入这个行业,这篇文章尝试为这些刚入行的新人提供一点帮助。 文章只介绍一些支付行业十几

资深支付架构师视角:实战从问题定义到代码落地的完整套路 2024-11-02 15:33

前言 今天从一个实际案例入手,介绍站在架构师的角度,如何识别并定义问题,提炼需求,技术方案选型,再到详细设计,最后利用AI的能力协助写出核心的代码,验证与调优。 解决问题存在一定的模式,也可以称之为框架,总结出自己的思考和解题框架,以后再碰到同类型的问题就可以如庖丁解牛一样容易。 很多年前,我写代码

Spring 实现 3 种异步接口 2024-10-18 09:07

大家好,我是苏三~ 如何处理比较耗时的接口? 这题我熟,直接上异步接口,使用 Callable、WebAsyncTask 和 DeferredResult、CompletableFuture等均可实现。 但这些方法有局限性,处理结果仅返回单个值。在某些场景下,如果需要接口异步处理的同时,还持续不断地

重学SpringBoot3-集成Redis(五)之布隆过滤器 2024-10-08 11:24

更多SpringBoot3内容请关注我的专栏:《SpringBoot3》 期待您的点赞👍收藏⭐评论✍ 重学SpringBoot3-集成Redis(五)之布隆过滤器 1. 什么是布隆过滤器? * 基本概念 适用场景 2. 使用 Redis 实现布隆过滤器 * 项目依赖 Redis 配置

设计模式第16讲——迭代器模式(Iterator) 2024-10-08 11:24

一、什么是迭代器模式 迭代器模式是一种行为型设计模式,它提供了一种统一的方式来访问集合对象中的元素,而不是暴露集合内部的表示方式。简单地说,就是将遍历集合的责任封装到一个单独的对象中,我们可以按照特定的方式访问集合中的元素。 二、角色组成 抽象迭代器(Iterator):定义了遍历聚合对象所需的方法

vue2路由和vue3路由区别及原理 2024-10-08 11:24

一、Vue2 与 Vue3 路由的区别 1. 创建路由实例方式的不同 Vue 2 中,通过 Vue.use() 注册路由插件,并通过 new VueRouter() 来创建路由实例。 import Vue from 'vue';import VueRouter from 'vue-router';i

目录

IT 外包服务商

  • 意见投递
  • zyf6619

软件开发应用

主菜单

  • 首页
  • 软件开发
  • 计算机基础
  • Hello Halo
  • 新手必读
  • 关于本知识库
Copyright © 2024 your company All Rights Reserved. Powered by Halo.