Linux基础(4)

Linux常用命令

一、元字符、固化命令方式、grep命令、正则表达式、sed命令、awk命令其他常用命令、轻型分隔符
这里写图片描述
bash中的特殊字符,键盘上能敲出来的特殊字符都有其特殊意义,强调一点:元字符是被shell解释的

  • “ 命令替换 取命令的执行结果

[root@MiWiFi-R3-srv ~]# ls
4.txt anaconda-ks.cfg a.txt B.txt c.txt D.txt nginx-1.10.3 nginx-1.10.3.tar.gz
[root@MiWiFi-R3-srv ~]# res=ls #取命令的运行结果,赋值给变量res
[root@MiWiFi-R3-srv ~]# echo $res #查看变量res的值
4.txt anaconda-ks.cfg a.txt B.txt c.txt D.txt nginx-1.10.3 nginx-1.10.3.tar.gz

  • $()同上,但它弥补了“的嵌套缺陷
  • ~ 家目录

[root@MiWiFi-R3-srv tmp]# cd ~
[root@MiWiFi-R3-srv ~]# pwd
/root

  • ! 取非

[root@MiWiFi-R3-srv ~]# ls /dev/sda
sda sda1 sda2
[root@MiWiFi-R3-srv ~]# ls /dev/sda[0123]
/dev/sda1 /dev/sda2
[root@MiWiFi-R3-srv ~]# ls /dev/sda[!01]
/dev/sda2

  • ! 历史命令调用
  • ! 匹配最近一次历史命令

[root@MiWiFi-R3-srv ~]# !ls
ls /dev/sda[!01]
/dev/sda2

  • ! ls 带空格 将命令的返回值取反
  • @ 无特殊含义
  • # 注释
  • % 杀后台进程 jobs号; 取模
  • ^ 取非 和 ! 雷同
  • ^ 替换

[root@MiWiFi-R3-srv ~]# systemctl restart network
[root@MiWiFi-R3-srv ~]# ^network^sshd^
systemctl restart sshd

  • & 后台执行;&& 逻辑与
  • *匹配任意长度字符串;计算乘法
  • () 在子进程中执行
  • -减号;区间;cd -;
  • _ 无特殊含义
  • +加号 ;
  • = 赋值
  • | 管道; || 逻辑或
  • \ 转义;
  • {} 命令列表 #括号内的开头和结尾必须是空格
  • #{ ls; cd /; }
  • [] 字符通配,匹配括号内之一;
  • : 空命令 真值
  • ; 可以接多个命令:ls;pwd;echo 123;无论对错,会一直执行到最后一条命令
  • “” 软引 ”硬引
  • < 输入重定向
  • > 输出重定向
  • >> 追加
  • << here document
  • >& 合并2和1输出
  • , 枚举分隔符
  • . source ; 当前目录
  • / 目录分隔符
  • ? 单个字符
  • 回车 命令执行
  • *通配符:任意字符
  • ?通配符:任一字符
  • [abc] 列表项之一
  • [ ^abc ]对列表取非 也可以使用范围 [a-z] 代表aAbBcC…,[0-9]代表012345。。。
  • {}循环列表

[root@MiWiFi-R3-srv test]# touch {1..3}{a..d}.txt
[root@MiWiFi-R3-srv test]# ls
1a.txt 1b.txt 1c.txt 1d.txt 2a.txt 2b.txt 2c.txt 2d.txt 3a.txt 3b.txt 3c.txt 3d.txt

  • 控制变量名的范围 echo ${AB}C
  • 硬引用与软引用
    这里写图片描述
  • \转意

这里写图片描述
这里写图片描述
固化命令
这里写图片描述
其他命令补充
这里写图片描述

在linux中,通配符是由shell解释的,而正则表达式则是由命令解释的,下面我们就为大家介绍三种文本处理工具/命令:grep、sed、awk,它们三者均可以解释正则。

grep参数
-n :显示行号
-o :只显示匹配的内容
-q :静默模式,没有任何输出,得用$?来判断执行成功没有,即有没有过滤到想要的内容
-l :如果匹配成功,则只将文件名打印出来,失败则不打印,通常-rl一起用,grep -rl ‘root’ /etc
-A :如果匹配成功,则将匹配行及其后n行一起打印出来
-B :如果匹配成功,则将匹配行及其前n行一起打印出来
-C :如果匹配成功,则将匹配行及其前后n行一起打印出来
–color
-c :如果匹配成功,则将匹配到的行数打印出来
-E :等于egrep,扩展
-i :忽略大小写
-v :取反,不匹配
-w:匹配单词

这里写图片描述

sed语法
sed [options] ‘command’ in_file[s]
options 部分
-n
-e
-i
-f
command 部分
‘[ 地址1,地址2 ] [ 函数 ] [参数(标记)]’
定址的方法 1.数字 2.正则
数字
十进制数
1 单行
1,3 范围 从第一行到第三行
2,+4 匹配行后若干行
4,~3 从第四行到下一个3的倍数行
2~3 第二行起每间隔三行的行
$ 尾行
1! 除了第一行以外的行
正则
正则必须用//包裹起来
扩展正则需要用 -r 参数或转义
数字定址:sed -n ‘1p’ /etc/passwd
正则定址:sed -n ‘/^root/p’ /etc/passwd


扩展正则 加 -r 参数 或转义
sed -n ‘/roo\?/p’ /etc/passwd
sed -rn ‘/roo?/p’ /etc/passwd
? 前导字符零个或一个
+前导字符一个或多个
abc|def abc或def
a(bc|de)f abcf 或 adef
x{m} x出现m次
x{m,} x出现m次至多次(至少m次)
x{m,n} x出现m次至n次
这里写图片描述

awk用法:
这里写图片描述

这里写图片描述

这里写图片描述
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值