第16天 基础符号 正则符号

系统基础符号说明

在这里插入图片描述

基础符号系列

#的作用

注释的意思
在这里插入图片描述
命令提示符中,表示用户身份 --root管理员
在这里插入图片描述

$的作用

调取变量
在这里插入图片描述
命令提示符中,表示用户身份 --普通用户
在这里插入图片描述
读取文件中指定列的信息

|的作用

将管道符号前边命令输出的结果交给管道后面的命令进行处理
在这里插入图片描述

!的作用

取反操作
快速调取历史命令 !命令
练习: 用!从oldboy/oldboy01目录中, 将 01.txt 02.txt 文件找出来
在这里插入图片描述
history 查看历史命令记录
在这里插入图片描述
history -c 清除历史命令记录
history -w 将内存中保存历史记录永久保存到~/.bash_history文件中

引号符合系列

" "

将指定信息输出显示 可以将特殊的字符信息进行解析输出
在这里插入图片描述

’ ’

将指定信息输出显示 所见即所得
在这里插入图片描述
sed ‘s#$oldboy#olddog#g’ 文件信息

没有引号

和双引号功能是类似的 但是没有引号情况可以输出序列信息
在这里插入图片描述

反引号

将反引号中命令信息先执行,将执行后结果交给反引号外面的命令进行处理
cp /etc/hosts /etc/hosts_date +%F
在这里插入图片描述

路径符号系列

~代表当前系统用户家目录
在这里插入图片描述
.表示当前目录 或者 隐藏文件
在这里插入图片描述
…表示上级目录
在这里插入图片描述
-表示上一次所在目录
在这里插入图片描述

定向符号系列

1)> 标准输出重定向符合
在这里插入图片描述
2)>>标准输出追加重定向符合
在这里插入图片描述
3)<标准输入重定向符合
4)<<标准输入追加重定向符合
在这里插入图片描述
5)2>错误输出重定向符合
6)2>>错误输出追加重定向符合

逻辑符合系列

&&代表前一个事情成功完成了,再做下一件事情
在这里插入图片描述
||表示前一个事情出现失败了,在做下一件事 (shell脚本里用的多)
在这里插入图片描述

系统通配符号说明

匹配任意字符信息 *
在这里插入图片描述
{ }匹配序列信息
生产数字或者或者字母序列
在这里插入图片描述
生产组合序列信息
echo /oldboy/oldboy.txt{,.bak}
在这里插入图片描述
快速备份:
cp /oldboy/oldboy.txt /oldboy/oldboy.txt.bak --简化-- cp /oldboy/oldboy.txt{,.bak}
快速恢复:
cp /oldboy/oldboy.txt.bak /oldboy/oldboy.txt --简化-- cp /oldboy/oldboy.txt{.bak,}

      cp /oldboy/oldboy.txt.bak /oldboy/oldboy.txt

系统正则符号说明

基础正则符号:BRE

^ 匹配以什么开头的信息 ^XXX
在这里插入图片描述
$ 匹配以什么结尾的信息 XXX
在这里插入图片描述
^$ 匹配空行信息
在这里插入图片描述
练习:排错空行不显示
在这里插入图片描述
. 匹配任意一个且只有一个字符
在这里插入图片描述
在这里插入图片描述
练习:找出以m开头m结尾的行
在这里插入图片描述
grep sed awk 处理文件时,会按照每一行处理文件
*代表匹配星号前面的一个字符连续出现0次或多次的情况
在这里插入图片描述
.*表示任意所有内容
在这里插入图片描述
PS:
1)正则符号使用时,可以使用在一起结合使用
2)正则符号做匹配时,有贪婪的特性 解决贪婪就设定个节点
[ ] 匹配多个字符信息
在这里插入图片描述
[^]将匹 配多个字符进行取反
在这里插入图片描述
\ 转义符号
在这里插入图片描述
1)将有意义的字符变得没有意义
2)将没有意义的字符变得有意义
\n换行符 \t制表符 \r取下一个
3)让扩展正则可以变为基础正则???

扩展正则符号:ERE

通配符号和正则符号区别:

通配符号:匹配文件名称信息 基础命令时可以识别通配符号
正则符号:匹配文件内容信息 高级命令可以识别正则符号 (三剑客)

练习:
环境准备:
mkdir oldboy01 oldboy02 oldboy03
touch oldboy01.txt oldboy02.txt oldboy03.txt
01. 将普通文件名称是old开头, 文件大小小于100k找出来, 并移动到/tmp目录
cat /etc/services >>oldboy01.txt
find /oldboy -type f -name “old*” -size -100k | xargs mv -t /tmp

   02. 将普通文件名称是.txt结尾, 文件权限为600权限找出来, 并复制到/tmp目录中
       chmod  600 oldboy02.txt
	   find /oldboy -type f -name "*.txt" -perm 600 | xargs cp -t /tmp
	     
   03. 将普通文件名称是02.txt找出来, 但不包含oldboy02目录中的, 进行批量删除(至少三种方法)
       touch oldboy{01..03}/{01..03}.txt
	   find /oldboy  -type f -name "02.txt" ! -path "/oldboy/oldboy02/*" -delete
	   find /oldboy  -type f -name "02.txt" ! -path "/oldboy/oldboy02/*" -exec rm -f  {} \;
	   find /oldboy  -type f -name "02.txt" ! -path "/oldboy/oldboy02/*" | xargs rm
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值