Linux9文本工具查看分析统计

文本工具查看、分析、统计

1. 文件查看

1.1 cat命令说明

        命  令:cat  [option]…[file]…
        应  用:主要功能连接文件,标准输入,标准输出  
        选  项:  -A:相当于-vET的整合选项,可列出一些特殊符号
                  -n:对显示出的每一行进行编号
                  -E:显示行结束符$
                  -b:非空行编号
                  -s:压缩连续的空行成一行

例:的结果为cat -A这个F1文件,可以看到空白的地方,[tab]会以^I表示,断行字符则是以$表示, Windows中的断字符\^M\$。

          [root@hai6 ~]$ cat -A /etc/issue
          ^ICentOS release 6.10 (Final)$
           Kernel \r on an \m$
           \n \l \t$
           \v$

1.2 tac命令说明

        命  令:tac  [option]…[file]…
        应  用:功能与cat相似,输出结果由最后一行到第一行方向在屏幕上显示出来

1.3 nl命令说明

        命  令:nl  [option]…[file]…
        应  用:可以将输出的文件自动加上行号
        选  项:  -b:指定行号,空行不显示
                -ba:列出空行行号
                 -n:列出行号的表达方式后面跟ln、rn、rz三种表达方式
                 -w:行号字段的占用字符数,后跟数字

1.4 rev命令说明

        命  令:rev 
        应  用:将文件中的每行内容以字符我单位反序输出,即第一个字符最先输出。

2. 分页查看文件内容

        命  令:more  [options…]  file…
        应  用:将文件在屏幕中分页的过滤器
快捷键 功能
空格 代表向下翻一页
Enter 下翻一页
/字符串 向下搜索字符串这个关键词,重复搜索按n
:f 立刻显示出文件名以及目前显示的行数
q 代表立刻离开more,不再显示该文件内容

命 令:less

应 用:将文件在屏幕中分页的过滤器,比more增加了回翻功

快捷键 功能
空格 代表向下翻一页
Pagedown 代表向下翻一页
pageup 代表向上翻一页
?字符串 向上搜索字符串这个关键词
/字符串 向下搜索字符串这个关键词
n 重复前一个搜索
N 反向的重复前一个搜索
g 前进到这个资料的第一行
G 前进到这个数据的最后一行
q 离开

3. 文件前或后行查看

命 令:head [option]…[file]…

应 用:显示文件的前几行,默认为10行

  选  项:-c#:指定获取前#字节
         -n#:指定获取前#行
         -# :指定行数

    PS:#可以为负数,意思为后面的#行不显示出来

命 令:tail [option]…[file]…

应 用:显示文件的后几行,默认为10行

选  项:-c#:指定获取后#字节
       -n#:指定获取后#行
       -# :指定行数
       -f : 跟踪显示文件fd新追加的内容,常用日志监控
             相当于 - -follow=descriptor
        -F:跟踪文件名
            相当于- -follow= name - -retry
PS1:命令tailf类似tail-f,当跟踪文件没有更新是,不访问文件,节省资源
PS2:#可以为正数,前面的#行不显示出来

4.文件抽取与合并

命 令:cut [option]…[file]…

应 用:标准输出文件内容,分解数据

选  项:
-d DELIMITER:指定分隔符,默认tab,与-f一起使用
-f fieds:
    ••  #  第#个字段
    ••  #,#,#  离散的多个字段,例如1,3,6
    ••  #-#    连续的多个字段,例如1-6。
    混合使用例如1-3,7
-c :按字符切割
- -output-delimiter=STRING 指定输出分隔符

下图解释了按字符切割,可以选择区间,也可以单独第几个字符后

[root@hai6 ~]$cut -c 15-20  /etc/passwd
t:/roo
/bin:/

命 令:paste [option]…[file]…

应 用:合并两个文件同行号的列到一行

选  项:
-d分隔符:指定分隔符,默认用tab
-s :所有行合成一行显示

命 令:grep [option] PATTERN [file]…

应 用:文本搜索工具,根据用户指定模式对目标文本逐行进行匹配检查,打印匹配到的行

选  项: 
--color=auto:对匹配到的文本着色显示,centos7默认已经
             定义了别名
