Linux基本命令之正则表达式(转义字符)

一:查看二进制文件 strings

命令:strings 文件名

生成链接文件 ln

命令:ln 选项 源文件(f1) 链接文件(f2)

软连接:eg:ln  -s f1 f2

软链接不能跨分区链接,但可以在同一分区的不同目录下链接;f1与f2的inode不一样,若删除f1则f2损坏。

硬件链接:ln f1 f2

硬链接也不能跨分区,f1和f2的inode一样,f1删除f2不损坏。

-rw-r--r-- 1 root root,0 APr 12 02:11

 链接数在软链接中不会增加,在硬链接中会增加。

Ln-f 删除已存在的目的文件,只适用于软链接。

Eg:ln -sf  f2 删除f2文件。

df -h 查看文件系统使用状态

I 管道符号命令:前面命令产生的结果是后面命令的操作对象。

Eg: df  -h I tail -n 3

> 输出重定向

在/tmp目录下建立文件f1,f1中内容是666。

输入命令echo 1234 >f1 这时文件的内容只有1234.

往文件中写入内容会覆盖文件中以前的内容。

>>  输出重定向 f1中的内容是666

输入命令echo 1234 >>f1 这时文件的内容就变为666 1234.

不会覆盖以前文件的内容,会追加。

二:标准输出(正确信息stdout)  1       >覆盖         >>追加

标准错误输出(错误信息stderr) 2        2>覆盖         >>追加

标准输入(stdin)           0           <

(1)将标准输出显示的正确信息和标准错误输出显示的错误信息分开在不同文件中

①cat  f1  f2    >r   2>w   →自动创建r,w文件夹将两个文件分开保存。

②cat  f1  f2    >r   2>/dev/null(回收站)   →正确信息存在r中,错误信息存在回收站中。

(2)将标准输出显示的正确信息和标准错误输出显示的错误信息分开在同一文件中

①cat  f1  f2  >r  2>&1  →将f1,f2显示信息放在r中

②cat  f1  f2  >r  2>>r  →将f1放在r中,f2也追加到r中

③cat  f1  f2  &>r          →将f1,f2都放在r中

“      ”  (双引号)中的特殊符号保留其含义

‘      ’  (单引号)中的特殊符号当普通字符对待

`     `    (反引号)可执行命令

三、转义符

①双引号“”:保留“”符号内部的特殊符号的含义:

②单引号‘’:将符号内部的特殊字符转化为普通字符:

③反引号``:内部的可执行命令仍然执行:

④反斜杠\:将后面第一个特殊符号转化为普通字符:

四、正则表达式及相关命令

正则表达式:正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。

  以下列文件(1.txt)内容为例:

(1)^:匹配以a开头的行:

(2)$:匹配以c结尾的行:

(3)[]:匹配含有括号内字符的行:

(4)[0-9]:匹配含有数字的行:

(5)[a-zA-Z]:匹配含有字母的行:

(6)[^0-9]匹配数字之外的字符的行:

(7)^[^ab]:匹配不以ab字符开头的行:

(8)^$匹配空格所在的行:

(9)[1][3-8][0-9]\{9\}:匹配电话号码:

五、正则表达式

概念:用来在文件中匹配符合条件的字符串

  1. * 用来表示匹配前一个字符0次或者多次
  2. . 用来表示匹配任意单个字符
  3. .*相当于通配符中的* 表示匹配任意一个或者多个字符

Grep:匹配文件内容中含有某个关键字的行

(1)grep k* y 显示y中所有含有k的行

     

 (2)grep kmmm* y 显示y中带至少带k且带3个m的行

  

   (3)grep k. y显示所有含k和任意一个字符的行

   (4)grep k .* y 显示所有含k和一个或多个字符的行

    

(5)^word 匹配以某个字符串开头的行

(6)word$ 匹配以某个字符串结尾的行

 

7 ^ & 匹配一个空行

8 \ 转意符 可以让后面的特俗符号失去含义变成普通符

9 [^  ]与[  ]相反

10 ^[^  ] 不以[  ]内内容为开头的行

11 [  ]\{ n\}匹配[ ]中匹配n次

12  [  ]\{ n,m\}匹配[ ]中匹配最少n次最多m次

13 vim f1  编写文件内容     按esc : wq 退出

  • 32
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux命令中,正则表达式是一种强大的工具,用于在文本中进行模式匹配和搜索。正则表达式可以应用于各种命令(如grep、sed、awk等),以及编辑器(如vim)和服务器(如nginx)等。正则表达式由字母、数字和特殊符号组成,按照一定的规则来表达某种含义。 在Linux命令中,常见的正则表达式符号包括: 1. . (点号):匹配任意一个字符。 2. * (星号):匹配前一个字符的零个或多个出现。 3. + (加号):匹配前一个字符的一次或多次出现。 4. ? (问号):匹配前一个字符的零次或一次出现。 5. [] (方括号):用于定义字符集,匹配方括号中任意一个字符。 6. ^ (脱字符):匹配行的开始位置。 7. $ (美元符号):匹配行的结束位置。 8. \ (反斜杠):用于义特殊字符。 举个例子,如果你想在一个文件中查找所有以"hello"开头的行,你可以使用grep命令结合正则表达式进行匹配。命令如下: grep "^hello" filename 其中,^表示行的开始位置,"hello"表示要匹配的字符串。这个命令会输出所有以"hello"开头的行。 另外,正则表达式还支持更复杂的模式匹配,比如通配符、字符类、重复选项等。你可以根据具体的需求,结合正则表达式的语法规则,来构建适合你的匹配模式。 综上所述,正则表达式Linux命令中是一个非常有用的工具,可以帮助你快速准确地进行文本搜索和模式匹配。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值