Linux文本文件——管理文本的命令

摘要:本文主要学习了在Linux中管理文本的命令。

cat命令

cat命令用来显示文本文件的内容,也可以把几个文件内容附加到另一个文件中,即连接合并文件,是Concatenate的缩写。

注意,cat命令用于查看文件内容时,不论文件内容有多少,都会一次性显示。如果文件非常大,那么文件开头的内容就看不到了。不过Linux可以使用PgUp+上箭头组合键向上翻页,但是这种翻页是有极限的,如果文件足够长,那么还是无法看全文件的内容。因此,cat命令适合查看不太大的文件。

基本语法

 cat [选项] 文件名
cat 文件1 文件2 > 文件3

第一个命令用来显示文本内容,第二个命令用来合并文件。

选项说明

 -A:相当于-vET选项的整合,用于列出所有隐藏符号。
-E:列出每行结尾的回车符$。
-n:对输出的所有行进行编号。
-b:同-n不同,此选项表示只对非空行进行编号。
-T:把Tab键^I显示出来。
-v:列出特殊字符。
-s:当遇到有连续2行以上的空白行时,就替换为1行的空白行。

使用举例

 [root@localhost home]# cat hello
hello
[root@localhost home]# cat -A hello
hello$
[root@localhost home]#

more命令

more命令用来分页显示文本文件的内容,使用者可以逐页阅读文件中内容。

基本语法

 more [选项] 文件名

选项说明

 -f:计算行数时,以实际的行数,而不是自动换行过后的行数。
-p:不以卷动的方式显示每一页,而是先清除屏幕后再显示内容。
-c:跟-p选项相似,不同的是先显示内容再清除屏幕。
-s:当遇到有连续两行以上的空白行时,就替换为一行的空白行。
-行数:指定每屏显示的行数。
+行数:从第指定行数开始显示文件内容。

交互命令

 [Space]:向下翻一页。
[Enter]:向下翻一行。
/word:向下搜索word字符串。
:f:显示文件名以及当前的行数。
q:关闭more。

使用举例

 hello1
hello2
hello3
hello4
hello5
hello6
hello7
hello8
hello9
hello1
hello2
--More--(%)

less命令

less命令的作用和more十分类似,都用来浏览文本文件中的内容,不同之处在于使用more命令浏览文件内容时只能不断向后翻看,而使用less命令浏览时可以向后翻看也可以向前翻看。

基本语法

 less [选项] 文件名

选项说明

 -N:显示每行的行号。
-S:行过长时将超出部分舍弃。
-e:当文件显示结束后,自动离开。
-g:只标志最后搜索到的关键同。
-i:忽略搜索时的大小写。
-m:显示类似more命令的百分比。
-f:强迫打开特殊文件,比如外围设备代号、目录和二进制文件。
-s:显示连续空行为一行。
-o 文件名:将输出的内容保存到指定文件中。
-b 大小:设置缓冲区的大小。
-x 空格个数:将Tab键显示为指定的空格个数。

交互命令

 /word:向下搜索word字符串。
?word:向上搜索word字符串。
n:重复前一个搜索。
N:反向重复前一个搜索。
b:向上移动一页。
d:向下移动半页。
h或H:显示帮助界面。
q或Q:退出less命令。
y:向上移动一行。
[Space]:向下移动一页。
[Enter]:向下移动一行。
[PgDn]:向下移动一页。
[PgUp]:向上移动一页。
Ctrlf:向下移动一页。
Ctrlb:向上移动一页。
Ctrld:向下移动一页。
Ctrlu:向上移动半页。
j:向下移动一行。
k:向上移动一行。
G:移动至最后一行。
g:移动到第一行。
ZZ:退出less命令。
v:使用配置的编辑器编辑当前文件。
[:移动到本文档的上一个节点。
]:移动到本文档的下一个节点。
p:移动到同级的上一个节点。
u:向上移动半页。

使用举例

 hello1
hello2
hello3
hello4
hello5
hello6
hello7
hello8
hello9
hello1
hello2
:

head命令

head命令可以显示指定文件前若干行的文件内容。

基本语法

 head [选项] 文件名

选项说明

 -n 行数:该选项用来显示文件前几行的内容,如果使用“-行数”作为参数,则表示除了文件最后几行外,显示前面的内容。
-c 字节数:该选项用来显示文件前几个字节的内容,如果使用“-字节数”,则表示除了文件最后几个字节的内容,显示前面的内容。
-v:显示文件名。

使用举例

 [root@localhost home]# head -n  hello
hello1
hello2
hello3
hello4
hello5
[root@localhost home]#

tail命令

tail命令和head命令正好相反,它用来查看文件末尾的数据。

基本语法

 tail [选项] 文件名

选项说明

 -n 行数:该选项用来显示文件最后几行的内容,如果使用“-行数”作为参数,则表示从文件第几行开始输出。
-c 字节数:该选项用来显示文件最后几个字节的内容,如果使用“-字节数”,则表示从文件第几字节开始输出。
-f:输出文件变化后新增加的数据。

