一、cat 显示文件连接文件内容的工具

cat 是一个文本文件(查看)和(连接)工具,通常与more搭配使用,与more不同的是cat可以合并文件。查看一个文件的内容,用cat比较简单,就是cat后面直接接文件名。

如:root@ubuntu :/# cat /etc/passwd

 


1、cat 语法结构:

cat [选项] [文件]...

 

选项

  -A, --show-all           等价于 -vET

  -b, --number-nonblank    对非空输出行编号

  -e                       等价于 -vE

  -E, --show-ends          在每行结束处显示 $

  -n, --number             对输出的所有行编号

  -s, --squeeze-blank      不输出多行空行

  -t                       与 -vT 等价

  -T, --show-tabs          将跳格字符显示为 ^I

  -u                       (被忽略)

  -v, --show-nonprinting   使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外

      --help     显示此帮助信息并离开

2、cat 查看文件内容实例:

[root@localhost ~]# cat /etc/profile    注:查看/etc/目录下的profile文件内容;


[root@localhost ~]# cat -b /etc/fstab   注:查看/etc/目录下的profile内容,并且对非空白行进行编号,行号从1开始;


[root@localhost ~]# cat -n /etc/profile    注:对/etc目录中的profile的所有的行(包括空白行)进行编号输出显示;


[root@localhost ~]# cat -E /etc/profile     注:查看/etc/下的profile内容,并且在每行的结尾处附加$符号;

 


cat 加参数-n 和nl工具差不多,文件内容输出的同时,都会在每行前面加上行号;


[root@localhost ~]# cat -n /etc/profile


[root@localhost ~]# nl /etc/profile

cat 可以同时显示多个文件的内容,比如我们可以在一个cat命令上同时显示两个文件的内容;


[root@localhost ~]# cat /etc/fstab /etc/profile

 


cat 对于内容极大的文件来说,可以通过管道|传送到more 工具,然后一页一页的查看;


[root@localhost ~]# cat /etc/fstab /etc/profile | more

 


3、cat 的创建、连接文件功能实例:

cat 有创建文件的功能,创建文件后,要以EOF或STOP结束;

[root@localhost ~]# cat > linuxsir.org.txt << EOF 注:创建linuxsir.org.txt文件;

> 我来测试 cat 创建文件,并且为文件输入内容;       注:这是为linuxsir.org.txt文件输入内容;

> 北南南北 测试;                   注:这是为linuxsir.org.txt文件输入内容;

> EOF   注:退出编辑状态;

[root@localhost ~]# cat linuxsir.org.txt 注:我们查看一下linuxsir.org.txt文件的内容;

我来测试 cat 创建文件,并且为文件输入内容;

北南南北 测试;

 


cat 还有向已存在的文件追加内容的功能;

[root@localhost ~]# cat linuxsir.txt 注:查看已存在的文件linuxsir.txt 内容;

I am BeiNanNanBei From LinuxSir.Org .    注:内容行

我正在为cat命令写文档

[root@localhost ~]# cat >> linuxsir.txt << EOF   注:我们向linuxsir.txt文件追加内容;

> 我来测试cat向文档追加内容的功能;       注:这是追回的内容

> OK?

> OK~

> 北南 呈上

> EOF   注:以EOF退出;

[root@localhost ~]# cat linuxsir.txt 注:查看文件内容,看是否追回成功。

I am BeiNanNanBei From LinuxSir.Org .

我正在为cat命令写文档

我来测试cat向文档追加内容的功能;  

OK?

OK~

北南 呈上

cat 连接多个文件的内容并且输出到一个新文件中;


假设我们有sir01.txt、sir02.tx和sir03.txt ,并且内容如下;

[root@localhost ~]# cat sir01.txt  

123456

i am testing

[root@localhost ~]# cat sir02.txt

56789

BeiNan Tested

[root@localhost ~]# cat sir03.txt

09876

linuxsir.org testing

 


