『无欲则无求』Linux常用命令 — 30、通配符or正则表达式or别名or常用快捷键

1、Linux中通配符与正则表达式区别

(1)通配符:

用于匹配文件名,是完全匹配。下面举例说明:

  • ?:匹配一个任意字符。
  • *:匹配0个或任意多个任意字符,也就是可以匹配任何内容。
  • []:匹配中括号中任意一个字符。例如,[abc]代表一定匹配一个字符,或者是a,或者是b,或者是c。
  • [-]:匹配中括号中任意一个字符,-代表一个范围。例如,[a-z]代表匹配一个小写字母。
  • [^]:逻辑非,表示匹配不是中括号内的一个字符。例如,[^0-9]代表匹配一个不是数字的字符。
# 通过通配符查找文件
[root@localhost ~ ] # find . -name "abc*"
./abcd
./abc

[root@localhost ~ ]# find . -name "a?c"
./acc
./abc

其他同理

提示:只要是操作文件名或者目录名的命令都可以是用通配符。如rm命令。

(2)正则表达式:

用于匹配字符串,是包含匹配。下面简单举例:

  • ?:匹配前一个字符重复0次,或1次(?是扩展正则,需要使用egrep命令。注shell分为标准正则和扩展正则。)。
  • *:匹配前一个字符重复0次,或任意多次。
  • []:匹配中括号中任意一个字符。例如,[abc]代表一定匹配一个字符,或者是a,或者是b,或者是c。
  • [-]:匹配中括号中任意一个字符,-代表一个范围。例如,[a-z]代表匹配一个小写字母。
  • [^]:逻辑非,表示匹配不是中括号内的一个字符。例如,[^0-9]代表匹配一个不是数字的字符。
  • ^:匹配行首(限位符)。
  • $:匹配行尾(限位符)。

其中主要是是?和*,在通配符和正则表达式的不同。

关于*注意:
[root@localhost ~ ] # grep "a*" abc
向上面命令中,单写一个字母+*是没有任何意义的。结果会显示文件中所有内容,包括空白行。
因为*是匹配前一个字符重复0次,或任意多次。0次代表什么都没有,也就是没有条件的筛选,所以就显示文件汇总所有的内容。

[root@localhost ~ ] # grep "aa*" abc命令,则表示查找文件中包含有小写字母a的行。和开头无关,正则是含有匹配,包含就会被列出。

如果想要在正则当中去匹配开头的内容,就需要使用限位符。如下:

[root@localhost ~]  # grep "^a" abc
abc
abc 123
abc123abc

[root@localhost ~]  # grep "^aa*" abc 和上面查询结果也一样。

小练习:

[root@localhost ~]# egrep"aaa?" abc
123aaaaabc
123aabc
上面证明是包含匹配

[root@localhost ~j# egrep "3aaa?b"abc
123aabc
[root@localhost ]#
如果只想要搜索两个a的字符串,就需要使用限位符,其中的3和b都属于限位符。
限位符是包括自己与其他字符串不匹配的任何字符的统称。

2、Linux别名命令

(别名也是shell中的命令。)

命令的别名,就是命令的小名,主要是用于照顾管理员使用习惯的。

命令格式:

#查询系统中命令别名
[root@localhost ~ ] # alias

#设定命令别名
[root@localhost ~ ] # alias 别名=’原命令’

例如:
#用ser别名,替代service network restart命令
[root@localhost ~ ] # alias ser = 'service network restart'

提示:

  • 1.别名的优先级是高于系统命令的。
  • 2.如果定义的别名和系统命令重叠了,该命令则不能执行了,只能执行别名所代替的命令了。所以在定义别名的时候,最好不要用系统命令。
  • 3.怎么确定你定义的别名是否是系统命令,你就直接敲一下你定义的别名或这whereis + 别名,看看有没有找到,如果没有找到了,说明不是一个系统命令。

注意:用命令定义的别名,是临时生效的,要想永久生效,需要写入环境变量配置文件~/.bashrc。
这是说的第二个环境变量配置文件。注意的是,放在自己家目录中的环境变量配置文件只对自己有效。

3、Linux中常用快捷键

  • Tab键:命令或文件补全
  • ctrl+A:把光标移动到命令行开头。如果我们输入的命令过长,想要把光标移动到命令行开头时使用。
  • ctrl+E:把光标移动到命令行结尾。
  • ctrl+C:强制终止当前的命令。
  • ctrl+L:清屏,相当于clear命令。
  • ctrl+U:删除或剪切光标之前的命令。我输入了一行很长的命令,不用使用退格键一个一个字符的删除,使用这个快捷键会更加方便。
  • ctrl+Y:粘贴ctrl+U剪切的内容。

(小写即可。)
这些都是Linux系统的快捷键,每个远程客户端都支持。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值