【Linux】查看普通文件的内容

一、文本统计:wc——word count

    1、显示文件行数、单词数(空格分隔单词)、字节数和文件名:wc 文件名

               

                        

             2:文件行数          4:单词数(空格隔开为一个单词)    10:字节数(数的话有8个,但隐藏两个换行符也占字节)

          ①Cat -A 查看隐藏字符   (换行符$)

               

  ②###在UTF-8编码格式里面,显示时一个字符占一个字节,一个中文字占用3个字节。(不建议文件中写中文)

              

              

    2、只显示单词数:wc -w 文件名

    3、只显示字节数:wc -c 文件名

    4、只显示行数:wc -l 文件名

    5、只显示字符数:wc -m 文件名

    6、显示最长的一行的字符数(不包括断行符):wc -L 文件名

 

二、直接查看文件内容

   1、 cat连接并显示文件内容到标准输出((若文件没有则错误输出))

①显示文件内容并显示行号:cat -n 文件名

②显示文件内容及隐藏内容:cat -A 文件名

③黑洞机制(shell脚本里面经常用):将文件内容重定向到/dev/null。( 常用于测试文件是否存在并不需要显示文本内容)

              cat 文件 > /dev/null        //不带任何选项时,从标准输入接收输出到标准输出

                     (文件若存在将文本内容输入到黑洞中;文件不存在则错误输出,不会将文本内容输入到黑洞中)

             cat  文件  2> /dev/null     //文件若存在不会将文本输入到黑洞中;文件不存在则将标准错误输出输入到黑洞中

 

   2、逆序显示文件:tac

   3、从头开始逐行查看:more /var/log/messages

        ①在没有翻到最后一屏时支持向前翻,翻到最后一页后会退出。

        ②b:一页一页往前翻

        ③空格键或回车键:往后翻(空格一页一页往后翻)

  4、 前后查看文件内容:less /var/log/messages

       ①上下方向键:一行一行翻

       ②空格键:一页一页翻

       ③退出进程:q

(man手册查看命令用法默认用less打开)

 

 5、默认查看文件前10行:head /etc/passwd

       

       指定查看前5行:head -5 /etc/passwd

 

6、 默查看后10行:tail /etc/passwd

       查看后5行:tail -5 /etc/passwd           (数字可变)           

       查看动态变化的后十行:tail -f /var/log/messages

           (该文件内容是处于动态变化的,在实时更新,-f可追踪最新内容)

 

、对文件数据内容进行处理之后显示

    1、文本切割显示:(原文件内容不变,只是切割显示出结果)

   cut -d 指定分隔符 -f 指定第几列 被切割文件

 ①-f 1,3第一个字段(列)和第三个字段(列)

      

②-f 1-3      第一个字段(列)到第三个字段(列)

③-c 1-4     切出第一到第四个字符

  (指定分隔符的时候空格需要用单引号或双引号引起来)

   -c 4         切出第四个字符

       ④cut -d   :   -f   1-3   --output-delimiter=@     /etc/passwd

             (把1,3字段--列切出来,中间用@隔开)

           

      ⑤cut -d   :   -f    1-3     --output-delimiter=” ”     /etc/passwd

            把1,3字段--列切出来,中间用空格隔开(双引号里添加分隔符)

        

    ⑥cut -d : -f 1-3 --output-delimiter=‘ ’ /etc/passwd

        把1,3字段--列切出来,中间用空格隔开(单引号里添加分隔符)

        

 

 

   2、文本排序显示:

①排序显示(默认根据字符在ASCII码中的升序排序):sort 文件名

         (若为数字,不按数值大小排序,是按位比较大小)

             

             

②按照数值大小排序:sort -n 文件名

③排序(按位比较大小)并去掉重复的:sort -u 文件名

④逆序排序:sort -r 文件名

⑤按照用户uid数字大小排序显示:

                sort -t 指定分隔符 -k 指定第几列 -n /etc/passwd

                   

                 sort -f      排序--按位比较大小 时忽略字符大小写65 97(a,A)

          ⑥显示时去掉重复的行,重复的行必须相邻:uniq 文件名(不相邻就不被认为是重复)

                sort -d     只显示重复的行

                sort -D     显示所有重复的行

                sort -c      显示重复行重复的次数

 

    3、*文本过滤显示:grep可以根据特定的字符串,对指定文件的每一行进行搜索,如果找到了这个字符串,就将含有这些内容的行输出。

      ①查找文件里有字符h的字符串:grep h 文件名

           

       ②匹配整个单词:grep -w 单词 文件名

           

       ③匹配以r开始的行:grep ^[r] 文件名

           

       ④匹配以q结束的行:grep q$ 文件名

           

       ⑤匹配以数字开头的行:grep ^[0-9] 文件名(以0到9开头)

       ⑥匹配带有a-r的字符:grep  [a-r]

           

       ⑦匹配不带有a-r的字符:grep  [^a-r]:

           

       ⑧匹配以q或者f开头的行:grep ^[qf] 文件名  

                                                  grep ^[q,f] 文件名

           

           

       ⑨匹配不是以q到f开始的行:^[^q-f] 文件名

          

       ⑩匹配不是以a或者f开头的行:grep ^[^af] 文件名

           

       ⑪匹配oo前面不是g或者f的字符串:grep [^gf]oo 文件名

           

       ⑫匹配以#号开头的行(注释行):grep ^#

       ⑬匹配非注释行:grep -v ^#

       ⑭匹配空白行:grep ^$

       ⑮匹配非空行及非注释行:grep -v ^$ /etc/ssh/sshd_config | grep -v ^#

          

       ⑯搜索当前目录下所有文件中(包括子目录下的文件)带有h的文件:grep -r h ./*

       ⑰搜索当前目录下所有普通文件(不包括子目录下的文件)中带有h的文件:grep -d skip h ./*

       ⑱-l:查询多文件时只输出包含匹配字符的文件名

       ⑲搜索时忽略大小写:grep  -i

          

⑳搜索时显示匹配到的那一行以及下2行:grep -A  2   

        ㉑搜索时显示匹配到的那一行以及上2行:grep  -B  2

        ㉒搜索时显示匹配到的那一行以及上下2行:grep  -C   2

 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值