Day5--Linux.CentOS7学习笔记

本文介绍了Linux系统中查看文本文件的命令,如cat、less、more、head和tail,以及grep命令进行内容过滤。此外,还详细讲解了vim编辑器的三种模式:命令模式、输入模式和末行模式,以及如何使用vim创建和编辑文件。
摘要由CSDN通过智能技术生成

文本文件查看

在Linux中一切皆文件,说的就是Linux利用文本文件来保存系统所有的设置。

我们在Linux中想实现一个功能,不可避免的需要查看文本文件,修改文本文件。

cat

用于打开文本文件并显示出来

cat [选项]... [文件]...

选项

  • -n:由 1 开始对所有输出的行数编号

  • -b:和 -n 相似,只不过对于空白行不编号。

  • -s:当遇到有连续两行以上的空白行,就代换为一行的空白行。(不改变内容,方便查看)

  • -A:显示控制字符。(用于从其他格式文件复制代码时,检测不显示的特殊字符)

实例

查看anaconda-ks.cfg文件

[root@localhost ~]# cat anaconda-ks.cfg

查看anaconda-ks.cfg文件,并且显示行号

[root@localhost ~]# cat -n anaconda-ks.cfg

less

可以随意浏览文件,支持翻页和搜索,支持向上翻页和向下翻页

实例

[root@localhost ~]# less anaconda-ks.cfg

从阅读状态中退出(:q)

more

head

查看文件的开头部分的内容

head [选项]... [文件]...

参数

  • -q:隐藏文件名,默认是隐藏

  • -v:显示文件名

  • -c<数目>:显示的字节数。

  • -n<行数>:显示的行数。

实例

  • 查看文件的前6行

[root@localhost ~]# head -n 6 anaconda-ks.cfg

tail

会把文本文件里的最尾部的内容显示在屏幕上

tail [选项]... [文件]...

参数

  • -f:循环读取(在文件中的修改会同时显示在屏幕上)

  • -q:隐藏文件名,默认隐藏

  • -v:显示文件名

  • -c<数目>:显示的字节数

  • -n<行数>:显示文件的尾部 n 行内容

  • -s:与-f合用,表示在每次反复的间隔休眠S秒

实例

  • 查看文件anaconda-ks.cfg尾部的3行

[root@localhost ~]# tail -n 3 anaconda-ks.cfg
  • 查看日志的实时更新情况

[root@localhost ~]# tail -f /var/log/messages 
# ctrl+c退出
  • 查看文件anaconda-ks.cfg从第10行到结尾

[root@localhost ~]# tail -n +10 anaconda-ks.cfg

grep

针对文件内容进行过滤,本工具属于文本三剑客,后续会详细讲解,目前只要求初学者掌握最基本的实例即可\

-E, --extended-regexp PATTERN 是一个可扩展的正则表达式(缩写为 ERE) -F, --fixed-strings PATTERN 是一组由断行符分隔的定长字符串。 -G, --basic-regexp PATTERN 是一个基本正则表达式(缩写为 BRE) -P, --perl-regexp PATTERN 是一个 Perl 正则表达式 -e, --regexp=PATTERN 用 PATTERN 来进行匹配操作 -f, --file=FILE 从 FILE 中取得 PATTERN -i, --ignore-case 忽略大小写 -w, --word-regexp 强制 PATTERN 仅完全匹配字词 -x, --line-regexp 强制 PATTERN 仅完全匹配一行

实例

[root@xwz ~]# grep 'root' /etc/passwd
# 在/etc/passwd的文件中找出有root的行
[root@xwz ~]# grep '^root' /etc/passwd
# 在检索词前加^,可以在/etc/passwd中找出root开头的行
[root@xwz ~]# grep 'bash$' /etc/passwd
# 在检索词后加$,可以在/etc/passwd中找出bash结尾的行

文本文件编辑

在Linux中只掌握文本查看是远远不够的,我们还需要掌握编辑文本文件。

