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)13-80-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 退出

相关推荐
深念Y8 分钟前
RIO-UL00(EMUI 4.1 / Android 6.0.1 / arm64)开机自启动 sshd
android·linux·华为·安卓·chroot·sshd·emui
Escalating_xu12 分钟前
【Linux线程】线程控制全解析:终止、join/detach、cancel、线程栈与 NPTL(下篇)
java·linux·运维
老当益壮梁奶奶26 分钟前
Linux软件编程学习笔记(二)Linux文件IO编程入门:从fopen到fgetc
linux·c语言·c++·笔记·学习
sunoo-22926 分钟前
C 语言文件 IO 全攻略:从基础函数到实战踩坑(BMP 读取 + 词典查询)
linux·c语言·前端·笔记·vscode·学习
白猫不黑30 分钟前
从运维到网络安全:转行优势、路径与薪资前景全解析
运维·网络·web安全·网络安全·信息安全·渗透测试
草莓熊Lotso42 分钟前
【Linux网络加餐】手动部署:SSH 与 Web 服务实战 + 底层原理全解析
linux·运维·网络·人工智能·python·langchain·ssh
CHHH_HHH1 小时前
【Linux系统篇】深入解析Linux文件系统:从磁盘寻址到软硬链接
linux·服务器·开发语言·后端·ubuntu
剑锋所指,所向披靡!1 小时前
TCP并发服务器
服务器·网络·tcp/ip
XiaQ09191 小时前
Linux 常用命令学习笔记(用户管理篇):用户、组与权限的钥匙
linux·开发语言·笔记·学习
刚入门的大一新生2 小时前
Linux-Linux的进程状态
linux·运维·服务器