-v:显示不被pattern匹配到的行
-i:忽略字符大小写
-n:显示匹配到的行号
-c:统计匹配到的行数
-f:指定规则文件,查找符合规则条件的文件内容,格式为每
    行一个规则样本
-o:仅显示匹配到的字符串
-q:静默模式,不输出任何信息,判断是否找到使用标识符
    echo $,找到显示为0,找不到显示非0
-A#:后#行,用于想要搜索结果行没有明显关键字,
    利用前后标识,指向搜索结果
-B#:前#行
-C#:前后各#行
-e:实现多个选项间的逻辑or关系  grep  - e  ‘cat’  - 
    e ‘ dog’  file
-w:匹配整个单词,系统将_,数字,字母都视为单词的一部
    分,不可做单词分隔符
-E:使用ERE
-F:相当于fgrep,不支持正则表达式

例 一:1-100里有多少个数字包含9

[root@V9centos7 ~]$seq 100|grep -c 9
19

例 二:显示文件f1和f2的交集。利用-f选项,空格也算不同规则,所以不匹配。

[root@V9centos7 ~]$cat -A f1
abc cba$
help $
exit$
wc$
[root@V9centos7 ~]$cat -A f2
abc cba$
help$
passwd$
wc$
[root@V9centos7 ~]$grep -f f1 f2
abc cba
wc

5 分析文本工具

命 令:wc [option]…[file]…

应 用:计算文件的byte数、字数或列数

选  项:
-c  :只显示字节数
-l  :只显示列数
-w :只显示单词数
-m :只显示字符数
-L  :显示文件中最长行的长度

如图所示,三个字段从左向右分别为行、字数、字符数

[root@V9centos7 ~]$cat /etc/passwd|wc
 49      96    2505

命 令:sort [option]…[file]…

应 用:将文件排序,将结果标准输出

选  项:
-r :执行反方向整理
-R :随机排序
-n :执行按数字大小整理
-f :选项忽略字符串中的大小写
-u :删除输出中的重复行
-t  c:使用c作为字段界定符(这里只是用c
       表示一下,可替换)
-k  x:按照使用c字符分隔的x列来整理能够
       使用多次

例,将/etc/gtoup的GID按从小到大排列,示例中以:为分隔符取第三列,按数字排序

[root@V9centos7 ~]$sort -n -k3 -t: /etc/group
root:x:0:gentoo
bin:x:1:gentoo
daemon:x:2:
sys:x:3:

命 令:uniq [option]…[file]…

应 用:从输入中删除青后详解的重复行

选  项:
-c :显示每行重复出现的次数
-d :仅显示重复过的行
-u :仅显示没重复过的行,连续且完
     全相同为重复

6. 文件比较

命 令:diff [option]…[file]…

应 用:比较给定的两个文件的不同,如果是目录,比较该目录中具有相同文件名的文件,而不会对子目录文件进行比较

选  项:
-u:输出统一的diff格式文件,最适
    用于补丁文件

命 令:patch [option]…[file]…

应 用:让用户利用设置修补文件的方式,修改,更新原始文件

选  项:
-b:备份每一个原始文件

例,利用diff与patch进行文件备份复原,diff比较文件f1,f2,生成diff格式补丁文件f3

[root@V9centos7 ~]$diff -u f1 f2>f3
[root@V9centos7 ~]$cat f3
--- f1  2018-08-01 20:56:55.853020328 +0800
+++ f2  2018-08-01 20:57:51.344020475 +0800
@@ -1,4 +1,4 @@
abc cba
-help 
-exit
+help
+passwd
wc

将文件f2删除

[root@V9centos7 ~]$cat f2
abc cba
help
passwd
wc
[root@V9centos7 ~]$rm f2
rm: remove regular file ‘f2’? y

输入命令path以f1为源文件,输入补丁文件f3,还原f2(生成文件名为f1),原文件变为f1.orig。

[root@V9centos7 ~]$patch -b f1<f3
patching file f1

[root@V9centos7 ~]$cat f1
abc cba
help
passwd
wc

实验可以用到的工具nmap
nmap -v -sp 192.168.32.0/24看这个网段开机与关机的主机。

猜你喜欢

转载自blog.csdn.net/free050463/article/details/81515030