linux查看文件内容基本命令学习
linux查看文件内容基本命令学习
ZhangCurry一、查看日志不要使用,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
- 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
2
四、查询命令位置
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’



