热门标签 | 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

 


推荐阅读
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • Ubuntu安装常用软件详细步骤
    目录1.GoogleChrome浏览器2.搜狗拼音输入法3.Pycharm4.Clion5.其他软件1.GoogleChrome浏览器通过直接下载安装GoogleChro ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • Linuxchmod目录权限命令图文详解在Linux文件系统模型中,每个文件都有一组9个权限位用来控制谁能够读写和执行该文件的内容。对于目录来说,执行位的作用是控制能否进入或者通过 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了将mysql从5.6.15升级到5.7.15的详细步骤,包括关闭访问、备份旧库、备份权限、配置文件备份、关闭旧数据库、安装二进制、替换配置文件以及启动新数据库等操作。 ... [详细]
  • 本文讨论了在Linux系统中,使用chown命令将django项目目录下的static目录的拥有者从root改为eureka的问题。作者尝试了多种命令,包括chown和sudo chown等,但都没有成功修改拥有者。文章提供了相关目录的权限信息,并补充了项目所在磁盘和操作系统的信息。 ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
  • top命令使用方法及解读
    本文介绍了top命令的使用方法和解读,包括查看进程信息、系统负载、内存状态、CPU占用等内容。通过top命令可以持续观察系统上运行的进程,并了解系统负载情况,及时关闭一些进程以减轻系统负担。同时,还介绍了top命令的快捷键和安全模式启动方法。通过本文的学习,读者可以更好地使用top命令来管理系统进程。 ... [详细]
  • 本文详细介绍了在Linux虚拟化部署中进行VLAN配置的方法。首先要确认Linux系统内核是否已经支持VLAN功能,然后配置物理网卡、子网卡和虚拟VLAN网卡的关系。接着介绍了在Linux配置VLAN Trunk的步骤,包括将物理网卡添加到VLAN、检查添加的VLAN虚拟网卡信息以及重启网络服务等。最后,通过验证连通性来确认配置是否成功。 ... [详细]
  • 第四讲ApacheLAMP服务器基本配置Apache的编译安装从Apache的官方网站下载源码包:http:httpd.apache.orgdownload.cgi今 ... [详细]
  • zabbix中文乱码的问题
    在使用zabbix时,有时候会出现中文乱码的问题,如下:因为zabbix自身对中文简体的支持不完善,需要我们手动的去上传新的字体进行替换:1、在windows获取字体库文件在Windows上的 ... [详细]
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社区 版权所有