linux查看文件命令除了vi还有什么

发布时间 - 2022-06-16 00:00:00    点击率:
除vi的其他查看文件的命令:1、cat命令,可显示文本文件的内容,语法“cat [-n] file”或“cat file1 file2 >file3”;2、tac命令,可倒序显示文件内容,语法“tac file”;3、more命令,可分页显示文本内容,语法“more [+开始行数] file”;4、less命令,可向前或向后查看文件内容;5、head命令,可查看文件开头的内容。

本教程操作环境:linux7.3系统、Dell G3电脑。

 linux查看文件命令除了vi还有cat、more、less、head、tail等。

全文本显示--cat

cat 命令可以用来显示文本文件的内容(类似于 DOS 下的 type 命令),也可以把几个文件内容附加到另一个文件中,即连接合并文件。

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命令可以向前或向后查看文件内容

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个字符相同,即为重复

文本编辑查看--vim

查看文件也很简单:

vim file

刚打开文件时 Vim 处于命令模式,此时文件的下方会显示文件的一些信息,包括文件的总行数和字符数,以及当前光标所在的位置等,此时可以使用插入命令进入输入模式对文件进行编辑,如图 1 所示。

总结

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

相关推荐:《Linux视频教程》


# linux  # less  # String  # sort  # 字符串  # vim  # 行号  # 分页  # 升序  # 较多  # 切换到  # 也很  # 只显示  # 可以使用  # 两行  # 文本文件 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 高端网站建设与定制开发一站式解决方案 中企动力  高性能网站服务器配置指南:安全稳定与高效建站核心方案  如何破解联通资金短缺导致的基站建设难题?  Laravel怎么解决跨域问题_Laravel配置CORS跨域访问  JavaScript模板引擎Template.js使用详解  Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】  Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置  敲碗10年!Mac系列传将迎来「触控与联网」双革新  谷歌Google入口永久地址_Google搜索引擎官网首页永久入口  高性价比服务器租赁——企业级配置与24小时运维服务  在线教育网站制作平台,山西立德教育官网?  英语简历制作免费网站推荐,如何将简历翻译成英文?  详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南  Android Socket接口实现即时通讯实例代码  高防服务器如何保障网站安全无虞?  Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能  微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】  网站制作免费,什么网站能看正片电影?  如何基于PHP生成高效IDC网络公司建站源码?  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  如何挑选优质建站一级代理提升网站排名?  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  Bootstrap CSS布局之列表  Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理  如何用PHP工具快速搭建高效网站?  如何在云主机上快速搭建多站点网站?  三星、SK海力士获美批准:可向中国出口芯片制造设备  详解Android——蓝牙技术 带你实现终端间数据传输  手机软键盘弹出时影响布局的解决方法  Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程  5种Android数据存储方式汇总  如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】  在centOS 7安装mysql 5.7的详细教程  如何用腾讯建站主机快速创建免费网站?  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  百度浏览器网页无法复制文字怎么办 百度浏览器复制修复  iOS UIView常见属性方法小结  Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践  Bootstrap整体框架之JavaScript插件架构  Laravel Seeder填充数据教程_Laravel模型工厂Factory使用  ,南京靠谱的征婚网站?  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  Swift开发中switch语句值绑定模式  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】  晋江文学城电脑版官网 晋江文学城网页版直接进入  Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】  如何在IIS中新建站点并解决端口绑定冲突?