常用的文件查看命令

时间:2021-07-28 16:28:59

常用的文件查看命令

 

  1  cat

  常用参数

  -n    显示行号

  -E    显示行尾结束符 $

  -b    显示非空行编号

  -s    连续的空行合成一行

  -A    显示隐藏字符

  通常用法        cat    -An

  [root@centos7 ~]# cat -An /etc/passwd
  1 root:x:0:0:root:/root:/bin/bash$
  
2 bin:x:1:1:bin:/bin:/sbin/nologin$
  
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin$
  
4 adm:x:3:4:adm:/var/adm:/sbin/nologin$
  
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin$
  
6 sync:x:5:0:sync:/sbin:/bin/sync$
  
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown$

  当然还有cat 的双胞胎,将文件倒着看的 tac

    [root@centos7 ~]# tac /etc/passwd
    centos:x:1000:1000:centos:/home/centos:/bin/bash
    tcpdump:x:72:72::/:/sbin/nologin
    sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
    postfix:x:89:89::/var/spool/postfix:/sbin/nologin
    avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
    gnome-initial-setup:x:989:984::/run/gnome-initial-setup/:/sbin/nologin
    gdm:x:42:42::/var/lib/gdm:/sbin/nologin

 

  2 more

  分页查看文件内容,空格键翻页,q键退出。

  [root@centos7 ~]# more /etc/passwd
  root:x:
0:0:root:/root:/bin/bash
  bin:x:
1:1:bin:/bin:/sbin/nologin
  daemon:x:
2:2:daemon:/sbin:/sbin/nologin
  adm:x:
3:4:adm:/var/adm:/sbin/nologin
  
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
  
sync:x:5:0:sync:/sbin:/bin/sync
  shutdown:x:
6:0:shutdown:/sbin:/sbin/shutdown
  halt:x:
7:0:halt:/sbin:/sbin/halt
  mail:x:
8:12:mail:/var/spool/mail:/sbin/nologin
  operator:x:
11:0:operator:/root:/sbin/nologin
  games:x:
12:100:games:/usr/games:/sbin/nologin
  
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
  nobody:x:
99:99:Nobody:/:/sbin/nologin
  
--More--(22%)

 

  3 head

  查看文件首部多少行

  -n    指定行数,默认头10行。

  [root@centos7 ~]# head -5 /etc/passwd
  root:x:
0:0:root:/root:/bin/bash
  bin:x:
1:1:bin:/bin:/sbin/nologin
  daemon:x:
2:2:daemon:/sbin:/sbin/nologin
  adm:x:
3:4:adm:/var/adm:/sbin/nologin
  
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
  4 tail

      查看文件尾部多少行

      常用参数

      -n    指定行数,和head类似。

      -f    实时查看文件内容。

    [root@centos7 ~]# tail -f /var/log/messages #实时查看系统日志
   May
9 16:45:40 centos7 avahi-daemon[536]: Withdrawing address record for fe80::ae3e:39a4:1dca:b898 on ens34.
   May
9 16:45:41 centos7 NetworkManager[567]: <warn> [1494319541.5073] dhcp4 (ens38): request timed out
   May
9 16:45:41 centos7 NetworkManager[567]: <info> [1494319541.5075] dhcp4 (ens38): state changed unknown -> timeout
   May
9 16:45:41 centos7 NetworkManager[567]: <info> [1494319541.5152] dhcp4 (ens38): canceled DHCP transaction, DHCP client pid 3388

  5 cut

      切割文本,按要求输出文本

      -d    指定分隔符,默认为Tab按键

      -f    指定第几段字符

      -c    指定字符切割

      例如,cat查看/etc/passwd的前四个字符

    [root@centos7 ~]# cat /etc/passwd| cut -d: -f -4
   root:x:
0:0
   bin:x:
1:1
   daemon:x:
2:2
   adm:x:
3:4
   lp:x:4:7
   sync:x:5:0
   shutdown:x:
6:0
   halt:x:
7:0
   mail:x:
8:12

  6  wc

    查看文件里面内容有多少行,多少字节,字符,字数。

      -l    查看行数

      -w    统计单词总数

      -m    统计字符总数

      -c    统计字节总数 

    [root@centos7 ~]# wc -lwcm /etc/passwd
   43 87 2238 2238 /etc/passwd

  7  sort

    给文本排序,默认按每行首字母顺序排序

      -r    由上至下整理

      -n    按数字大小整理

      -u    删除输出中的重复行

      -t    以后面的字符为分隔符

      -k    选择某个字段进行排序

      -f    忽略字符大小写

  例如,按第三个字段进行排序    

 [root@centos7 ~]# sort -k 3 /etc/passwd
   abrt:x:
173:173::/etc/abrt:/sbin/nologin
   adm:x:
3:4:adm:/var/adm:/sbin/nologin
   bin:x:
1:1:bin:/bin:/sbin/nologin
   centos:x:
1000:1000:centos:/home/centos:/bin/bash
   chrony:x:
991:988::/var/lib/chrony:/sbin/nologin
   daemon:x:
2:2:daemon:/sbin:/sbin/nologin
  
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
   games:x:
12:100:games:/usr/games:/sbin/nologin
  8 uniq

    从输入中删除重复行

    -c    显示每行重复出现的次数

    -d    仅仅显示重复

    -u     显示不重复

    例如:取/etc/passwd文件以":"为分隔符的第七个字段并去重。

 [root@centos7 ~]# cut -d":" -f 7 /etc/passwd | uniq -c
1 /bin/bash
4 /sbin/nologin
1 /bin/sync
1 /sbin/shutdown
1 /sbin/halt
34 /sbin/nologin
1 /bin/bash

最后在补充一个超实用的例子

    统计日志中频繁访问的前十个IP地址

cat     /var/log/httpd/access.log | cut –d" " –f 1 | sort | uniq –c | sort –nr | head