cat命令的用途是连接文件或标准输入并打印。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。

1.命令格式:

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

2.命令功能:

cat主要有三大功能:

1.一次显示整个文件:cat filename

2.从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.

3.将几个文件合并为一个文件:cat file1 file2 > file

3.命令参数:

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

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

-e                       等价于 -vE

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

-n, --number     对输出的所有行编号,由1开始对所有输出的行数编号

-s, --squeeze-blank  有连续两行以上的空白行,就代换为一行的空白行

-t                       与 -vT 等价

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

-u                       (被忽略)

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

less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。

1.命令格式:

less [参数]  文件

2.命令功能:

less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。

3.命令参数:

-b <缓冲区大小> 设置缓冲区的大小

-e  当文件显示结束后,自动离开

-f  强迫打开特殊文件,例如外围设备代号、目录和二进制文件

-g  只标志最后搜索的关键词

-i  忽略搜索时的大小写

-m  显示类似more命令的百分比

-N  显示每行的行号

-o <文件名> 将less 输出的内容在指定文件中保存起来

-Q  不使用警告音

-s  显示连续空行为一行

-S  行过长时间将超出部分舍弃

-x <数字> 将“tab”键显示为规定的数字空格

/字符串:向下搜索“字符串”的功能

?字符串:向上搜索“字符串”的功能

n:重复前一个搜索(与 / 或 ? 有关)

N:反向重复前一个搜索(与 / 或 ? 有关)

b  向后翻一页

d  向后翻半页

h  显示帮助界面

Q  退出less 命令

u  向前滚动半页

y  向前滚动一行

空格键 滚动一行

回车键 滚动一页

[pagedown]: 向下翻动一页

[pageup]:   向上翻动一页

4.使用实例:

实例1:查看文件

命令:

less log2013.log

输出:

实例2:ps查看进程信息并通过less分页显示

命令:

ps -ef |less

输出:

实例3:查看命令历史使用记录并通过less分页显示

命令:

history | less

输出:

[root@localhost test]# history | less

22  scp -r tomcat6.0.32 root@192.168.120.203:/opt/soft

23  cd ..

24  scp -r web root@192.168.120.203:/opt/

25  cd soft

26  ls

27  scp -r jdk1.6.0_16/ root@192.168.120.203:/opt/soft

28  clear

29  vim /etc/profile

30  vim /etc/profile

31  cd tomcat6.0.32/bin/

32  ls

33  ./shutdown.sh

34  ./startup.sh

35  vim startup.sh

36  ls

37  echo $JAVA_HOME

38  java

39  ls

40  ls

41  clear

42  cd /opt

43  ls

44  cp apache-tomcat-6.0.32.tar.gz soft/

45  ls

46  rm -f apache-tomcat-6.0.32.tar.gz

47  ls

48  cd soft

49  ls

50  tar -vzf apache-tomcat-6.0.32.tar.gz

51  tar -vzfx apache-tomcat-6.0.32.tar.gz

52  tar -zxvf apache-tomcat-6.0.32.tar.gz

53  ls

54  cd apache-tomcat-6.0.32

55  ls

56  cd ..

57  mv apache-tomcat-6.0.32 tomcat6.0.32

58  ls

59  cd tomcat6.0.32/

60  ls

实例5:浏览多个文件

命令:

Less log2013.log log2014.log

输出:

说明:

输入 :n后,切换到 log2014.log

输入 :p 后,切换到log2013.log

5.附加备注

1.全屏导航

ctrl + F - 向前移动一屏

ctrl + B - 向后移动一屏

ctrl + D - 向前移动半屏

ctrl + U - 向后移动半屏

2.单行导航

j - 向前移动一行

k - 向后移动一行

3.其它导航

G - 移动到最后一行

g - 移动到第一行

q / ZZ - 退出 less 命令

4.其它有用的命令

v - 使用配置的编辑器编辑当前文件

h - 显示 less 的帮助文档

&pattern - 仅显示匹配模式的行,而不是整个文件

5.标记导航

当使用 less 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置:

ma - 使用 a 标记文本的当前位置

'a - 导航到标记 a 处

more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。

1.命令格式:

more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ]

2.命令功能:

