0x01-4 RHEL linux 文本编辑常用命令

时间:2021-09-02 03:09:58
基本掌握了切换工作目录及对文件的管理方法。 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

感叹号是两个文件内容不相同的。