看完这篇Linux基本的操作就会了 (4)

上面我们已经学过了cat、more、less、tail这些查看文本文件的命令了,但是我想快速查看这个文本文件下的某些关键字是否存在,那怎么办???

在Windows下就比较简单的,几乎所有的文本编辑器(记事本)都支持CTRL+F,往里面输入关键字就可查找出来:

看完这篇Linux基本的操作就会了

那在Linux下,没有图形界面,没有CTRL+F的情况下,如果不懂一些命令的话,那还真是难找对应的字符出来。下面我就来说说如何快速查找一个文本文件下的某些字符

3.3.1正则表达式

首先我们就来说说正则表达式,如果接触过的同学就知道:这玩意并不好记。一旦不用就很容易就忘记了,所以只能在用的时候查查了~~~所以下面我就直接给出一些规则了,不多说啦。

看完这篇Linux基本的操作就会了

看完这篇Linux基本的操作就会了

3.3.2grep命令

grep(global search regular expression)是一个强大的文本搜索工具。grep 使用正则表达式搜索文本,并把匹配的行打印出来。

格式:grep [options] PATTERN [FILE...]

PATTERN 是查找条件:可以是普通字符串、可以是正则表达式,通常用单引号将RE括起来。

FILE 是要查找的文件,可以是用空格间隔的多个文件,也可是使用Shell的通配符在多个文件中查找PATTERN,省略时表示在标准输入中查找。

grep命令不会对输入文件进行任何修改或影响,可以使用输出重定向将结果存为文件

例子:

在文件 myfile 中查找包含字符串 mystr的行

grep -n mystr myfile

显示 myfile 中第一个字符为字母的所有行

grep '^[a-zA-Z]' myfile

在文件 myfile 中查找首字符不是 # 的行(即过滤掉注释行

grep -v '^#' myfile

列出/etc目录(包括子目录)下所有文件内容中包含字符串“root”的文件名

grep -lr root /etc/*

用grep查找/etc/passwd文件中以a开头的行,要求显示行号;查找/etc/passwd文件中以login结束的行;

看完这篇Linux基本的操作就会了

3.4几种提高工作效率的方法

自动补全命令

TAB键

历史命令

上下箭头键

别名alias

这里感觉要说说的就只有别名alias了,我们下面看看例子就懂了!

显示shell当前已经定义的别名;执行其中的两个定义别名的命令;定义一个别名grep,要求其采用彩色方式显示结果

看完这篇Linux基本的操作就会了

看完这篇Linux基本的操作就会了

3.5Shell变量 和 Shell环境

在Windows下有用户的环境变量,系统的环境变量。在Linux一样也是有的。

看完这篇Linux基本的操作就会了

Shell 变量大致可以分为三类

内部变量:由系统提供,用户只能使用不能修改。

?

GROUPS

环境变量:这些变量决定了用户工作的环境,它们不需要用户去定义,可以直接在 shell 中使用,其中某些变量用户可以修改。

用户变量:由用户建立和修改,在 shell 脚本编写中会经常用到。

变量赋值(定义变量)

varName=Value

export varName=Value

引用变量$varName

Shell变量的作用域

局部变量的作用范围仅仅限制在其命令行所在的Shell或Shell脚本文件中

全局变量的作用范围则包括本Shell进程及其所有子进程

局部变量与全局变量互换:可以使用 export 内置命令将局部变量设置为全局变量。 可以使用 export 内置命令将全局变量设置为局部变量。

export命令

显示当前Shell可见的全局变量

export [-p]

定义变量值的同时声明为全局变量

export <变量名1=值1> [<变量名2=值2> ...]

声明已经赋值的某个(些)局部变量为全局变量

export <变量名1> [<变量名2> ...]

声明已经赋值的某个(些)全局变量为局部变量

export -n <变量名1> [<变量名2> ...]

Shell环境变量:

环境变量定义 Shell 的运行环境,保证 Shell 命令的正确执行。

Shell用环境变量来确定查找路径、注册目录、终端类型、终端名称、用户名等。

所有环境变量都是全局变量(即可以传递给 Shell 的子进程),并可以由用户重新设置。

看完这篇Linux基本的操作就会了

Shell变量:查询、显示和取消

显示当前已经定义的所有变量

所有环境变量:env

所有变量和函数(包括环境变量) :set

显示某(些)个变量的值

echo $NAME1 [$NAME2 ……]

取消变量的声明或赋值

unset <NAME>

3.5.1Shell变量 和 Shell环境练习题

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpwxff.html