Linux 常用命令:文本查看篇

 

前言

 

Linux常用命令中,除了cat还有很多其他用于文本查看的命令。本文将简单介绍一下这些文本查看的命令。

 

全文本显示--cat

 

cat可能是常用的一个文本查看命令了,使用方法也很简单:

 

cat file  #全文本显示在终端
cat -n file #显示全文本,并显示行号

 

另外,cat也可用作合并文件:

 

cat file1 file2 >file3

 

该命令将file1 file2的内容合并写到file3中。

 

倒序显示全文本--tac

 

tac是cat倒过来的写法,tac以行为单位,倒序显示全文本内容。

 

tac file

 

分页显示文本--more

 

cat将整个文本内容输出到终端。那么也就带来一个问题,如果文本内容较多,前面的内容查看将十分不便。而more命令可以分页显示。


1.显示内容

 

more file

 

之后,就可以使用按键来查看文本。常用按键如下:

 

回车    #向下n行,默认为1行
空格 #向下滚动一屏
b #向上滚动一屏
= #输出当前行号
:f #输出当前文件名和当前行号
q #退出

 

2.从指定行开始显示

 

more +10 file

 

该命令从第10行开始显示file的内容。

 

3.从匹配的字符串行开始显示

 

more +/string file

 

该命令从有string的行的前两行开始file的内容。

 

任意浏览搜索文本--less

 

less命令的基本功能和more没有太大差别,但是less命令可以向前浏览文件,而more只能向后浏览文件,同时less还拥有更多的搜索功能。


常见使用方法:

 

less file     #浏览file
less -N file #浏览file,并且显示每行的行号
less -m file #浏览file,并显示百分比

 

常用按键如下:

 

f        #向前滚动一屏
b #向后滚动一屏
回车或j #向前移动一行
k #向后移动一行
G #移动到最后一行
g #移动到第一行
/string #向下搜索string,n查看下一个,N查看上一个结果
string #向上搜索string,n查看下一个,N查看上一个结果
q #退出

 

相比more命令,less命令能够搜索匹配需要的字符串。


另外,less还能在多个文件间切换浏览:

 

less file1 file2 file3
:n #切换到下一个文件
:p #切换到上一个文件
:x #切换到第一个文件
:d #从当前列表移除文件

 

显示文本头部内容--head

 

head命令的作用就像它的名字一样,用于显示文件的开头部分文本。


常见用法如下:

 

head -n 100 file #显示file的前100
head -n -100 file #显示file的除最后100行以外的内容。

 

显示文本尾部内容--tail

 

和head命令类似,只不过tail命令用于读取文本尾部部分内容:

 

tail -100 file  #显示file最后100行内容
tail -n +100 file #从第100行开始显示file内容

 

tail还有一个比较实用的用法,用于实时文本更新内容。比如说,有一个日志文件正在写,并且实时在更新,就可以用命令:

 

tail -f logFile

 

对于更新的日志内容,会实时打印到终端上,方面查看实时日志。

 

指定顺序显示文本--sort

 

sort可用于对文本进行排序并显示,默认为字典升序。


例如有一段文本test.txt内容如下:

 

vim
count
fail
help
help
dead
apple

 

1.升序显示文本


使用命令:

 

sort test.txt
apple
count
dead
fail
help
help
vim

 

文本内容将以升序显示。


2.降序显示


相关参数-r:

 

sort -r test.txt
vim
help
help
fail
dead
count
apple

 

3.去掉重复的行


我们可以观察到,前面的help有两行,如果我们不想看到重复的行呢?可以使用参数-u,例如:

 

sort -u test.txt
apple
count
dead
fail
help
vim

 

可以看到help行不再重复显示。

 

4.按照数字排序


如果按照字典排序,10将会在2的前面,因此我们需要按照数字大小排序:

 

sort -n file

 

由于本文篇幅有限,不在本文展开介绍,后续将单独介绍sort命令的妙用。

 

过滤显示文本--sed

 

sed是一个流编辑器,功能非常强大,但本文只介绍文本查看相关功能。


