bash基础特性(2)

bash基础特性(2):

         1.命名别名(alias)

                   通过alias命令实现:

                            (1):alias

                                     显示当前shell进程中所有可用的命令别名:

                            (2):aliasNAME=’VALUE’

                                     定义别名NAME,期相当于执行命令VALUES。

                            注意:在命令行中定义的别名,仅对于当前shell进程有效,如果想要永久有效,要定义在配置文件中。

                                     仅对当前用户有效:./bashrc

                                     对所有用户有效:/etc/bashrc

                                     bash进程重新读取配置文件:

扫描二维码关注公众号,回复: 355567 查看本文章

                                               source/path/to/config_file,如source /etc/bashrc

                                               .  / path/to/config_file

                    撤销别名 unalias

                        unalias [-a] name [name…]

                    如果别名同原命令名称,则如果要执行原命令,可使用“\command”

3.  glob(globbing):

bash中用于实现文件名“通配”

通配符:*,?,[ ]

           (1):*

                    任意长度的任意字符

                             a*b:aab,ab,a123b

            (2):?

                 任意单个字符

                   a?b:

                            aab

            (3):[]

                 匹配任意指定范围内的任意单个字符

                   [0-9]:数字中的一个

                   [a-z]:a-z中的一个,不区分大小写

                   [A-Z]:大写字母

           (4):[^]:匹配指定范围外的任意单个字符

                    专用字符集合:

                             [:digit:]:任意数字,相当于[0-9]

                                     [:lower:]:相当于小写字母

                                     [:upper:]:任意大写字母

                                     [:alpha:]:任意大小写字母

                                     [:alnum:]:任意数字或字母

                                     [:space:]:空格

                                     [:punct:]:标点符号

          练习:

                1.      显示/var目录下所有以l开头,以一个小写字母结尾,且中间出现至少出现一位数字的文件或者目录。

                    #ls  -d/var/l*[0-9]*[[:lower:]]

                2.      显示/etc目录下,以任意一位数字开头,且以非数字结尾的文件或目录。

                    #ls /etc/[0-9]*[^0-9]

                3      显示/etc目录下,以非字母开头,后面跟了一个字母及其他任意字符的文件或目录

                                     #ls/etc/[^[:appha:]][[:alpha:]]

                4      复制/etc目录下,所有以m开头,以非数字结尾的文件或目录至/tmp/magedu目录中。

                                     #cp –a /etc/m*[^0-9]  /tmp/magedu

                5      复制/etc目录下,所有以.的结尾的文件或目录至/tmp/magedu.com目录中。

                                     #cp–a /etc/*.d  /tmp/magedu.com

                6      复制/etc目录下,所有以.conf结尾,且以m,n,r,p开头的文件或目录至/tmp/magedu.com目录中。

                            #cp –a/etc/[mnrp]*.conf  /tmp/magedu.com

3.bash的快捷键:

                   ctrl+l:清屏,相当于clear命令。

                   ctrl+a:跳转至命令开始处。

                   ctrl+e:跳转至命令结尾处。

                   ctrl+c:取消命令执行。

ctrl+u:删除u命令行首至光标所在处的所有内容。

ctrl+k:删除光标所在处至命令行尾部的所有内容。

                   ctrl+d:退出。

3.bash的I/O重定向及管道

                   程序:指令+数据

                            读入数据

                            输出数据

猜你喜欢

转载自blog.csdn.net/matengbing/article/details/80239005