more命令和cat的功能一样都是查看文件里的内容,但有所不同的是more可以按页来查看文件的内容,还支持直接跳转行等功能。

3.命令参数:

+n      从笫n行开始显示

-n       定义屏幕大小为n行

+/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示

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

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

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

-p       通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似

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

-u       把文件内容中的下画线去掉

4.常用操作命令:

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

Ctrl+F   向下滚动一屏

空格键  向下滚动一屏

Ctrl+B  返回上一屏

=       输出当前行的行号

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

V      调用vi编辑器

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

q       退出more

5.命令实例:

实例1:显示文件中从第3行起的内容

命令:

aijian.shi@U-aijian-shi:~/ALM$ cat test.log                   #显示所有日志内容
aijian.shi@U-aijian-shi:~/ALM$ more +3 test.log               #从第三行开始显示日志内容

输出:

 1 aijian.shi@U-aijian-shi:~/ALM$ cat test.log
2 2016-8-1 aijian.shi
3 2016-8-2 yafang.wei
4 2016-8-3 hong.zhan
5 2016-8-4 yuyan.zhang
6 2016-8-5 senlin.zhao
7 2016-8-6 yanbin.liu
8 2016-8-7 hui.liu
9 2016-8-8 yanhua.liu
10 2016-8-9 baoixn.cui
11 2016-8-10 ge.song
12 2016-8-11 zhongjun.zhen
13 2016-8-12 qiu.liao
aijian.shi@U-aijian-shi:~/ALM$ more +3 test.log
2016-8-3 hong.zhan
2016-8-4 yuyan.zhang
2016-8-5 senlin.zhao
2016-8-6 yanbin.liu
2016-8-7 hui.liu
2016-8-8 yanhua.liu
2016-8-9 baoixn.cui
2016-8-10 ge.song
2016-8-11 zhongjun.zhen
2016-8-12 qiu.lia

实例2.将日志内容设置为每屏显示4行

命令:

aijian.shi@U-aijian-shi:~/ALM$ more -4 test.log

输出:

 1 aijian.shi@U-aijian-shi:~/ALM$ more -4 test.log
2 2016-8-1 aijian.shi
3 2016-8-2 yafang.wei
4 2016-8-3 hong.zhan
5 2016-8-4 yuyan.zhang
6
7 ...skipping one line              #这里使用ctrl+F或者空格键来滚屏
8 2016-8-6 yanbin.liu
9 2016-8-7 hui.liu
10 2016-8-8 yanhua.liu
11 2016-8-9 baoixn.cui
12
13 ...skipping one line
14 2016-8-11 zhongjun.zhen
15 2016-8-12 qiu.liao

实例3.从文件中查找第一个出现"liu"字符串的行,并从该处前两行开始显示输出

命令:

aijian.shi@U-aijian-shi:~/ALM$ more +/liu test.log

输出:

 1 aijian.shi@U-aijian-shi:~/ALM$ more +/liu test.log
2
3 ...skipping
4 2016-8-4 yuyan.zhang
5 2016-8-5 senlin.zhao
6 2016-8-6 yanbin.liu
7 2016-8-7 hui.liu
8 2016-8-8 yanhua.liu
9 2016-8-9 baoixn.cui
10 2016-8-10 ge.song
11 2016-8-11 zhongjun.zhen
12 2016-8-12 qiu.liao

实例4.当一个目录下的文件内容太多,可以用more来分页显示。这得和管道 | 结合起来

命令:

aijian.shi@U-aijian-shi:~/ALM$ cat test.log | more -5   #“|”表示管道,作用是可以将前面命令的输出当做后面命令的输入

输出:

 1 aijian.shi@U-aijian-shi:~/ALM$ cat test.log | more -5
2 2016-8-1 aijian.shi
3 2016-8-2 yafang.wei
4 2016-8-3 hong.zhan
5 2016-8-4 yuyan.zhang
6 2016-8-5 senlin.zhao
7
8 ...skipping one line
9 2016-8-7 hui.liu
10 2016-8-8 yanhua.liu
11 2016-8-9 baoixn.cui
12 2016-8-10 ge.song
13 2016-8-11 zhongjun.zhen
14 --more--
 
 

tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容.

1.命令格式;

tail[必要参数][选择参数][文件]

2.命令功能:

用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。

3.命令参数:

-f 循环读取

-q 不显示处理信息

-v 显示详细的处理信息

-c<数目> 显示的字节数

-n<行数> 显示行数

--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束.

-q, --quiet, --silent 从不输出给出文件名的首部

-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒

4.使用实例:

实例1:显示文件末尾内容

命令:

tail -n 5 log2014.log

输出:

[root@localhost test]# tail -n 5 log2014.log

2014-09

2014-10

2014-11

2014-12

==============================[root@localhost test]#

说明:

显示文件最后5行内容

实例2:循环查看文件内容

命令:

tail -f test.log

输出:

[root@localhost ~]# ping 192.168.120.204 > test.log &

[1] 11891[root@localhost ~]# tail -f test.log

PING 192.168.120.204 (192.168.120.204) 56(84) bytes of data.

64 bytes from 192.168.120.204: icmp_seq=1 ttl=64 time=0.038 ms

64 bytes from 192.168.120.204: icmp_seq=2 ttl=64 time=0.036 ms

64 bytes from 192.168.120.204: icmp_seq=3 ttl=64 time=0.033 ms

64 bytes from 192.168.120.204: icmp_seq=4 ttl=64 time=0.027 ms

64 bytes from 192.168.120.204: icmp_seq=5 ttl=64 time=0.032 ms

64 bytes from 192.168.120.204: icmp_seq=6 ttl=64 time=0.026 ms

64 bytes from 192.168.120.204: icmp_seq=7 ttl=64 time=0.030 ms

64 bytes from 192.168.120.204: icmp_seq=8 ttl=64 time=0.029 ms

64 bytes from 192.168.120.204: icmp_seq=9 ttl=64 time=0.044 ms

64 bytes from 192.168.120.204: icmp_seq=10 ttl=64 time=0.033 ms

64 bytes from 192.168.120.204: icmp_seq=11 ttl=64 time=0.027 ms

[root@localhost ~]#

说明:

ping 192.168.120.204 > test.log & //在后台ping远程主机。并输出文件到test.log;这种做法也使用于一个以上的档案监视。用Ctrl+c来终止。

实例3:从第5行开始显示文件

命令:

tail -n +5 log2014.log

输出:

[root@localhost test]# cat log2014.log

2014-01

2014-02

2014-03

2014-04

2014-05

2014-06

2014-07

2014-08

2014-09

2014-10

2014-11

2014-12

==============================

[root@localhost test]# tail -n +5 log2014.log

2014-05

2014-06

2014-07

2014-08

2014-09

2014-10

2014-11

2014-12

head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾。

1.命令格式:

head [参数]... [文件]...

2.命令功能:

head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。

3.命令参数:

-q 隐藏文件名

-v 显示文件名

-c<字节> 显示字节数

-n<行数> 显示的行数

4.使用实例:

实例1:显示文件的前n行

命令:

head -n 5 log2014.log

输出:

[root@localhost test]# cat log2014.log

2014-01

2014-02

2014-03

2014-04

2014-05

2014-06

2014-07

2014-08

2014-09

2014-10

2014-11

2014-12

==============================

[root@localhost test]# head -n 5 log2014.log

2014-01

2014-02

2014-03

2014-04

2014-05[root@localhost test]#

实例2:显示文件前n个字节

命令:

head -c 20 log2014.log

输出:

[root@localhost test]# head -c 20 log2014.log

2014-01

2014-02

2014

[root@localhost test]#

实例3:文件的除了最后n个字节以外的内容

命令:

head -c -32 log2014.log

输出:

[root@localhost test]# head -c -32 log2014.log

2014-01

2014-02

2014-03

2014-04

2014-05

2014-06

2014-07

2014-08

2014-09

2014-10

2014-11

2014-12[root@localhost test]#

实例4:输出文件除了最后n行的全部内容

命令:

head -n -6 log2014.log

输出:

[root@localhost test]# head -n -6 log2014.log

2014-01

2014-02

2014-03

2014-04

2014-05

2014-06

2014-07[root@localhost test]#

