linux中的head命令(Linux运维学习笔记之常用命令)
linux中的head命令(Linux运维学习笔记之常用命令)-m 显示内容百分比,便于了解内容多少-N 显示行数,便于查看位置实例1:查看网卡配置文件,查看完后,如果对它进行修改,使用 vi/vim命令,具体用法翻看之前的章节[root@localhost network-scripts]# cat ifcfg-eth0 #查看网卡配置 DEVICE=eth0 TYPE=Ethernet UUID=a5cd9ea3-81fb-4b91-bc0f-eff0aefb7d5b ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=dhcp DEFROUTE=yes IPV4_FAILURE_FATAL=yes IPV6INIT=no NAME="System eth0" HWADDR=00:16:3E:31:0C:59 PEERDNS=yes PEERROUTES=yes LAST_CONNECT=143676
上节内容,我们一起了解了 cp/mv/rm 三个命令的操作后,今天我们再来讲一下我们日常工作当中需要使用到的功能,就是查看日志文件或是配置文件的内容
大家都知道,运维工作经常要做的就是做巡检,而巡检查看最多的就是各种日志文件。另外应用程序出错,查找原因也是要查看配置文件与日志文件。从中查找出问题所在。
在 liunx 中我们常用的命令就有
cat (concatenate)命令用于连接文件并打印到标准输出设备上。主要用于查看比较少内容的文件或需要改写的文件,比如查看配置文件或清除日志文件内容。
实例1:查看网卡配置文件,查看完后,如果对它进行修改,使用 vi/vim命令,具体用法翻看之前的章节
[root@localhost network-scripts]# cat ifcfg-eth0 #查看网卡配置
DEVICE=eth0
TYPE=Ethernet
UUID=a5cd9ea3-81fb-4b91-bc0f-eff0aefb7d5b
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
HWADDR=00:16:3E:31:0C:59
PEERDNS=yes
PEERROUTES=yes
LAST_CONNECT=1436767130
[root@localhost network-scripts]#
实例2:用于修改文件或清除文件内容
cat -n dest_file > source_file #dest_file 文件内容加上行数,并写入 source_file
cat -b d1_file d2_file > d3_file #d1与d2文件加上行数,然后再附加到 d3文件
cat /dev/null > /home/che/test.txt #清空 test.txt 内容
[root@localhost chenmz]# cat test.txt #查看 test文件内容
akljwrewerrwerwrsfdfsdf
sdfsdfsdfsfsdfsfsdf
rwewrwerwrwrwerwr
yutyutyututyu
iouiouiououiouioiuoiu
ljlkjkljkljljl
hkjkhjkhjkhjkhjk
ghgjghjgjghjgj
fghfgfhgfhfhfgh
[root@localhost chenmz]# cat -n test.txt > dest.txt #把 test文件的内容加上行数,并改名为 dest
[root@localhost chenmz]# cat dest.txt
1 akljwrewerrwerwrsfdfsdf
2 sdfsdfsdfsfsdfsfsdf
3 rwewrwerwrwrwerwr
4 yutyutyututyu
5 iouiouiououiouioiuoiu
6 ljlkjkljkljljl
7 hkjkhjkhjkhjkhjk
8 ghgjghjgjghjgj
9 fghfgfhgfhfhfgh
[root@localhost chenmz]# cat /dev/null > /home/chenmz/dest.txt #清空 dest内容
[root@localhost chenmz]# cat dest.txt #再使用cat 无内容可显示了。
[root@localhost chenmz]#
less (less)随意浏览文件,支持翻页和搜索,支持向上翻页和向下翻页.
less [参数] 文件
常用参数:
-N 显示行数,便于查看位置
-m 显示内容百分比,便于了解内容多少
-e 当文件显示结束后,自动离开
实例,加上参数后可以很清楚自己查看的内容
[root@localhost chenmz]# less -emN ctp.log
1 00:00:00 [CTPQuartzScheduler_Worker-2] INFO: AutoChangePhaseJob: - 完成进行中项目的自动切换项目阶段定时任务 耗时:26MS
2 00:00:00 [CTPQuartzScheduler_Worker-4] WARN: ConfigManagerImpl: - load data is null from db dataKey : cip_monitor^@log_period^@1
3 00:00:00 [CTPQuartzScheduler_Worker-4] WARN: ConfigManagerImpl: - load data is null from db dataKey : cip_monitor^@meaasge_period^@1
4 00:00:56 [开始定时执行任务] INFO: InsertDataTask: - 定时器开始
5 00:00:56 [开始定时执行任务] INFO: OA: - *********** 付款申请单 开始 ***********
6 00:00:56 [开始定时执行任务] INFO: InsertDataTask: - 付款申请单 结束
7 00:00:56 [开始定时执行任务] INFO: OA: - *********** 供应商 开始 ***********
8 00:00:56 [开始定时执行任务] INFO: InsertDataTask: - 供应商档案 结束
9 00:00:56 [开始定时执行任务] INFO: OA: - *********** 付款结算单 开始 ***********
10 00:00:56 [开始定时执行任务] INFO: InsertDataTask: - 付款结算单 结束
11 00:00:56 [开始定时执行任务] INFO: OA: - *********** 凭证集成 开始 ***********
12 00:00:56 [开始定时执行任务] INFO: InsertDataTask: - 凭证集成 结束
13 00:00:56 [开始定时执行任务] INFO: OA: - *********** 请购单 开始 ***********
14 00:00:56 [开始定时执行任务] INFO: InsertDataTask: - 采购申请单 结束
15 00:01:56 [开始定时执行任务] INFO: InsertDataTask: - 定时器开始
16 00:01:56 [开始定时执行任务] INFO: OA: - *********** 付款申请单 开始 ***********
17 00:01:56 [开始定时执行任务] INFO: InsertDataTask: - 付款申请单 结束
18 00:01:56 [开始定时执行任务] INFO: OA: - *********** 供应商 开始 ***********
19 00:01:56 [开始定时执行任务] INFO: InsertDataTask: - 供应商档案 结束
ctp.log 0%
然后,在这里可以直接使用通用的操作符,对文件进行操作
/字符串:向下搜索"字符串"的功能
?字符串:向上搜索"字符串"的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
b 向上翻一页
d 向后翻半页
h 显示帮助界面
Q 退出less 命令
u 向前滚动半页
y 向前滚动一行
空格键 滚动一页
回车键 滚动一行
[pagedown]: 向下翻动一页
[pageup]: 向上翻动一页
比如在这个界面下,使用/java 则会向下搜索带有 java 的内容,直接定位
1177 java.net.UnknownHostException: restapi.amap.com: 域名解析暂时失败
1178 at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) ~[?:1.8.0_212]
1179 at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:929) ~[?:1.8.0_212]
1180 at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1324) ~[?:1.8.0_212]
1181 at java.net.InetAddress.getAllByName0(InetAddress.java:1277) ~[?:1.8.0_212]
1182 at java.net.InetAddress.getAllByName(InetAddress.java:1193) ~[?:1.8.0_212]
1183 at java.net.InetAddress.getAllByName(InetAddress.java:1127) ~[?:1.8.0_212]
1184 at org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:45) ~[httpclient.jar:4.5.6]
1185 at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:112) ~[httpclient.jar 1185 :4.5.6]
1186 at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:373) ~[httpclient.jar:4 1186 .5.6]
1187 at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:394) ~[httpclient.jar:4.5.6]
1188 at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:237) ~[httpclient.jar:4.5.6]
1189 at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185) ~[httpclient.jar:4.5.6]
1190 at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89) ~[httpclient.jar:4.5.6]
1191 at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110) ~[httpclient.jar:4.5.6]
1192 at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185) ~[httpclient.jar:4.5.6]
1193 at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83) ~[httpclient.jar:4.5.6]
33%
more(more)以一页一页的形式显示,更方便使用者逐页阅读 更有搜索字符功能。
more 命令比 less 更好用,自带百分比功能,其它功能与 less 类似,这里就不再去做演示了,有兴趣的,自己去对比一下。有两个参数要重点说明一下
num 从第 num 行开始显示。比如 120(表示从第120行开始显示)
-s 多个空行不显示(用于有些文件很多空行,可以压缩显示空间)
more 120 ctp.log
more -s ctp.log
more 显示界面也是有操作符可以使用的
Enter 向下n行,需要定义。默认为1行
Ctrl F 向下滚动一屏
空格键 向下滚动一屏
Ctrl B 返回上一屏
= 输出当前行的行号
:f 输出文件名和当前行的行号
V 调用vi编辑器
!命令 调用Shell,并执行命令
q 退出more
tail(tail)查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。最为常用的一个命令,也是我最喜欢使用的一个命令,因为它可以直接查看正在不断变化的文件,比如说正在不断变化的 log 文件(比如应用的 log 文件)
实例
查看正在不断生成的 log文件
tail 命令默认是显示最后10行的数据,如果要显示更多,则需要加上参数-n 数字 使用
tail -n 50 ctp #显示最后50行的内容
tail -n -100 ctp #不显示前99行,从第100行起显示到结尾,等同 more 100 ctp
结合这四个命令,几乎我们可以对查看 log 文件或是配置文件都是很方便的哦,你学会了么?
其中常用度高到底的顺序为 tail>cat>more>less