热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

Linux查看文件内容(8)

我们知道在图形界面上查看文件内容只需要双击打开就好,那么在终端窗口里怎么查看文件内容呢?显然是需要能有一个命令能把文件内容显示在终端界面上。查看文件内容主要有两个命令,分别是cat和more

我们知道在图形界面上查看文件内容只需要双击打开就好,那么在终端窗口里怎么查看文件内容呢?显然是需要能有一个命令能把文件内容显示在终端界面上。

查看文件内容主要有两个命令,分别是 cat 和 more,还有一个 grep命令可以查找文件对应内容。慢慢介绍。

cat

cat 命令可以用来 查看文件内容、创建文件、文件合并、追加文件内容 等功能。本篇主要介绍查看文件内容。

它的特点是会一次显示所有内容,适合查看内容较少 的文本文件。

可以在目录里准备两个文本文件,一个内容多点,一个内容较少点,分别为 demo1.txt 和 demo2.txt。使用 cat命令分别查看:

cat demo1.txt

cat demo2.txt

为了看到效果,我把终端窗口调得较小,太大的窗口看不到区别:

 

可以看到,不管内容多长,cat 命令总是把所有内容都显示出来,当内容超过窗口时会自动到下一屏。你可能会奇怪我为什么要强调这一点,只要能看到内容就好了啊。说这个其实是因为另一个命令 more 跟它有所区别,下面会介绍。

在这之前,我们先看看 cat 的两个选项:

  • -b:对非空输出行编号
  • -n:对输出的所有行编号

其实就是在每一行输出内容前面加上编号,-b 是只对非空的行加编号,而-n 对所有的行都加编号。

说到这,我又悲剧了,我的Linux环境不管哪个选项都是对所有行编号

 

建议大家还是在自己的电脑上装个虚拟机环境试试,比如Ubuntu。

 

more

more命令的区别在于,当文件超过窗口时,会分屏显示文件,说不如做,分别测试demo1.txt 和 demo2.txt文件:

more demo1.txt

more demo2.txt

 

可以很明显的看到区别,当文件内容较少时,与cat效果没区别,当文件内容较多时,会显示一个提示信息,给出至今己显示的该文件的百分比:--More--(XX%),此时可以根据以下不同操作做出回应:

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

可自行尝试。

 

grep

Linux系统中grep命令是一种强大的文本搜索工具,使用格式:

grep 查找的目标字符 文件名

现在目录下有一 test.txt文件,看下它的内容:

cat test.txt

//结果
hello world  

this is test

hello linux

this is test

asdhsadyuscbjna

在这个文件里搜索 hello:

grep hello test.txt

//结果
hello world  
hello linux

可以看到,搜索结果会把包含所搜字符的整个行都输出来,注意,如果想要搜索多个单词,应该加上引号:

grep 'hello world' test.txt

 

选项

grep的选项也很多,这里只介绍三个:

  • -n:显示匹配行及行号
  • -v:显示不包含匹配文本的所有行(相当于求反)
  • -i:忽略大小写

加上 -n:

grep -n hello test.txt

//结果
2:hello world  
6:hello linux

可以看到每行前面都加上了它们所在的行号。

 

-v 命令相当于对查找结果的求反:

grep -v hello test.txt

//结果


this is test


this is test

asdhsadyuscbjnas

可以看到,它将不包含 hello 的行都输出来了,此时也可以加上行号的:

grep -vn hello test.txt

//结果
1:
3:
4:this is test
5:
7:
8:this is test
9:
10:asdhsadyuscbjnas

 

-i 忽略大小写就不用多说了:

grep -i Hello test.txt

//结果
hello world  
hello linux

 

再啰嗦一句,Linux命令选项是可以连用的,你可以这样:

grep -nvi Hello test.txt

 

模式查找

