linux查看文件内容基本命令学习

一、查看日志不要使用,cat,或vim,vi命令。未来工作共的日志文件。有的日志可达40G或以上。如果使用cat查看,会刷屏根本停不下来

如果使用vi、vim查看,从磁盘中加载到内存,占用系统内存,很容易导致系统内存不足。

linux日志查询,文件较大,通过cat,vi。vim查看,系统可能会卡死,可能内存不足

推荐使用不会只能用系统太多资源的命令,查看日志:head/tail/less/more

二、日志查询命令使用

1)head 显示文件的头几行,默认是头10行

-n 显示头几行。

案列:

[root@localhost ~]# head -n5 /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

[root@localhost ~]# 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

注:一般情况下适应数字就可以,如果-5保存或无法使用,则使用-n5形式。

2)tail 显示文件的后几行,默认是后10行

-n 显示最后几行,默认是后10行

-f 显示文件末尾实时更新,一般用于查看日志。

案列:

[root@localhost ~]# tail -n5 /etc/passwd 

dbus:x:81:81:System message bus:/:/sbin/nologin

polkitd:x:999:998:User for polkitd:/:/sbin/nologin

sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

postfix:x:89:89::/var/spool/postfix:/sbin/nologin

chrony:x:998:996::/var/lib/chrony:/sbin/nologin

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

dbus:x:81:81:System message bus:/:/sbin/nologin

polkitd:x:999:998:User for polkitd:/:/sbin/nologin

sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

postfix:x:89:89::/var/spool/postfix:/sbin/nologin

chrony:x:998:996::/var/lib/chrony:/sbin/nologin

案例:tail -f实时查看文件末尾的更新

[root@localhost ~]# tail -f /var/log/secure

Jun 19 03:51:32 localhost sshd[2080]: Accepted password for root from 192.168.1.3 port 10951 ssh2

Jun 19 03:51:32 localhost sshd[2080]: pam_unix(sshd:session): session opened for user root by (uid=0)

Jun 19 03:51:44 localhost sshd[2080]: error: Received disconnect from 192.168.1.3 port 10951:0:

Jun 19 03:51:44 localhost sshd[2080]: Disconnected from 192.168.1.3 port 10951

Jun 19 03:51:44 localhost sshd[2080]: pam_unix(sshd:session): session closed for user root

图片

注:tailf  = tail -f

  1. less 按页显示文件内容

less选项说明

-N  #显示行号

q  #退出

空格或f  #下一页

b    #上一页

G    #最后一行

g    #第1行

99g    #定位到第99行

/    #搜索 n继续向下搜索,N继续往上搜索

4)more 按页显示文件内容,到达最后一行就退出。

more功能没有less多

三、wc统计

统计文件中单词情况,大小,行数,未来工作中用于统计行数用的多

还有可能统计一些命令结果又多少行。

-l 统计行数

案列1:

[root@localhost ~]# wc -l /etc/services

11176 /etc/services

案列2:统计系统用户登录错误次数

[root@localhost ~]# grep ‘Failed password’ /var/log/secure  过滤日志中登陆错误信息

Jun 19 04:08:12 localhost sshd[2126]: Failed password for root from 192.168.1.3 port 11456 ssh2

Jun 19 04:08:20 localhost sshd[2126]: Failed password for root from 192.168.1.3 port 11456 ssh2

[root@localhost ~]# grep ‘Failed password’ /var/log/secure | wc -l

四、查询命令位置

which   #查询命令的位置

[root@localhost ~]# which wc ls mkdir sed ip ping shutdown

alias ls=’ls –color=auto’

/usr/bin/ls

/usr/bin/wc

/usr/bin/mkdir

/usr/bin/sed

/usr/sbin/ip

/usr/bin/ping

/usr/sbin/shutdown

whereis  #查询命令及相关文件的位置

[root@localhost ~]# whereis ls

ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz

[root@localhost ~]# whereis  -b ls

ls: /usr/bin/ls

[root@localhost ~]# whereis  -b ls sed ping

ls: /usr/bin/ls

sed: /usr/bin/sed

ping: /usr/bin/ping

五、diff与vimdiff命令 Linux详解文件比较命令

未来在服务配置中,我们需要对比新旧的配置文件,查看修改了哪些内容。

这时候我们需要进行文件的比对操作,可以通过dif,vimdiff命令实现。

用法

diff和vimdiff,这两个命令都是用来比较文件差别的

①diff

[root@localhost ~]# touch test 

[root@localhost ~]# vim test

[root@localhost ~]# cp test test.bak

s[root@localhost ~]# echo 123456 >test

[root@localhost ~]# cat test

123456

[root@localhost ~]# diff test.bak test

1,6c1

< 1

< 2

< 3

< 4

< 5

< 你好


123456

②、vimdiff 和diff一样的,就是增强版有个高亮显示

图片

六、sort 排序命令用法及案列

语法

-n 把排序的内容当成是数字,按照数字大小进行排序,默认是升序的(小–大)

-k 指定某一列,根据某一列进行排序

-r 逆序排序

-t 指定分隔符,只能指定一个字符,默认是空格

案列:对文件中数字排序

[root@localhost ~]# vim a.txt

[root@localhost ~]# cat a.txt

12

123

14

15

16

19

0

1

[root@localhost ~]# sort a.txt 

0

1

12

123

14

15

16

19

[root@localhost ~]# sort  -n a.txt 

0

1

12

14

15

16

19

123

注:sort 默认是按照字母和字符对比,会造成数字对比失败,就用-n

案例:对比文件中某一列进行排序

[root@localhost ~]# cat a.txt

xiao 12

niu 123

shi 14

sa 15

bi 16

ni 19

ai 0

wo 1

[root@localhost ~]# sort -n -k 2 a.txt  #第二列从大到小排列

ai 0

wo 1

xiao 12

shi 14

sa 15

bi 16

ni 19

niu 123

[root@localhost ~]# sort -rnk2 a.txt  #第二行逆序排序

niu 123

ni 19

bi 16

sa 15

shi 14

xiao 12

wo 1

ai 0

 案列:指定分隔符进行排序

[root@localhost ~]# sort -t ‘:’ -rnk3 /root/tets/passwd 

*案例:多列排序

sort  -t “ . “    -rn    -k3    sort-20k.txt

sort  -t “ . “    -rn    -k3,3    -k4,4  sort-20k.txt

-rn  数字逆序排序

-k3,3 表示仅对第3列排序

-k4,4 表示仅对第4列排序

七、date日期显示

date 

设置查看系统日期,时间名

未来主要用于查看日期或修改日期

选项: 

%Y-%m-%d  #按年月日显示

%w  #星期

+%T  #显示当天的时间

%H:%M:%S  #显示时:分:秒

-d 根据参数具说明修改时间

-s 修改时间

案列演示

1)[root@localhost yum.repos.d]# date +%F

2025-06-19

2)

[root@localhost yum.repos.d]# date +%Y%m%d

20250619 

3)

[root@localhost yum.repos.d]# date +%F_%w

2025-06-19_4 

4)

[root@localhost yum.repos.d]# date +%T

07:27:31

5)

[root@localhost yum.repos.d]# date +%H:%M:%S

07:28:39

手动修改系统时间:date -s ‘20250619 19:30:30’