二、(4)bash的基础特性之:alias命令及文件名通配

alias命令

在bash中,允许用户使用和创建命令的别名

  • 用法:
  1. 查看:可以使用alias命令来获取当前可用的命令别名:
    搜狗截图20180112121716
    如第一行:alias cp=’cp -i’,将cp -i命令定义别名为:cp
  2. 创建:上图中,alias所展示的也是创建别名的方法,即:alias NAME=’COMMAND’
    搜狗截图20180112122433
    注意:图中举例将ls -l命令创建别名为ls,此时原命令ls被隐藏,如果要运行原命令,则需使用\COMMAND
  3. 另外值得注意点是,此处定义的别名仅对当前shell进程有效
    搜狗截图20180112123802
  4. 撤销别名:unalias NAME
    搜狗截图20180112124307

文件名通配

当在使用命令行时,shell提供了一套完整的字符串模式匹配规则,或者称之为元字符
当shell遇到上述字符时,就会把它们当作特殊字符来处理,而非文件名中的普通字符。这样就可以用它们来匹配相应的文件名。

  • 用法:
  1. *:匹配任意长度的任意字符(可为0个)
  2. ?:匹配任意单个字符(不可为0个)
  3. []:匹配指定范围内的任意单个字符,以下是几种常用特殊格式:
    [a-z],[A-Z],[0-9],[a-z0-9],注意:匹配不区分大小写,下文将举例说明
    [[:upper:]]:所有大写字母
    [[:lower:]]:所有小写字母
    [[:alpha:]]:所有字母
    [[:alnum:]]:所有的字母和数字
    [[:punct:]]:所有标点符号
  4. [^]:匹配指定范围外的任意单个字符,如:
    [^0-9]
    [^[:upper:]]
    [^[:alnum:]]
  • 示例:
  1. 显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其他字符)的文件或目录:
    搜狗截图20180112193942
  2. 显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录:
    搜狗截图20180112194721
  3. 显示/etc目录下,以非字母开头,后面跟了一个字母以及其他任意长度任意字符的文件或目录:
    搜狗截图20180112200108
    值得注意点是,此处的[a-z][A-Z]的匹配效果不区分大小写,但会出现如下情况:
    搜狗截图20180112200421
    此处的[^A-Z]所表示的是除大写字母A到Z以外的任意字符,需要特别注意
  4. 复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中:
    搜狗截图20180112202928
  5. 复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中:
    搜狗截图20180112203310
  6. 复制/etc目录下所有以lmn开头,以.conf结尾的文件至/tmp/mytest3目录中:
    搜狗截图20180112203840

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/91065

(1)
ZSZS
上一篇 2018-01-12 16:12
下一篇 2018-01-12 22:19

相关推荐

  • Linux软件包管理及相关命令

    rpm命令,yum命令

    2018-03-12
  • 设计模式 ( 十九 ) 模板方法模式Template method(类行为型)

    设计模式 ( 十九 ) 模板方法模式Template method(类行为型) 1.概述 在面向对象开发过程中,通常我们会遇到这样的一个问题:我们知道一个算法所需的关键步骤,并确定了这些步骤的执行顺序。但是某些步骤的具体实现是未知的,或者说某些步骤的实现与具体的环境相关。例子1:银行业务办理流程在银行办理业务时,一般都包含几个基本固定步骤:取号排队->…

    Linux干货 2015-04-07
  • 交换分区创建和磁盘配额的使用

    一、交换分区的建立与启用:     交换分区是作为内存的一个辅助分区,在内存吃紧时,交换分区会作为内存的一部分使用,但是效率比起内存来说会很低下,在一个硬盘分区时最好使用柱面较小的柱面作为交换分区,因为在机械硬盘转速一定的情况下,越靠近外面的磁道,线速度越大,读取到的扇区越多,一定程度上有利于提高性能   &…

    Linux干货 2016-08-29
  • 马哥教育网络班22期-第3周博客作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@zck ~]# who | cut -d ' ' -f1 | sort -u roo root 2、取出最后登录到当前系统的用…

    Linux干货 2016-08-30
  • LAMP基于RPM包实现(httpd与php以fastcgi方式结合) 2

    概述:     承接上篇,本篇为介绍下利用rpm包,实现LAMP组合,其中httpd和php的结合方式为fastcgi,也就是php运行为独立的服务,监听的某个套接字上,接受请求,提供服务     包括LAMP安装过程(http、php-fpm、mysql-server、php-…

    Linux干货 2016-10-15
  • 马哥教育网络班21期第6周作业

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; %s/^[[:space:]]\+/#& 2、复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符; %s/^[[:space:]]\+/ …

    Linux干货 2016-12-05