所谓模式查找,就是正则表达式查找,grep支持正则模式查找,这里就简单说两个例子:

  • ^a:行首,查找以 a开头的行
  • b$:行尾,查找以 b结束的行
grep ^h test.txt

//结果
hello world  
hello linux

 


推荐阅读
  • 本文详细介绍了如何在预装Ubuntu系统的笔记本电脑上安装Windows 7。针对没有光驱的情况,提供了通过USB安装的具体方法,并解决了分区、驱动器无法识别等问题。 ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 本文介绍如何在Linux Mint系统上搭建Rust开发环境,包括安装IntelliJ IDEA、Rust工具链及必要的插件。通过详细步骤,帮助开发者快速上手。 ... [详细]
  • PHP 时间与日期工具类:星座、干支、生肖的实现
    本文介绍了一个PHP时间与日期工具类,涵盖了时区设置、有效日期和时间检查、星座、干支、生肖计算等功能。该工具类特别适用于需要处理中国农历及西方星座的应用场景。 ... [详细]
  • CentOS 6.5 上安装 MySQL 5.7.23 的详细步骤
    本文详细介绍如何在 CentOS 6.5 系统上成功安装 MySQL 5.7.23,包括卸载旧版本、下载安装包、配置文件修改及启动服务等关键步骤。 ... [详细]
  • 目录一、salt-job管理#job存放数据目录#缓存时间设置#Others二、returns模块配置job数据入库#配置returns返回值信息#mysql安全设置#创建模块相关 ... [详细]
  • 本文介绍如何从JSON格式的文件中提取数据并将其分配给Bash脚本中的变量。我们将探讨具体的命令和工具,帮助你高效地完成这一任务。 ... [详细]
  • 通常情况下,修改my.cnf配置文件后需要重启MySQL服务才能使新参数生效。然而,通过特定命令可以在不重启服务的情况下实现配置的即时更新。本文将详细介绍如何在线调整MySQL配置,并验证其有效性。 ... [详细]
  • 本文详细介绍了如何在云服务器上配置Nginx、Tomcat、JDK和MySQL。涵盖从下载、安装到配置的完整步骤,帮助读者快速搭建Java Web开发环境。 ... [详细]
  • CentOS 7.6环境下Prometheus与Grafana的集成部署指南
    本文旨在提供一套详细的步骤,指导读者如何在CentOS 7.6操作系统上成功安装和配置Prometheus 2.17.1及Grafana 6.7.2-1,实现高效的数据监控与可视化。 ... [详细]
  • RedHat 系统下配置国内 YUM 源以替代官方收费源的方法
    本文详细介绍如何在 RedHat Linux 中安装并配置 YUM 包管理器,并通过使用国内镜像源来解决因未购买官方服务而导致的更新源限制问题。 ... [详细]
  • NFS(Network File System)即网络文件系统,是一种分布式文件系统协议,主要用于Unix和类Unix系统之间的文件共享。本文详细介绍NFS的配置文件/etc/exports和相关服务配置,帮助读者理解如何在Linux环境中配置NFS客户端。 ... [详细]
  • 解决vCenter vSphere HA初始化失败的问题
    本文探讨了在集群中遇到的所有vSphere HA主机状态显示‘无法正确安装或配置vSphere HA代理’错误的情况,并详细介绍了排查与解决步骤,包括检查HA初始化错误及安装HA代理的常见故障排除方法。 ... [详细]
  • 随着技术社区的发展,越来越多的技术爱好者选择通过撰写博客来分享自己的学习经验和项目进展。本文将介绍一个具体案例,即将一套原本运行于Windows平台的代码成功移植到Linux(Redhat)环境下的过程与挑战。 ... [详细]
  • 本文详细介绍了在Linux环境下如何有效地管理任务,包括撤销操作、挂起与恢复任务、终止后台程序以及取消定时任务的方法。这些技巧对于提高日常工作效率和系统维护至关重要。 ... [详细]
author-avatar
我叫33妹
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有