1.显示匹配关键字行


有时候查看日志,可能只需要查看包含某些关键字的日志行:

 

sed -n "/string/p" logFile

 

上面的命令表示打印包含string的行。

 

2.打印指定行

 

sed -n "1,5p" logFile #打印第1到5行
sed -n '3,5{=;p}' logFile #打印3到5行,并且打印行号
sed -n "10p" logFIle #打印第10行

 

去重显示文本--uniq

 

常见用法如下:

 

uniq file  #去除重复的行
uniq -c file #去除重复的行,并显示重复次数
uniq -d file #只显示重复的行
uniq -u file #只显示出现一次的行
uniq -i file #忽略大小写,去除重复的行
uniqe -w 10 file #认为前10个字符相同,即为重复

 

文本编辑查看--vi

 

查看文件也很简单:

 

vi file

 

而从vi发展出来的被誉为编辑器之神的vim有着更加强大的功能,这里不作展开。

 

总结

 

文本查看命令较多,可根据使用场景不同选择使用不同的命令。有些命令的用法较多,本文仅介绍经典用法,更多用法可使用man命令查看。很多命令可以结合其他命令使用,例如ps -elf|more,分页显示进程信息等等,更多用法可自行探索。

 

转载于:https://www.cnblogs.com/rsty/p/10443721.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/278265.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

XP调整禁用页面文件

NOTE: You shouldn’t disable your page file unless you really really know what you are doing. 注意:除非您真的很清楚自己在做什么,否则不应该禁用页面文件。 If your computer has 1 GB of RAM or more, disabling the page file can speed up XP…

复制数据库

1.首先手动创建新的数据库 CREATE DATABASE new-DB DEFAULT CHARACTER SET utf8mb4; 2.使用mysqldump命令。结果,会连同数据一起复制过去。 mysqldump old-DB -u root -pXX --add-drop-table | mysql new-DB -u root -pXX转载于:https://www.cnblogs.com/clcliangc…

labelme2coco问题:TypeError: Object of type 'int64' is not JSON serializable

最近在做MaskRCNN 在自己的数据(labelme)转为COCOjson格式遇到问题:TypeError: Object of type int64 is not JSON serializable 原因是numpy的数据类型不能被json兼容 最简单的做法是自己写一个序列类 class MyEncoder(json.JSONEncoder):de…

如何在Windows 10的命令提示符中更改目录

One of the first things you’ll need to learn as you become more familiar with Command Prompt on Windows 10 is how to change directories in the operating system’s file system. There are a few ways you can do this, so we’ll walk you through them. 随着您对…

jQuery 购物车

html代码 <!--shoppingCar start--> <table id"TB"> <tr> <td colspan"7" class"title"> <div class"img_box"> <div class"logo_box"> <img src"img/jd…

MySQL优化总结

2019独角兽企业重金招聘Python工程师标准>>> 从这几天看MySQL性能优化来看&#xff0c;基本的思路就是分分分&#xff0e;&#xff0e;&#xff0e; 1&#xff0c;分读&#xff0c;用缓存来分摊读表的压力; 2&#xff0c;读写分离&#xff0c;主从分离&#xff0c;写…

疯狂java讲义

封装&#xff1a; 封装&#xff1a;将对象状态信息隐藏在对象内部&#xff0c;不允许外部程序直接访问对象内部信息&#xff0c;而是用类所提供的方法访问和操作。访问控制符&#xff1a;private&#xff08;当前类访问权&#xff09; ,protected&#xff08;子类访问&#xff…

将背景色添加到Word 2007文档中

Instead of using the standard white background with Word documents, here is how to add some background color to spice up your documents. 代替在Word文档中使用标准的白色背景&#xff0c;这是如何添加一些背景颜色来为文档增添色彩。 Open your word document and ch…

jquery实现增删改(伪)-老男孩作业day13

使用jquery进行&#xff0c;文件的编写&#xff0c;实现自增id,删除&#xff0c;添加&#xff0c;编辑模式。 jquery放在本地&#xff0c;src"jquery_js.js" 可以改成其他&#xff0c;或者在线的路径 readme<!DOCTYPE html> <html lang"en"> &…

