bash中与美元符$连用的符号含义说明——($?/$0/$?/$!/$$/$*/$#/$@)
bash中与美元符$连用的符号含义说明——($?/$0/$?/$!/$$/$*/$#/$@)$?
$0
$?
$!
$$
$*
$
$@
正则表达式
正则表达式扩展应用
实验介绍事实上,基础的正则表达式已经足以满足大部分情况下的使用需求。不过有时候为了进一步简化命令操作,了解一些使用范围更广的扩展表达式会更加方便。本节实验将介绍扩展正则表达式的基本知识。
实验知识点
egrep 命令
扩展正则表达式
1、使用扩展正则表达式 egrep首先来看一条前面章节学习过的用来去除空白行和注释行的指令:
1grep -v '^$' regular_express.txt |grep -v '^#'
可见,通常的 grep 指令需要使用两次管线命令。 那么如果使用扩展正则表达式,则可以简化为:
1egrep -v '^$|^#' regular_express.txt
利用支持扩展正则表达式的 egrep 与特殊字符 “|” 的组功能来间隔两组字符串,如此一来,可以极大地化简指令。
此外,也可以使用 grep - E 来使用扩展正则表达式,不过一般更建议直接使用 egrep,grep -E 与 egrep 之间类似命令别名的关系。
2、扩展规则(一)回忆一下,在非扩展正则表达式中,我们 ...
N、Linux轻松一刻
一、火焰天冷的时候,要是有个火炉就好了。这里有个有趣的程序:
123$ sudo apt-get install libaa-bin# 提示 command not found ,请自行解决$ aafire
二、屏幕特效(cmatrix)123$ sudo apt-get update$ sudo apt-get install cmatrix$ camtris
三、图画轻松一下cowsay命令,可以让你在终端里以一种动物说话的形式打印出一段话。
1234567891011121314151617181920# 更新软件包$ sudo apt update# 安装$ sudo apt install -y cowsay# 默认是一只牛$ cowsay hello shiyanlou# 加上'-l'参数打印所有支持的动物(其实不只是动物)种类$ cowsay -l# 使用'-f'参数选择动物种类$ cowsay -f elephant hello shiyanlou# 安装 fortune-zh$ sudo apt-get install for ...
正则表达式
正则表达式正则表达式特殊符号首先是正则表达式的特殊符号:
123456789101112[:alnum:]代表英文大小写字母及数字[:alpha:]代表英文大小写字母[:blank:]代表空格和 tab 键[:cntrl:]键盘上的控制按键,如 CR,LF,TAB,DEL[:digit:]代表数字[:graph:]代表空白字符以外的其他[:lower:]小写字母[:print:]可以被打印出来的任何字符[:punct:]代表标点符号[:upper:]代表大写字母[:space:]任何会产生空白的字符如空格,tab,CR 等[:xdigit:]代表 16 进位的数字类型
特殊符号实例在 WebIDE 中使用 touch 命令或图形界面新建一个 .txt 文件并将下文中的文本内容复制进去。
1touch regular_express.txt
也可以使用 wget 指令从本节开头的实验环境说明处下载,这两种方式取得的文件是一样的。
文本内容为:
12345678910111213141516171819202122"Open Source" is a good mech ...
无题
实验介绍本节实验将介绍通过 grep 命令使用正则表达式。
知识点
grep 命令
字符组匹配
行首行尾符
任意和重复字符
限定连续字符范围
1、查找特定字符串参数说明:
-a :以 text 档案的方式搜寻 binary 档案数据
-c :计算找到 ‘搜寻字符串’ 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示没有 ‘搜寻字符串’ 内容的行
123grep -n 'the' regular_express.txtgrep -in 'the' regular_express.txt
反向查找,当该行没有字符串’the’时才显示在屏幕上。
1grep -vn 'the' regular_express.txt
2、字符组匹配[ ]可以用来查找字符组。 值得注意的是,无论[ ]中包含多少个字符,它都只代表一个字符。比如说,我们想要查找”tast”或者”test”这两个字符串,注意到二者的拼写大部分相同,都是 t?st 的形式,故此时可以使用[ ]进行查找:
1gre ...
九、数据流重定向
九、数据流重定向一、实验介绍1.1 实验内容你可能对重定向这个概念感到些许陌生,但你应该在前面的课程中多次见过>或>>操作了,并知道他们分别是将标准输出导向一个文件或追加到一个文件中。这其实就是重定向,将原本输出到标准输出的数据重定向到一个文件中,因为标准输出(/dev/stdout)本身也是一个文件,我们将命令输出导向另一个文件自然也是没有任何问题的。
1.2 实验知识点
重定向怎么用
文件描述符(0,1,2)
二、数据流重定向下面我们简单的回顾一下我们前面经常用到的两个重定向操作:
123$ echo 'hello shiyanlou' > redirect$ echo 'www.shiyanlou.com' >> redirect$ cat redirect
当然前面没有用到的<和<<操作也是没有问题的,如你理解的一样,它们的区别在于重定向的方向不一致而已,>表示是从左到右,<右到左。
2.1 简单的重定向在更多了解 Linux 的重定向之前,我们需要先知道一些基本的东 ...
八、简单的文本处理
tr|col|join|paste
五、Linux下的帮助命令
Linux下的帮助命令一、实验介绍1 实验内容我们时常使用 Linux 的命令,一些常用的命令即使不背我们也能记住,而一些较长的命令或是一些不常用的参数甚至是不常用的命令需要用时怎么也想不出来。本课程将带你好好利用 Linux 系统自带的帮助工具与文档。
1 实验知识点
内建命令与外部命令之分
help , man , info 命令的使用以及区别
二、内建命令与外部命令什么是内建命令,什么是外部命令呢?这和帮助命令又有什么关系呢?
因为有一些查看帮助的工具在内建命令与外建命令上是有区别对待的。
内建命令实际上是 shell 程序的一部分,其中包含的是一些比较简单的 Linux 系统命令,这些命令是写在 bash 源码的 builtins 里面的,由 shell 程序识别并在 shell 程序内部完成运行,通常在 Linux 系统加载运行时 shell 就被加载并驻留在系统内存中。而且解析内部命令 shell 不需要创建子进程,因此其执行速度比外部命令快。比如:history、cd、exit 等等。
外部命令是 Linux 系统中的实用程序部分,因为实用程序的功能通常都比较强大, ...