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. CSS3/CSS之居中解析(水平+垂直居中、水平居中,垂直居中)

    首先,我们来看下垂直居中: (1).如果是单行文本,则可以设置的line-height的数值,让其等于父级元素的高度! <!DOCTYPE html> <html lang=&quo ...

  2. XHR 对象实例所有的配置、属性、方法、回调和不可变值

    当我们声明了一个XMLHttpRequest对象的实例的时候,使用for-in来循环遍历一下这个实例(本文使用的是chrome45版本浏览器),我们会发现在这个实例上绑定了一些内容,我把这些内容进行了 ...

  3. 重新认识快速视图窗体(Quick View Form)

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复158或者20151009可方便获取本文,同时可以在第一时间得到我发布的最新的博文信息,follow me! 在我的 微软Dynamics C ...

  4. 查看sybase IQ的执行计划

    在性能调优工作中,首要的事情是找出性能瓶颈.而针对数据库应用,由于商用数据库对上层应用来说是个黑盒,所以往往需要借助数据库的一些接口或工具来了解数据库的具体行为,并结合相关知识和业务进行调测.    ...

  5. nginx配置中root和alias的区别

    例:访问http://127.0.0.1/download/*这个目录时候让他去/opt/app/code这个目录找. 方法一(使用root关键字): location / { root /usr/s ...

  6. 6.2 DataFrame

    一.DataFrame概述 在Spark SQL中,DataFrame就是它的数据抽象,对DataFrame进行转换操作. DataFrame的推出,让Spark具备了处理大规模结构化数据的能力,不仅 ...

  7. go读取配置模块viper

    这个可以常常和cobra配合. 来个demo package main import ( "fmt" "github.com/spf13/viper" ) fu ...

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

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...

  9. 1【西北师大-2108Java】第一次作业成绩汇总

    [西北师大-2108Java]第一次作业成绩汇总 经过本次作业的练习,了解了Java最基本的知识和Java的发展:了解了Java到底是一门怎样的语言,也知道了学习Java的乐趣,懂得了去选择Java开 ...

  10. ADB端口5037被占用 导致adb 停止工作

    解决ADB端口占用问题 方式一 5037为adb默认端口,若5037端口被占用,打开cmd,输入以下指令, 1.查看占用端口的进程PID  netstat -aon|findstr 5037 2. 通 ...