您的位置:首页 > 运维架构 > Shell

bash基础特性:快捷键&通配符

2016-08-12 08:32 281 查看
bash基础特性:快捷键
ctrl+a:跳转至命令行行首
ctrl+e:跳转至命令行行尾
ctrl+c:取消命令的执行
ctrl+w: 移除光标前的一个单词
Ctrl+u:删除行首至光标所在处之间的所有字符
ctrl+k:删除光标所在处至行尾的所有字符
Ctrl+l:清屏,相当于clear
ctrl+s:锁定键盘
ctrl+q:解锁键盘

通配符:*,?,[],[^]
*:匹配任意长度的任意字符 pa*,*pa*,*pa,*p*a* pa,paa,passwd?:匹配任意单个字符 pa? pa,paa,passwd[]:匹配指定范围内的任意单个字符 [0-9] [a-z]:不区分字符大小写 [A-Z]:大写字母[^]:匹配指定范围外的任意单个字符 [^[:upper:]] [^0-9] [^[:alnum:]]
有几种特殊格式,常用。(外面中括号是范围匹配的) [a-z],[A-Z],[0-9],[a-z0-9] [[:upper:]]:任意大写字母A-Z [[:lower:]]:任意小写字母a-z [[:alpha:]]:任意大小写字母A-Z,a-z [[:digit:]]:任意数字,相当于0-9 [[:alnum:]]:任意数字或字母0-9,A-Z,a-z [[:space:]]:任何会产生空白的字符,包括空格键[Tab]CR等 [[:punct:]]:标点符号,即"'?!;:#$不常用的: [[:blank:]]:代表空格键与[Tab]键
[[:graph:]]:代表键盘上面的控制按键,即包括CR,LF,Tab,Del等 [[:graph:]]:除了空格符(空格键与[Tab]按键)外的其他所有按键
[[:xdigit:]]:代表十六进制的数字类型,因此包括0-9,A-F,a-f的数字与字符 练习:1:显示/var目录下所有以l开头,以一个小写字母结尾,且中间出现一位做任意字符的文件或目录;
[root@note1 ~]# ls -d /var/l?[[:lower:]]
/var/lib  /var/log
练习1:显示/var目录下所有以l开头,以一个小写字母结尾,且中间出现至少一位数字的文件或目录;
[root@node1 ~]# ls -d /var/l*[0-9]*[[:lower:]]
/var/l86c
练习2:显示/etc目录下,以任意一位数字开头,且以非数字结尾的文件或目录
[root@note1 ~]# touch /etc/6abcd8948x
[root@note1 ~]# ls -d /etc/[0-9]*[^0-9]
/etc/6abcd8948x
练习3:显示/etc目录下,以非字母开头,后面跟一个字母及其它任意字符的文件或目录
[root@note1 ~]# touch /etc/8eabc
[root@node1 ~]# ls /etc/[^[:alpha:]][[:alpha:]]*
[root@note1 ~]# ls -d /etc/[^a-z][a-z]*
/etc/8eabc
练习4:复制/etc目录下,所有以m开头,以非数字结尾的文件或目录至/tmp/magedu.com目录
[root@note1 ~]# ls -d /etc/m*[^0-9]
/etc/machine-id                /etc/mke2fs.conf     /etc/mtab
/etc/magic                     /etc/modprobe.d      /etc/my.cnf
/etc/makedumpfile.conf.sample  /etc/modules-load.d  /etc/my.cnf.d
/etc/man_db.conf               /etc/motd
[root@note1 ~]# cp -r /etc/m*[^0-9] /tmp/magedu.com/
练习5:复制/etc目录下,所有以.d结尾的文件或目录至/tmp/magedu.com目录中
[root@node1 ~]# ls -d /etc/*.p        #.d结尾的文件太多了,改成.p结尾的文件
/etc/123.p
[root@node1 ~]# cp -a /etc/*.p /tmp/magedu.com/
5:复制/usr/share/man目录下,所有以man开头,后跟一个数字结尾的文件或目录至/tmp/man/目录下
[root@note1 ~]# ls -d /usr/share/man/man[0-9]
/usr/share/man/man1  /usr/share/man/man4  /usr/share/man/man7
/usr/share/man/man2  /usr/share/man/man5  /usr/share/man/man8
/usr/share/man/man3  /usr/share/man/man6  /usr/share/man/man9
[root@note1 ~]# cp -r /usr/share/man/man[0-9] /tmp/man/
练习6:复制/etc目录下,所有以.conf结尾,且以m,n,r,p开头的文件或目录至/tmp/conf.d/目录下
[root@note1 ~]# ls -d /etc/[mnrp]*.conf
/etc/man_db.conf  /etc/nsswitch.conf  /etc/rsyslog.conf
/etc/mke2fs.conf  /etc/resolv.conf
[root@note1 ~]# cp -r /etc/[mnrp]*.conf /tmp/conf.d/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息