我想通过cat 把sir01.txt、sir02.txt及sir03.txt 三个文件连接在一起(也就是说把这三个文件的内容都接在一起)并输出到一个新的文件sir04.txt 中。

注意:其原理是把三个文件的内容连接起来,然后创建sir04.txt文件,并且把几个文件的内容同时写入sir04.txt中。特别值得一提的是,如果您输入到一个已经存在的sir04.txt 文件,会把sir04.txt内容清空。

[root@localhost ~]#
cat sir01.txt sir02.txt sir03.txt > sir04.txt

[root@localhost ~]# more sir04.txt

123456

i am testing

56789

BeiNan Tested

09876

linuxsir.org testing

cat 把一个或多个已存在的文件内容,追加到一个已存在的文件中

[root@localhost ~]# cat sir00.txt

linuxsir.org forever

[root@localhost ~]# cat sir01.txt sir02.txt sir03.txt >> sir00.txt

[root@localhost ~]# cat sir00.txt

linuxsir.org forever

123456

i am testing

56789

BeiNan Tested

09876

linuxsir.org testing

警告:我们要知道 > 意思是创建,>> 是追加。千万不要弄混了。造成失误可不是闹着玩的;

二、more 文件内容或输出查看工具

more 是我们最常用的工具之一,最常用的就是显示输出的内容,然后根据窗口的大小进行分页显示,然后还能提示文件的百分比;

[root@localhost ~]# more /etc/profile

1、more 的语法、参数和命令:

more [参数选项] [文件]

参数如下:

+num   从第num行开始显示;

-num   定义屏幕大小,为num行;

+/pattern   从pattern 前两行开始显示;

-c   从顶部清屏然后显示;

-d   提示Press space to continue, 'q' to quit.(按空格键继续,按q键退出),禁用响铃功能;

-l    忽略Ctrl+l (换页)字符;

-p    通过清除窗口而不是滚屏来对文件进行换页。和-c参数有点相似;

-s    把连续的多个空行显示为一行;

-u    把文件内容中的下划线去掉退出more的动作指令是q

2、more 的参数应用举例:

[root@localhost ~]# more -dc /etc/profile    注:显示提示,并从终端或控制台顶部显示;


[root@localhost ~]# more +4 /etc/profile      注:从profile的第4行开始显示;


[root@localhost ~]# more -4 /etc/profile      注:每屏显示4行;


[root@localhost ~]# more +/MAIL /etc/profile     注:从profile中的第一个MAIL单词的前两行开始显示;

3、more 的动作指令:

我们查看一个内容较大的文件时,要用到more的动作指令,比如ctrl+f(或空格键) 是向下显示一屏,ctrl+b是返回上一屏; Enter键可以向下滚动显示n行,要通过定,默认为1行;

我们只说几个常用的; 自己尝试一下就知道了;

Enter       向下n行,需要定义,默认为1行;


Ctrl+f    向下滚动一屏;


空格键          向下滚动一屏;


Ctrl+b  返回上一屏;


=         输出当前行的行号;


:f      输出文件名和当前行的行号;


v      调用vi编辑器;


! 命令            调用Shell,并执行命令;


q     退出more当我们查看某一文件时,想调用vi来编辑它,不要忘记了v动作指令,这是比较方便的;

4、其它命令通过管道和more结合的运用例子:

比如我们列一个目录下的文件,由于内容太多,我们应该学会用more来分页显示。这得和管道 | 结合起来,比如:

[root@localhost ~]# ls -l /etc |more

三、less 查看文件内容 工具

less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大;您是初学者,我建议您用less。由于less的内容太多,我们把最常用的介绍一下;

1、less的语法格式:

less [参数] 文件

 

常用参数

-c 从顶部(从上到下)刷新屏幕,并显示文件内容。而不是通过底部滚动完成刷新;

-f 强制打开文件,二进制文件显示时,不提示警告;

