- 作者简介:一名在校云计算网络运维学生、每天分享网络运维的学习经验、和学习笔记。
- 座右铭:低头赶路,敬事如仪
- 个人主页:网络豆的主页
目录
前言
简介
本章重点
一.检查文本内容
编辑
1.cat命令——显示并连接(Concatenate)文件的内容
2.more和less命令——分页查看文件内容
3.head和tail命令——查看文件开头或末尾的部分内容
二.统计和检索文件内容
1.wc命令—统计文件内容中的单词数量(Word Count)行数等信息
2.grep命令——检索、过滤文件内容
前言
本章将会讲解Linux中的目录和文件管理
简介
在之前的文章中,学习了Linux命令的格式,以及目录和文件管理的基本命令操作,本章将进一步学习管理目录和文件的高级操作,主要包括查看和检索文件内容,备份和恢复文档,以及使用vi文本编辑器创建或修改文本文件。
本章重点
- 文件内容的查看及检索
- 压缩归档文件的制作与释放
一.检查文本内容
对于一个文本格式的配置文件,可以利用不同的查看方式来获知文件内容,如直接显示整个文件内容,分页查看文件内容,或者只查看文件开头或末尾的部分内容,在Linux操作系统中,分别由不同的命令来实现这些操作。
1.cat命令——显示并连接(Concatenate)文件的内容
cat命令本来用于连接(Concatenate)多个文件的内容,但在实际使用中更多地用于查看文件内容.cat命令是应用最为广泛的文件内容查看命令,使用该命令时,只需要把要查看的文件路径作为参数即可 。
例如:以下操作就可以查看/etc/sysconfig/network-scripts/ifcfg-ens33 配置文件中的内容,并了解第一块以太网卡的配置信息。
[root@localhost -]# cat /etc/sysconfig/network-scripts/ifcfg-ana33
如果需要同时查看多个文件的内容,可以添加多个文件路径作为查看对象。例如,以下操作将依次显示/eto/redhat-release,/proc/version文件的内容,前者记录了 CnetOS系统的发行版本信息。后者记录了系统内核及开发环境,时间等信息。
[root@localhost -]# cat /etc/redhat-release /proc/veraion
2.more和less命令——分页查看文件内容
使用cat 命令可以非常简单地直接显示整个文件的内容,但是当文件中的内容较多时,很可能只能看到最后一部分信息,文件前面的大部分内容都来不及看到。而more和less命令通过采用全屏的方式分页显示文件,便于我们从头到尾仔细地阅读文件内容。
more 命令是较早出现的分页显示命令,表示文件内容还有更多(more)的意思,less命令是较晚出现的分页显示命令,提供了比早期more命令更多的一些扩展功能。两个命令的用法基本相同。
使用more命令查看超过一屏的文件内容时,将进行分屏显示,并在左下角显示当前内容在整个文件中的百分比。在阅读界面中,可以按Enter键向下逐行滚动查看,按Space键可以向下翻一屏按b键向上翻一屏,按q键退出并返回原来的命令环境。
[root@localhoat -]# more /etc/httpd/conf/httpd.conf
more命令除了可以分屏查看文件内容以外,还可以结合管道符号|分屏查看执行命令时的输出息这在命令输出内容较多的情况下特别有用。例如,以下操作可以分页查看/etc/目录下扩展名为“conf”的配置文件。
[root@localhost -]# ls -lh /atc/*.conf | more
less命令使用方法与more命令基本类似,但是比more更好的是,less命令结合管道符号“|”分屏查看执行命令时输出的信息时,既可以向下翻页,也可以向上翻页,而more命令只能向下翻页,不能向上翻页。
3.head和tail命令——查看文件开头或末尾的部分内容
head和tail是一对作用相反的命令,前者用于显示文件开头的一部分内容,后者用于显示文件末尾的一部分内容。可以使用“-n”选项(n为具体的行数)指定需要显示多少行的内容,若不指定行数默认只显示十行。
执行“head一4/etc/passwd命令,可以查看用户账号文件/etc/passwd开头第一行至第四行的部分内容。
[root@localhost ~]# head -4 /etc/passwd
tail命令则正好相反,用于查看文件末尾的内容,tail命令通常用于查看系统日志(因为较新的日志记录总是添加到文件最后),以便观察网络访问,服务调试等相关信息,配合“-f”选项使用时,还可以跟踪文件尾部内容的动态更新,便于实时监控文件内容的变化。
例如,以下操作可以查看系统公共日志文件/var/log/messages的最后十行内容,并在末尾跟踪显示该文件中新记录的内容
(按Cul+C组合键终止)。
[root@localhost -]# tail -f /var/log/messages
二.统计和检索文件内容
在维护Linux操作系统的过程中,除了查看文件内容以外,有时还需要对文件内容进行统计,或者查找符合条件的文本内容。下面将学习统计和检索文件内容的两个命令工具。
1.wc命令—统计文件内容中的单词数量(Word Count)行数等信息
wc命令用于统计文件内容中包含的行数,单词数量,字节数等信息,使用文件名作为参数,可以同时统计多个文件,较常用的选项如下所述.
- -c:统计文件内容中的字节数.
- -1:统计文件内容中的行数.
- -w:统计文件内容中的单词个数《以空格或制表位作为分隔).
当文件的行数,单词数或字节数具有特定的意义时,使用 wc命令可以巧妙地获得一些特殊信息
例如:Linux操作系统中的用户账号数据保存在/etc/passwd文件中,其中每一行记录对应一个用户则以下操作可以统计出当前Linx操作系统中拥有的用户账号数量,具体操作如下:
[root@localhost -]# wo -1 /eto/passwd
若将wc命令与管道符号一起使用,还可以对命令输出结果进行统计,例如,若要统计/etc/目录下共包含多少个扩展名为”.conf”的文件,可以先通过“find/etc-name“*.conf*”命令找出符合条件的文件位置,由于fird命令的输出结果也是每行一个文件记录,因此只需结合管道符号执行“wc-I”操作即可得出符合条件的文件数量,具体操作如下。
[root@]ocalhont -]# find /etc name "*.conf" | wo -l
使用不带任何选项的wc命令时,默认将统计指定文件的字节数、行数、单词个数(相当于同时使用“-c”“-1”“-w”三个选项),例如,以下操作统计出/etc/hosts文件中共包含2行,10个单词、158字节的内容,然后通过‘cat/etc/hosts”命令列出文件内容,可核对统计结果是否正确。
[root@localhost -]# wo /etc/hosts
2.grep命令——检索、过滤文件内容
grep命令用于在文件中查找并显示包含指定字符串的行,可以直接指定关键字符串作为查找条件,也可以使用复杂的条件表达式(例如.““word”表示以word开头.“words”表示以word结尾,“s”表示空行),使用grep命令的基本格式如下:
grep [选项]...查找条件 目标文件
grep命令较常用到的几个选项如下。
- -i:查找内容时忽略大小写(lgnore Case)
- -v:反转查找(hnvert),即输出与查找条件不相符的行
例如:执行“grep“tp”/etc/passwd”命令,可以在账号文件/etc/passwd中查找包含“ftp”字符串的行,实际上输出了名为ftp的用户账号的信息,具体操作如下:
[root@localhost -]# grop "ftp" /etc/pasavd
在维护Linux操作系统的过程中,经常会遇到包含大量内容的配置文件,而其中往往包含了许多空行和以“#”开头的注释文字,当只需要分析其中的有效配置信息时,这些空行和注释文字的存在不利于快速浏览,使用grep命令可以过滤掉这些无关信息,例如.以下操作可以显示/etc/yum.conf文件中以“#”开头的行和空行以外的内容。