Linux上也有图形化的文本编辑器,类似于windows的记事本,但是很多时候我们只能用命令行来管理Linux操作系统,所以必须要掌握命令行的文本编辑器软件。

目前常见的命令行文本编辑器

  • nano:在debain系列的系统上会比较常见,但是其他的Linux发行版也都可以安装

  • vi:所有的 Unix Like 系统都会内建 vi 文本编辑器,其他的文本编辑器则不一定会存在。

  • vim:具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。

目前vim是使用的最多的,也是比较推荐的,下面就来讲一下vim

什么是 vim?

Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。

连 vim 的官方网站 (welcome home : vim online) 自己也说 vim 是一个程序开发工具而不是文字处理软件。

vim是一个纯命令行文本编辑器,很多文本编辑的功能都是通过键盘快捷键的方式完成,所以我们需要记住常用的键位,在vim官方网站上我们可以找到vim键盘图的完整版,不过对于初学者来说,我们只需要知道常用的就可以了。

 

vi/vim 的使用

基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和末行模式(Last line mode)。 这三种模式的作用分别是:

命令模式

用户刚刚启动 vi/vim,便进入了命令模式。

此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。

以下是常用的几个命令:

  • i切换到输入模式,以输入字符。

  • x删除当前光标所在处的字符。

  • :切换到末行模式,以在最底一行输入命令。

若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。

命令模式只有一些最基本的命令,因此仍要依靠末行模式输入更多命令。

输入模式

在命令模式下按下i就进入了输入模式。

在输入模式中,可以使用以下按键:

  • 字符按键以及Shift组合,输入字符

  • ENTER,回车键,换行

  • BACK SPACE,退格键,删除光标前一个字符

  • DEL,删除键,删除光标后一个字符

  • 方向键,在文本中移动光标

  • HOME/END,移动光标到行首/行尾

  • Page Up/Page Down,上/下翻页

  • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线

  • ESC,退出输入模式,切换到命令模式

末行模式

在命令模式下按下:(英文冒号)就进入了末行模式。

末行模式可以输入单个或多个字符的命令,可用的命令非常多。

在末行模式中,基本的命令有:

  • :q退出程序

  • :w保存文件

  • :wq保存并退出

  • :q 之后 按!强制退出不保存输入内容

按ESC键可随时退出末行模式。

简单的说,我们可以将这三个模式的关系用下图来表示

vi/vim使用实例

有些linux发行套件上并没有安装vim,我们可以安装一下,下面提供了centos的安装命令

[root@localhost ~]# yum -y install vim
# yum是在线安装软件的命令,后面会有详细的介绍,这边直接使用

vi和vim大部分的操作完全一模一样,所以会使用vim自然也会使用vi

编辑一个文档

直接输入vim 文件名就能够进入 vim 的一般模式了。请注意,记得 vim 后面一定要加文件名,不管该文件存在与否!

[root@localhost ~]# vim file.txt

输入这条命令之后,会看到如下画面

按下i进入输入模式(也称为编辑模式),开始编辑文字

在命令模式之中,只要按下i,o,a等字符就可以进入输入模式了!

在编辑模式当中,你可以发现在左下角状态栏中会出现--INSERT--的字样,那就是可以输入任意字符的提示。

这个时候,键盘上除了 Esc 这个按键之外,其他的按键都可以视作为一般的输入按钮了,所以你可以进行任何的编辑。

好了,假设我已经按照上面的样式给他编辑完毕了,那么应该要如何退出呢?是的!没错!就是给他按下 Esc 这个按钮即可!马上你就会发现画面左下角--INSERT--的不见了!

输入:wq后回车即可保存离开,注意其中的冒号必须是英文输入法下的冒号!

现在我们就成功创建了一个文件,查看文件的内容

[root@localhost ~]# ls -lh file.txt
[root@localhost ~]# cat file.txt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值