Liunjx 文件的更多相关文章

  1. Mapreduce的文件和hbase共同输入

    Mapreduce的文件和hbase共同输入 package duogemap;   import java.io.IOException;   import org.apache.hadoop.co ...

  2. mapreduce多文件输出的两方法

    mapreduce多文件输出的两方法   package duogemap;   import java.io.IOException;   import org.apache.hadoop.conf ...

  3. 01.SQLServer性能优化之----强大的文件组----分盘存储

    汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 文章内容皆自己的理解,如有不足之处欢迎指正~谢谢 前天有学弟问逆天:“逆天,有没有一种方 ...

  4. SQL Server 大数据搬迁之文件组备份还原实战

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 解决方案(Solution) 搬迁步骤(Procedure) 搬迁脚本(SQL Codes) ...

  5. SQLSERVER将一个文件组的数据移动到另一个文件组

    SQLSERVER将一个文件组的数据移动到另一个文件组 有经验的大侠可以直接忽视这篇文章~ 这个问题有经验的人都知道怎麽做,因为我们公司的数据量不大没有这个需求,也不知道怎麽做实验 今天求助了QQ群里 ...

  6. SQL Server中的高可用性(2)----文件与文件组

        在谈到SQL Server的高可用性之前,我们首先要谈一谈单实例的高可用性.在单实例的高可用性中,不可忽略的就是文件和文件组的高可用性.SQL Server允许在某些文件损坏或离线的情况下,允 ...

  7. C# ini文件操作【源码下载】

    介绍C#如何对ini文件进行读写操作,C#可以通过调用[kernel32.dll]文件中的 WritePrivateProfileString()和GetPrivateProfileString()函 ...

  8. 【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用

    有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...

  9. 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新

    上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...

随机推荐

  1. FMS Dev Guide学习笔记(远程共享对象)

    一.开发交互式的媒体应用程序1.共享对象(Shared objects)    ----远程共享对象 在你创建一个远程共享对象之前,创建一个NetConnection对象并且连接到服务器.一旦你创建了 ...

  2. 多线程 ThreadLocal

    要了解ThreadLocal,首先搞清楚ThreadLocal 是什么?是用来解决什么问题的? ThreadLocal 是线程的局部变量, 是每一个线程所单独持有的,其他线程不能对其进行访问, 通常是 ...

  3. JUC(java.util.concurrent)

    在 Java 5.0 提供了 java.util.concurrent (简称JUC )包,在此包中增加了在并发编程中很常用的实用工具类,用于定义类似于线程的自定义子系统,包括线程池.异步 IO 和轻 ...

  4. JDBC的基本概念

    英文名:Java DataBase Connectivity 中文名:数据库连接 作用: java操作数据库 本质上(sun公司的程序员)定义的一套操作关系型数据库的规则也就是接口,各数据库厂商实现接 ...

  5. pecan API调用

    1.在PasteDeploy部署caesar-api服务时,setup_app中建立app,app中设置hooks,hooks负责加载conf配置文件和数据库连接 self.storage_conne ...

  6. 自定义sql server 聚合涵数

    using System; using System.Data; using System.Data.SqlClient; using System.Data.SqlTypes; using Micr ...

  7. 搭建php渗透测试环境

    php服务器下载地址 http://vdisk.weibo.com/s/D9I4jIIfNddvh 在C盘下创建一个www文件夹 安装phpstudy 下一步安装 修改配置文件 将端口改成8080 保 ...

  8. 8个纯CSS3制作的动画应用及源码

    对于一个复杂的图形或者动画来说,之前我们的处理方式是图片叠加或者利用CSS+JavaScript的方法,然而随着CSS3标准的不断成熟,我们甚至完全可以利用CSS3来绘制一些图片和制作丰富的动画特效. ...

  9. kafka NoNode错误

    报错 bin/kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --zookeeper localhost:2181 --group=app-t ...

  10. Cisco & H3C 交换机 DHCP 中继

    个人理解:其实在核心交换上配置dhcp 中继也就是短短的几条命令,主要是注意细节,具体配置如下,希望能帮到大家: DHCP服务器IP:192.168.1.100 CISCO: 第一步:开启交换机的dh ...