-i 搜索时忽略大小写;除非搜索串中包含大写字母;

-I 搜索时忽略大小写,除非搜索串中包含小写字母;

-m 显示读取文件的百分比;

-M 显法读取文件的百分比、行号及总行数;

-N 在每行前输出行号;

-p pattern 搜索pattern;比如在/etc/profile搜索单词MAIL,就用 less -p MAIL /etc/profile

-s 把连续多个空白行作为一个空白行显示;

-Q 在终端下不响铃;

 

比如:我们在显示/etc/profile的内容时,让其显示行号;

[root@localhost ~]# less -N    /etc/profile

 


2、less的动作命令:

进入less后,我们得学几个动作,这样更方便 我们查阅文件内容;最应该记住的命令就是q,这个能让less终止查看文件退出;

动作:

回车键 向下移动一行;


y 向上移动一行;


空格键 向下滚动一屏;


b 向上滚动一屏;


d 向下滚动半屏;


h less的帮助;


u 向上洋动半屏;


w 可以指定显示哪行开始显示,是从指定数字的下一行显示;比如指定的是6,那就从第7行显示;


g 跳到第一行;


G 跳到最后一行;


p n% 跳到n%,比如 10%,也就是说比整个文件内容的10%处开始显示;


/pattern 搜索pattern ,比如 /MAIL表示在文件中搜索MAIL单词;


v 调用vi编辑器;


q 退出less


!command 调用SHELL,可以运行命令;比如!ls 显示当前列当前目录下的所有文件;

 

就less的动作来说,内容太多了,用的时候查一查man less是最好的。在这里就不举例子了;

四、head 工具,显示文件内容的前几行

head 是显示一个文件的内容的前多少行;

用法比较简单;


head -n 行数值 文件名;

比如我们显示/etc/profile的前10行内容,应该是:

[root@localhost ~]# head -n 10 /etc/profile

五、tail 工具,显示文件内容的最后几行

tail 是显示一个文件的内容的最后多少行;

用法比较简单;


tail   -n 行数值 文件名;

比如我们显示/etc/profile的最后5行内容,应该是:

[root@localhost ~]# tail -n 5 /etc/profile

tail -f /var/log/syslog 显示文件 syslog 的后十行内容并在文件内容增加后,且自动显示新增的文件内容。

备注:最后一条命令tail非常有用,尤其在监控日志文件时,可以在屏幕上一直显示新增的日志信息。

来源:http://my.oschina.net/junn/blog/304868

