基本掌握了切换工作目录及对文件的管理方法。
Linux系统中“一切都是文件”,而对服务程序进行配置自然也就是编辑程序的配置文件。如果不能熟练地查阅系统或服务的配置文件,那以后工作时可就真的要尴尬了。本节将讲解几条用于查看文本文件内容的命令。
1.cat命令
cat命令用于查看纯文本文件(
内容较少的,cat猫-小巧的)
格式:“cat [选项] [文件]”。
-n 显示行号
[root@pantao RHEL]# cat a.txt aaaaaaaaaaaaaaaa
2.more命令
more命令用于查看纯文本文件(
内容较多的)
格式:“more [选项]文件”。
3.head命令
head命令用于查看纯文本文档的前N行
格式:“head [选项] [文件]”。
[root@pantao ~]# tail -n 4 test2.sh echo "$1 is On-line" else echo "$1 is not On-line"
4.tail命令
tail命令用于查看纯文本文档的后N行或持
续刷新内容
格式:“tail [选项] [文件]”。
我们可能还会遇到另外一种情况,比如需要查看文本内容的最后20行,这时就需要用到tail命令了。tail命令的操作方法与head命令非常相似,只需要执行“tail -n 20 文件名”命令就可以达到这样的效果。tail命令最强悍的功能是可以持续刷新一个文件的内容,当想要实时查看最新日志文件时,这特别有用,此时的命令格式为“tail -f 文件名”:
[root@pantao ~]# tail -f /var/log/messages //是系统日志
Nov 11 19:10:01 pantao systemd: Started Session 13359 of user root.
Nov 11 19:10:01 pantao systemd: Starting Session 13359 of user root.
Nov 11 19:20:01 pantao systemd: Started Session 13360 of user root.
Nov 11 19:20:01 pantao systemd: Starting Session 13360 of user root.
5.tr命令
tr命令用于替换文本文件中的字符,格式为“tr [原始字符] [目标字符]”。
在很多时候,我们想要快速地替换文本中的一些词汇,又或者把整个文本内容都进行替换,如果进行手工替换,难免工作量太大,尤其是需要处理大批量的内容时,进行手工替换更是不现实。这时,就可以先使用cat命令读取待处理的文本,然后通过管道符(详见第3章)把这些文本内容传递给tr命令进行替换操作即可。例如,把某个文本内容中的英文全部替换为大写:
[root@linuxprobe ~]# cat anaconda-ks.cfg | tr [a-z] [A-Z]
6.wc命令
wc命令用于统计指定文本的行数、字数、字节数,
格式“wc [参数] 文本”。
wc的参数以及作用
参数
|
作用
|
-l
|
只显示行数
|
-w
|
只显示单词数
|
-c
|
只显示字节数
|
在Linux系统中,passwd是用于保存系统账户信息的文件,要统计当前系统中有多少个用户,可以使用下面的命令来进行查询,是不是很神奇:
[root@pantao ~]# wc -l wp-config.php 97 wp-config.php [root@pantao ~]# wc -w wp-config.php 202 wp-config.php [root@pantao ~]# wc -c wp-config.php 2913 wp-config.php [root@pantao ~]# wc -lwc wp-config.php 97 202 2913 wp-config.php [root@pantao ~]#
7.stat命令
stat命令用于查看文件的具体存储信息和时间等信息
格式:“stat 文件名称”。
8.cut命令
cut命令用于按“列”提取文本字符,格式为“cut [参数] 文本”。
在Linux系统中,如何准确地提取出最想要的数据,这也是我们应该重点学习的内容。一般而言,按基于“行”的方式来提取数据是比较简单的,只需要设置好要搜索的关键词即可。但是如果按列搜索,不仅要使用-f参数来设置需要看的列数,还需要使用-d参数来设置间隔符号。passwd在保存用户数据信息时,用户信息的每一项值之间是采用冒号来间隔的,接下来我们使用下述命令尝试提取出passwd文件中的用户名信息,即提取以冒号(:)为间隔符号的第一列内容:
[root@pantao ~]# head -n 2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
[root@pantao ~]# cut -d: -f1 /etc/passwd //-d指定用什么为间隔,-f 指定第几列
root
bin
daemon
adm
lp
sync
9.diff命令
diff命令用于比较多个文本文件的差异
格式:“diff [参数] 文件”。
在使用diff命令时,不仅可以使用
--brief参数来确认两个文件是否不同
[root@pantao RHEL]# diff --brief a.txt b.txt Files a.txt and b.txt differ
还可以使用
-c参数来详细比较出多个文件的差异之处,这绝对是判断文件是否被篡改的有力神器。
例如,先使用cat命令分别查看a.txt和b.txt文件的内容,然后进行比较
[root@pantao RHEL]# diff -c a.txt b.txt *** a.txt 2018-11-11 20:15:01.802309392 +0800 --- b.txt 2018-11-11 20:15:19.336821680 +0800 *************** *** 1,7 **** ! aaaaaaaaaaaaaaa ! dddddddddddddsfadf ! ! asdfafdad ! adfadfafaf ! adfafdafddas ! adfafadfadfasda --- 1,6 ---- ! aaaaaaaaaaaaaaaa ! sdfadfafa ! adfafadfad ! adfafadfadf ! adfafadfad ! adfafadsf
感叹号是两个文件内容不相同的。