使用举例

 [root@localhost home]# tail -f -n  hello
hello7
hello8
hello9
hello1
hello2

Linux文本文件——管理文本的命令的更多相关文章

  1. Linux学习之文本处理命令(五)

    ---恢复内容开始--- Linux 系统之文本处理命令 (一)基于关键字搜索 (二)基于列处理文本 (三)文本统计 (四)文本排序 (五)删除重复行 (六)文本比较 (七)处理文本内容 (八)搜索替 ...

  2. Linux后台进程管理的一些命令小结

    Linux后台进程管理的一些命令:fg.bg.jobs.&.ctrl + z命令,供大家学习参考   一. &加在一个命令的最后,可以把这个命令放到后台执行 ,如gftp &, ...

  3. linux学习-常用文本处理命令

    1.文本处理命令 (1) tr 转换或删除字符 tr [OPTION]...SET1 SET2 选项: -c 取SET1字符串的补集 -d 删除属于SET1中的字符 -s 把连续重复出现的字符以单独一 ...

  4. linux下的文本处理命令sed&awk&grep

    Sedsed 是个精简的.非交互式的编辑器.他能执行和编辑vi和emacs相同的编辑任务.sed编辑器不提供交互使用方式:只能在命令行输入编辑命令.指定文件名,然后在屏幕上察看输出.sed编辑器没有破 ...

  5. Linux系列教程(十一)——Linux软件包管理之RPM命令

    前面我们介绍了Linux系统的常用命令介绍和文本编辑器vim命令的介绍.那么从这篇博客开始,我们会正式的讲解Linux的系统管理,首先要讲的是Linux的软件包管理. 1.Linux软件包分类 一.源 ...

  6. Linux软件包管理之RPM命令

    目录 1.Linux软件包分类 一.源码包 二.二进制包 2.rpm 包命名规则 3.rpm包安装 4.rpm包升级 5.rpm包卸载 6.查询rpm包是否安装 7.查询软件包的详细信息 8.查询软件 ...

  7. 用于 ‘Suse‘ Linux 包管理的 Zypper 命令大全

    SUSE( Software and System Entwicklung,即软件和系统开发.其中‘entwicklung‘是德语,意为开发)Linux 是由 Novell 公司在 Linux 内核基 ...

  8. linux 打印机管理输出等命令

    lp 打印文件, 对于打印文件的命令,伯克利实现版本是 lpr,而 System V 实现版本是 lplpadmin 打印机管理,添加.删除等打印机lpstat 查看打印机状态lpq 检查打印队列lp ...

  9. Linux 目录管理的相关命令

    mkdir,rmdir 创建目录mkdir -p:当上级目录不存在时,自动创建上级目录 -v:显示创建过程 $ mkdir -pv /tmp/x/y/z/ mkdir: created directo ...

随机推荐

  1. 垃圾分类环保宣传 PPT模板

    模板来源:http://ppt.dede58.com/peixunyanjiang/26263.html

  2. java笔记----cpu消耗快速定位代码

    下载ProcessExplorer ProcessExplorer下载地址:ProcessExplorer 下载运行代码 打开ProcessExplorer 查看javaw.exe的pid jstac ...

  3. KB奇遇记(3):糟糕的IT现状

    2015年8月3号,终于告别了过去来到了KB. 公司给安排的住房是一间套房里的小房间,小的简直连坐的地方都没有了,中间一个大床将房间隔了两边,显得特别狭小.由于是刚来,我也不好要求太多.但就这个小房间 ...

  4. protocol buffers 使用方法

    protocol buffers 使用方法 为什么使用 Protocol Buffers 我们接下来要使用的例子是一个非常简单的"地址簿"应用程序,它能从文件中读取联系人详细信息. ...

  5. Windows 10系统迁移

    快速复制硬盘可以调整目标盘分区大小(适用于不同容量的硬盘克隆) 调整完目标盘的系统分区大小后将恢复分区拖到系统分区后面对齐,恢复分区后面既可留出未分配容量用作Linux系统安装. 克隆完成后对uefi ...

  6. Day_05

    01.error接口的使用 package main import "fmt" import "errors" func main() { //var err1 ...

  7. node.js中pm2启动应用出错

    在将公司的应用容器化时,遇到的问题. 之前,同事使用node.js 6版本运行,pm2启动js文件,一切正常. 但我一样将node.js 6版本安装,然后npm install pm2完成. 运行pm ...

  8. vue2.0教手架安装

  9. 动态内存的分配(new delete malloc free)

    new和malloc的区别是什么?-new关键字是C++的一部分,在所有的C++编译器中都被支持-malloc是由C库提供的函数,在某些系统开发中是不能调用的-new以具体类型为单位进行内存分配-ma ...

  10. 201271050130-滕江南-《面向对象程序设计(java)》第十二周学习总结

    201271050130-滕江南-<面向对象程序设计(java)>第十二周学习总结 项       目 内      容 这个作业属于哪个课程 https://www.cnblogs.co ...