Linux中cat、more、less、tail、head命令的区别的更多相关文章

  1. linux中cat、more、less命令区别详解##less 最合适最好用,和vim一样好用

    linux中cat.more.less命令区别详解 caoxinyiyi关注 0.0362018.07.02 15:46:17字数 641阅读 516 linux中命令cat.more.less均可用 ...

  2. linux中cat、more、less命令区别详解

    众所周知linux中命令cat.more.less均可用来查看文件内容,主要区别有:cat是一次性显示整个文件的内容,还可以将多个文件连接起来显示,它常与重定向符号配合使用,适用于文件内容少的情况:m ...

  3. 13 Basic Cat Command Examples in Linux(转) Linux中cat命令的13中基本用法

    Cat (串联) 命令是Linux/Unix开源系统中比较常用的一个命令.我们可以通过Cat命令创建一个或多个文件,查看文件内容,串联文件并将内容输出到终端设备或新的文件当中,这篇文章我们将会以实例的 ...

  4. Linux中常用的监控性能的命令(sar、mpstat,vmstat, iostat,)详解

    Linux中常用的监控性能的命令有: sar:能查看CPU的平均信息,还能查看指定CPU的信息.与mpstat相比,sar能查看CPU历史信息 mpstat:能查看所有CPU的平均信息,还能查看指定C ...

  5. Linux基础知识第九讲,linux中的解压缩,以及软件安装命令

    目录 Linux基础知识第九讲,linux中的解压缩,以及软件安装命令 一丶Linux Mac Windows下的压缩格式简介 2.压缩以及解压缩 3.linux中的软件安装以及卸载 1.apt进行安 ...

  6. [转帖]Linux中的15个基本‘ls’命令示例

    Linux中的15个基本‘ls’命令示例 https://linux.cn/article-5109-1.html ls -lt 和 ls -ltr 来查看文件新旧顺序. list time rese ...

  7. 在Linux中新增与删除用户可以使用命令:Useradd

    在Linux中新增与删除用户可以使用命令:Useradd 我们先使用man命令理解一下Useradd的用法 新增与删除用户操作需要先获取高级用户权限 输入命令:sudo -i 确定后输入高级用户密码 ...

  8. Linux中查看各文件夹大小命令:du -h --max-depth=1

    Linux中查看各文件夹大小命令:du -h --max-depth=1 du [-abcDhHklmsSx] [-L <符号连接>][-X <文件>][--block-siz ...

  9. Linux命令备忘录: jobs 显示Linux中的任务列表及任务状态命令

    Linux jobs命令用法详解:显示Linux中的任务列表及任务状态命令 jobs命令用于显示Linux中的任务列表及任务状态,包括后台运行的任务.该命令可以显示任务号及其对应的进程号.其中,任务号 ...

  10. [转帖]linux中systemctl详细理解及常用命令

    linux中systemctl详细理解及常用命令 2019年06月28日 16:16:52 思维的深度 阅读数 30 https://blog.csdn.net/skh2015java/article ...

随机推荐

  1. MySQL出现Errcode:28错误提示解决办法

    mysql出现Error writing file \'xxx\'( Errcode:28)的原因有很多种,下面我来总结一些常用的关于引起Errcode:28错误原因与解决方法.   问题一,是log ...

  2. js里父页面与子页面的相互调用

    一.在页面里用 open 打开的子页面: 1.子页面调用父页面的方法,包括子页面给父页面传值: window.opener.methodName(); window.opener.methodName ...

  3. JUST SORT

    We define B is a Divisor of one number A if A is divisible by B. So, the divisors of 12 are 1, 2, 3, ...

  4. PoolManager 简单使用

    如图,创建空物体并命名 PoolManager,添加 脚本 spawn pool,并添加 如上图右边一些 参数,prefab为 Resources中 的预置体. 添加 空物体并 改名,如上图,并添加脚 ...

  5. Basically Speaking

    Basically Speaking Time Limit: 2 Sec  Memory Limit: 200 MB Submit: 19  Solved: 11 [Submit][Status][W ...

  6. 动态规划之----我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?

    利用动态规划,一共有n列,若从左向右放小矩形,有两种放置方式: 第一种:横着放,即占用两列.此时第二行的前两个空格只能横着放,所有,总的放置次数变为1+num(2*(n-2)),其中2*(n-2)代表 ...

  7. maven认识

    在这里普及一下知识: ┣ maven与ant是同类,构建工具 ┣ svn与cvs,css是同类,版本控制工具 1.为什么要用Maven? 在进行软件开发的过程中,无论什么项目,采用何种技术,使用何种编 ...

  8. EtherChannel Cisco 端口聚合详解

    冗余连接及其实现 无论什么设备都无法保障运行的绝对稳定性,即使再优秀的产品也无法保证24×7不间断的工作.除去设备或模块损坏.传输线路中断等硬件故障原因以外,还可能由于网络流量过载.任务负荷过大而导致 ...

  9. netty最快?

    http://www.techempower.com/blog/2013/04/05/frameworks-round-2/

  10. FAT32系统中长文件名的存储(转)

    FAT32的一个重要的特点是完全支持长文件名.长文件名依然是记录在目录项中的. 为了低版本的OS或程序能正确读取长文件名文件,系统自动为所有长文件名文件创建了一个对应的短文件名,使对应数据既可以用长文 ...