uoj#119. 【UR #8】决战圆锥曲线(线段树+复杂度分析)

题解 传送门 题解 然而要我来说我感觉只是个爆搜啊…… //minamoto #include<bits/stdc.h> #define R register #define ll long long #define ls (p<<1) #define rs (p<<1|1) #define fp(i,a,b) for(R int ia,Ib1;i<I;i) #define fd(i,a,b) for(R int ia…

如何在Raspberry Pi上设置两因素身份验证

Kiklas/ShutterstockKiklas /快门The Raspberry Pi is everywhere now, which is why it’s caught the eye of threat actors and cybercriminals. We’ll show you how to secure your Pi with two-factor authentication. Raspberry Pi现在无处不在&#xff0c;这就是为什么…

Laravel Passport里的授权类型介绍

本文来自pilishen.com----原文链接; 欢迎来和pilishen一起学习php&Laravel&#xff1b;学习群&#xff1a;109256050OAuth2是一个安全框架&#xff0c;控制着程序受保护部分的准入&#xff0c;主要是控制不同的客户端如何来调取API&#xff0c;保证它们在请求相应资源的时候…

vue 开发环境搭建

1.创建vue项目 1.node js 生成项目&#xff0c;编译项目 2.hbuilder 开发环境 1.下载安装node js http://nodejs.cn/download/ 确认是否安装成功 如果安装不了 代码错误2503 解决方法&#xff1a; 管理员命令运行cmd; cd\ cd C:\Users\Administrator\Desktop msiexec/package n…

iphone视图放大_如何将iPhone用作放大镜

iphone视图放大It’s a common problem: Some things are just too hard to see. Usually, they’re too far away, too dark, or too small. With a feature called Magnifier, your iPhone can function as a magnifying glass and sight aid. Here’s how to use it. 这是一…

chmod权限

本文引用:https://www.cnblogs.com/zhangym/p/5826200.html linux数字权限解释 644 第一位代表文件所有者的权限,第二位代表同组用户的权限&#xff0c;第三位代表其他用户的权限. 读取权限等于4,用r表示;写入权限2,用w表示;执行权限1,用x表示. 通过4、2、1组合,得到以下几种权…

输出最大值MXNet实现

网络结构&#xff0c;输入为2个数&#xff0c;先经过10个节点的全连接层&#xff0c;再经过10个节点的ReLu&#xff0c;再经过10个节点的全连接层&#xff0c;再经过1个节点的全连接层&#xff0c;最后输出。 #-*-coding:utf-8-*- import logging import math import random im…

discord linux_如何在Discord中应用文本格式

discord linuxDiscord allows for text-and audio-based chatting between gamers and other like-minded individuals. If you want to make a bigger impact on Discord, you can use formatting to jazz up your text-based messages. Here’s how. Discord允许游戏玩家和其…

一张图看懂阿里云网络产品[十二]云企业网

2019独角兽企业重金招聘Python工程师标准>>> 摘要&#xff1a; 阿里云致力于为用户提供优质、高效、稳定的网络传输环境&#xff0c;云企业网&#xff08;Cloud Enterprise Network&#xff09;将提供一种能够快速构建混合云和分布式业务系统的全球网络&#xff0c;…

# 2019-2020.3 《java程序设计》第一周学习总结

2019-2020-3 《Java 程序设计》第一周学习总结 在本周的学习中&#xff0c;学习到了好多也收获了好多&#xff0c;从最基础的安装虚拟机开始&#xff0c;根据老师的博客中的教程一步一步的进行&#xff0c;在这过程中也遇到了好多问题&#xff0c;因为是初步接触Linux系统&…

聊聊Java反射

反射是Java最重要的特性。通过Java反射可以在运行时知道一个类的所有成员和方法&#xff0c;知道一个对象的类类型、成员和方法的所有信息&#xff0c;进而调用对象的方法或生成对象的代理或包装类。Java是面向对象语言&#xff0c;除了静态变量或原始数据类型外都是完全面向对…