十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
1、cat
创新互联建站是一家专业提供海西企业网站建设,专注与网站设计、成都网站制作、H5网站设计、小程序制作等业务。10年已为海西众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。
用于显示小文件的内容,或者在shell脚本里显示文件内容,不支持翻页。
[root@localhost ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Fri Jun 14 18:02:15 2019
可以显示/etc/fstab的内容,如果想显示行号,只要加上 cat -n参数即可
2、less
当文件比较大,cat查看时并不方便,因为cat不支持翻页,是一次性显示完的。
所以cat更适合在shell脚本中使用,让机器自动读取文件,而不适合人类来看。
所以当我们在看大文件时,一般会会用less命令
这个文件 /etc/man_db.conf有一百多行,我们用less来翻页查看
[root@localhost ~]# less /etc/man_db.conf
上下翻页,q键退出
3、head
如果只想看一个文件的前几行,可以用head,比如,当我们查看ip地址时,其实只关注前2行就足够了
[root@localhost ~]# ifconfig eth0
eth0: flags=4163UP,BROADCAST,RUNNING,MULTICAST mtu 1500
inet 172.20.10.3 netmask 255.255.255.240 broadcast 172.20.10.15
inet6 240e:c0:f4be:300:e64:6e3c:b445:efab prefixlen 64 scopeid 0x0global
inet6 fe80::b7ad:e2ed:832e:99a9 prefixlen 64 scopeid 0x20link
ether 00:0c:29:84:23:62 txqueuelen 1000 (Ethernet)
RX packets 1017 bytes 130078 (127.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 729 bytes 120983 (118.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
4、tail
和head相对,tail是只显示末尾几行,比如我们想查看一个文件的更新情况,只要看最后几行就可以了
[root@localhost ~]# tail -1 /etc/fstab
/dev/mapper/centos-swap swap swap defaults 0 0
[root@localhost ~]#
tail -数字,就是查看一个文件的最后几行
tail也可以自动监测文件的更新情况,如果有更新,立即在屏幕显示,使用tail -F参数,注意,使用大写-F
5、wc
可以查看一个文件有多少行,多少单词,多少字节
[root@localhost ~]# wc /etc/fstab
19 62 504 /etc/fstab
这个文件有19行,62个单词,504个字节 更多详细的介绍可查看“Linux命令大全”。
常用的7个Linux文件内容查看命令:
1.cat由第一行开始显示文件内容
用法:
cat-A 相当于-vET的整合选项,可列出一些特殊字符而不是空白;
cat-b 列出行号,仅针对非空白行做行号显示,空白行不标行号;
cat-E 将结尾的断行字节$显示出来;
cat-n 列印出行号,连同空白行也会有行号,与-b的选项不同;
cat-T 将[tab]按键以^I显示出来;
cat-v 列出一些看不出来的特殊字符;
2.tac 由最后一行开始显示文件内容
tac-b 在行前而非行尾添加分隔标志;
tac-r 将分隔标志视作正则表达式来解析;
tac-s 使用指定字符串代替换行作为分隔标志;
3.nl 显示行号
nl-b a 无论是否为空行,均列出行号;
nl-b t 空行不列出行号;
nl-n ln 行号在荧幕的最左方显示;
nl-n rn 行号在自己栏位的最右方显示,且不加0;
nl-n rz 行号在自己栏位的最右方显示,且加0;
nl-w 行号栏位的占用的位数;
4.more 一页一页的显示文件内容
在more程序运行过程中,可以按以下键:
空白键(space):代表向下翻一页;
Enter:代表向下翻『一行』;
/字串:代表在这个显示的内容当中,向下搜寻『字串』这个关键字;
:f:立刻显示出档名以及目前显示的行数;
q:代表立刻离开more,不再显示该文件内容。
b或[ctrl]-b:代表往回翻页,不过这动作只对文件有用,对管线无用。
5.less与more类似,但是比more更好的是,他可以往前翻页
less运行时可以输入的命令有:
空白键:向下翻动一页;
[pagedown]:向下翻动一页;
[pageup]:向上翻动一页;
/字串:向下搜寻『字串』的功能;
?字串:向上搜寻『字串』的功能;
n:重复前一个搜寻(与/或?有关!);
N:反向的重复前一个搜寻(与/或?有关!);
q:离开less这个程序;
6.head 显示前几行
语法:
head-n 后面接数字,代表显示行数;
7.tail 显示后几行
tail-n 后面接数字,代表显示行数;
tail-f 表示持续侦测后面所接的档名,要等到按下[ctrl]-c才会结束tail的侦测;
要想实现这样的功能必须自己写心跳程序,一般是用socket实现,并且两台服务都必须是双网卡才有意义。
首先,将两台服务直连。
其次,建立心跳程序服务端和客户端,分别安装在主备服务上,主服务器一直发alive信息给备服务器,一单收不到信息,【就停止主服务器】,备用服务器启动。
最后,发警告信息。
可以使用whoami.
具体参考如下:
命 令:whoami 或者 who am i
功能说明:显示用户名称。
语法:whoami [--help][--version]
补充说明:显示自身的用户名称,本指令相当于执行"id -un"指令。
whoami 命令显示登录名。与使用命令 who 并指定 am i
不同,whoami 命令在有 root 用户权限时也有效,因为它不检查 /etc/utmp 文件。
该命令只出现在windows系列中的
windows 2000中。
参数:
--help 在线帮助。
--version 显示版本信息。
附:whoami
与who am i 的区别
who这个命令重点是用来查看当前有哪些用户登录到了本台机器上。
who -m的作用和who am
i的作用是一样的。
who -q用来显示当前登录用户的个数。
who am i
显示的是实际用户的用户名,即用户登陆的时候的用户ID。此命令相当于who -m。
who am i显示的是“登录用户”的用户名。
用Linux的术语来解释就是:(实际用户=uid,即user id。有效用户=euid,即effective user id)
whoami 显示的是有效用户ID.
whoami显示的是当前“操作用户”的用户名。
先看看这三个命令的输出信息:
[jb51@jb51 ~]$ whoami
jb51
[jb51@jb51 ~]$ who am i
jb51
pts/3 2011-07-25 13:17 (:0.0)
[jb51@jb51 ~]$ who
jb51 :0 2011-07-25
09:54
jb51 pts/0 2011-07-25 09:55 (:0.0)
jb51 pts/1 2011-07-25 09:57
(:0.0)
jb51 pts/3 2011-07-25 13:17 (:0.0)
当我用sudo su(或者sudo su
-)更换到root用户之后,你再看看:
[jb51@jb51 ~]$ sudo su
[root@jb51 jb51]# whoami
root
[root@jb51 jb51]# who am i
jb51 pts/3 2011-07-25 13:17 (:0.0)
[root@jb51 jb51]# who
jb51 :0 2011-07-25 09:54
jb51 pts/0 2011-07-25
09:55 (:0.0)
jb51 pts/1 2011-07-25 09:57 (:0.0)
jb51 pts/3 2011-07-25
13:17 (:0.0)
# uname -a # 查看内核/操作系统/CPU信息
#cat /proc/version # 查看内核
# cat /etc/issue # 查看操作系统版本
# head -n 1 /etc/issue # 查看操作系统版本
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看计算机名
# lspci -tv # 列出所有PCI设备
# lsusb -tv # 列出所有USB设备
# lsmod # 列出加载的内核模块
# env # 查看环境变量资源
# free -m # 查看内存使用量和交换区使用量
# df -h # 查看各分区使用情况
这个很多 你具体要看那个
last
-a 把从何处登入系统的主机名称或ip地址,显示在最后一行。
-d 指定记录文件。指定记录文件。将IP地址转换成主机名称。
-f 记录文件 指定记录文件。
-n 显示列数或-显示列数 设置列出名单的显示列数。
-R 不显示登入系统的主机名称或IP地址。
-x 显示系统关机,重新开机,以及执行等级的改变等信息
以下看所有的重启、关机记录
last | grep reboot
last | grep shutdown
history
列出所有的历史记录:
[zzs@Linux] # history
只列出最近10条记录:
[zzs@linux] # history 10 (注,history和10中间有空格)
使用命令记录号码执行命令,执行历史清单中的第99条命令
[zzs@linux] #!99 (!和99中间没有空格)
重复执行上一个命令
[zzs@linux] #!!
执行最后一次以rpm开头的'命令(!? ?代表的是字符串,这个String可以随便输,Shell会从最后一条历史命令向前搜索,最先匹配的一条命令将会得到执行。)
[zzs@linux] #!rpm
逐屏列出所有的历史记录:
[zzs@linux]# history | more
立即清空history当前所有历史命令的记录
[zzs@linux] #history -c
cat, tail 和 watch
系统所有的日志都在 /var/log 下面自己看(具体用途可以自己查,附录列出一些常用的日志)
cat /var/log/syslog 等
cat /var/log/*.log
tail -f
如果日志在更新,如何实时查看 tail -f /var/log/messages
还可以使用 watch -d -n 1 cat /var/log/messages
-d表示高亮不同的地方,-n表示多少秒刷新一次。
该指令,不会直接返回命令行,而是实时打印日志文件中新增加的内容,
这一特性,对于查看日志是非常有效的。如果想终止输出,按 Ctrl+C 即可。
除此之外还有more, less ,dmesg|more,这里就不作一一列举了,因为命令太多了,关键看个人喜好和业务需求.个人常用的就是以上那些
linux日志文件说明
/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
/var/log/secure 与安全相关的日志信息
/var/log/maillog 与邮件相关的日志信息
/var/log/cron 与定时任务相关的日志信息
/var/log/spooler 与UUCP和news设备相关的日志信息
/var/log/boot.log 守护进程启动和停止相关的日志消息
/var/log/wtmp 该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件