Linux常用命令

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

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

[[email protected] ~]# ls
4.txt anaconda-ks.cfg a.txt B.txt c.txt D.txt nginx-1.10.3 nginx-1.10.3.tar.gz
[[email protected] ~]# res=ls #取命令的运行结果,赋值给变量res
[[email protected] ~]# 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

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

[[email protected] tmp]# cd ~
[[email protected] ~]# pwd
/root

  • ! 取非

[[email protected] ~]# ls /dev/sda
sda sda1 sda2
[[email protected] ~]# ls /dev/sda[0123]
/dev/sda1 /dev/sda2
[[email protected] ~]# ls /dev/sda[!01]
/dev/sda2

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

[[email protected] ~]# !ls
ls /dev/sda[!01]
/dev/sda2

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

[[email protected] ~]# systemctl restart network
[[email protected] ~]# ^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。。。
  • {}循环列表

[[email protected] test]# touch {1..3}{a..d}.txt
[[email protected] 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基础(4)
  • \转意

Linux基础(4)
Linux基础(4)
固化命令
Linux基础(4)
其他命令补充
Linux基础(4)

在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:匹配单词

Linux基础(4)

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次
Linux基础(4)

awk用法:
Linux基础(4)

Linux基础(4)

Linux基础(4)
Linux基础(4)

相关文章:

  • 2021-07-08
  • 2021-12-13
  • 2021-07-22
  • 2021-08-30
  • 2021-12-08
  • 2021-04-10
  • 2021-12-20
猜你喜欢
  • 2021-06-28
  • 2021-08-25
  • 2022-12-23
  • 2021-05-11
  • 2021-08-26
  • 2021-09-01
相关资源
相似解决方案