【转】 bash简介及通配符、扩展通配符 shopt -s extglob
http://www.rhce.cc/?p=1005
当我们执行一些命令的时候,很多的命令是由bash提供的。如果我们想知道某个命令是否是由bash内置的命令的话,我们可以使用type
bash内置命令:bash 通配符 扩展通配符 rhce
type
fc
alias
如果想让我们所做的别名继续生效的话,那么我们要写入到.bashrc bash 通配符 扩展通配符 rhce
有很多的shell内置的命令,如果我们想关闭某个命令的话,那么就可以使用
enable :用来开启或者关闭某个内置命令的功能
*和?
*匹配所有的、任意长度的字符(匹配不了隐藏文件)
ls * ---> 显示当前目录下面所有的 非隐藏文件
?: 匹配一个字符,是一个不是0个,也不是多个,只能匹配一个
[] :匹配一个字符,不是0个,也不是多个
数字:[0-9] -是到的意思
字母:[a-z] [A-Z] [a-zA-Z]
类:
[[:alnum:]]: 所有的字母和数字
[[:alpha:]] 代表英文大小写字母 a-z A-Z
[[:blank:]] 代表空格键与 [Tab] 按键两者
[[:digit:]] :表示数字 [0-9]
[[:space:]]
[[:lower:]]:表示小写字母的[a-z]
[[:upper:]] :表示大写字母[A-Z]
以上我们所做的这些都是bash给我们提供的一些功能。这些功能我们可以选择性的开启或者关闭
set -o
1. noclobber 现在是off的,就说明我们现在可以执行 覆盖(>)
set -o 功能
如果想关闭的话就是set +o 功能
set +o noclobber
关闭通配符功能: set -o noglob
关闭通配符:
shell选项可以改变shell的工作模式
shell options ==> shopt
删除的时候是删除不了隐藏文件的
*不会匹配隐藏文件
直接删除,是删除不了隐藏文件的,因为*根本不能匹配隐藏文件
现在想匹配:shopt来更改shell的属性
shopt -s 功能:启用某个功能
shopt -u 功能; 关闭某个功能
shopt -s dotglob
shopt -u dotglob
文件名的扩展:
在linux里表示硬盘使用的sdx(x的取值范围是a-z),如果说硬盘数量太多sdz,现在还有几块硬盘,如何表示?sdaa, sdab, sdac....sdaz, sdba, sdbb。
电脑里有很多的硬盘,我现在想对所有的硬盘来进行操作(不是对分区)。我如何表示所有的硬盘?
如果说sdx, sdxy?
sda[a-z]? ---> sdax 就不能把sda sdb匹配出来
sda? --> sdab sda2,又不想匹配分区所以sda2不能显示
如果想实现这种功能的话,我们可以使用扩展的通配符.
如果想显示多个多个字母的话:
shopt -s extglob; ls sd+([a-z])
要查找出来sd后面有多个字母的,这样就把sd后面有数字的那些全部排出了.
有了extglob,可以匹配更多的模式
?():括号里的值可以有0个或者1个
?的意思是后面括号里所表示的内容要出现1次或者0次
*():括号里的值可以是0个或者多个
+():括号里的值可以是1个或者多个
@():匹配括号里出现一次的情况
要把那些abc后面出现一次mp3或者txt的文件找出来。是一次,不能是多次
所以abc.txt.txt就没有匹配,因为它出现里两次txt。
!():与@()相反:课后题自己思考
shopt -p
*表示匹配所有的字符,但如果匹配某类之外其他所有的字符,可以是GLOBIGNORE
*匹配所有的,不管你是什么字符。
我现在不想匹配数字,也就是sda*,这个*要表示除了数字以外其他所有的字符
GLOBIGNORE=sda*[0-9]
*匹配的时候,要把GLOBIGNORE所代表的值给去除
【转】 bash简介及通配符、扩展通配符 shopt -s extglob的更多相关文章
- 【转】Linux 技巧: Bash 参数和参数扩展
重点看下清单7 现在,很多 Linux® 和 UNIX® 系统上都有 bash shell,它是 Linux 上常见的默认 shell.通过本文,您将了解到如何在 bash 脚本中处理参数和选项,以及 ...
- Bash中的数学扩展
Bash只支持整数运算,不支持浮点运算.如果需要进行浮点运算,需要使用bc程序.Bash中的数学扩展有两种形式:$[ expression ]或$(( expression )) 例子:$echo $ ...
- Java 泛型方法、泛型类、通配符、通配符上下限
泛型方法 泛型方法定义规则: 所有泛型方法声明都有一个类型参数声明部分(由尖括号分隔),该类型参数声明部分在方法返回类型之前. 每一个类型参数声明部分包含一个或多个类型参数,参数间用逗号隔开.一个泛型 ...
- bash基础——管道符、通配符
1.多命令顺序执行 多命令顺序执行 格式 作用 ; 命令1 ; 命令2 多个命令之间没有任何逻辑联系 && 命令1&&命令2 逻辑与 当命令1正确执行,则命令2才会执行 ...
- shell-3.bash的基本功能:通配符和其他特殊字符
1. 2.
- shell 编程 && bash 简介(shell 变量、shell操作环境、数据流重导向、管线命令、shell script)
如何学习一门编程语言 数据类型 运算符 关键字 1 认识BASH 这个shell linux是操作系统核心,用户通过shell与核心进行沟通,达到我们想要的目的.硬件.核心.用户之间的关系: 原理:所 ...
- Bash简介
Bash(GNU bourne-Again Shell)是一个为GNU计划编写的Unix shell,它是很多Linux平台默认的使用的shell. shell是一个命令解析器,是介于操作系统内核与用 ...
- Flask框架简介,常用扩展包及两大核心
Flask诞生于2010年,是Armin ronacher(人名)用 Python 语言基于 Werkzeug 工具箱编写的轻量级Web开发框架. Flask 本身相当于一个内核,其他几乎所有的功能都 ...
- bash简介1
bash脚本语言文件格式 第一行#!/bin/bash :定义bash脚本解释器 注释信息:# 代码注释: 缩进,适度添加空白行 bash中的变量介绍: 局部变量 本地变量 环境变量 位置参数 ...
随机推荐
- 团体程序设计天梯赛-练习集L2-006. 树的遍历
L2-006. 树的遍历 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历 ...
- 【技术贴】删除360快捷搜索 ctrl+ctrl
恶心的功能,这么变态!如何删除360快捷键ctrl,桌面跳出360搜索怎么办?360 ctrl 删除 卸载方法: 桌面右下角,在360图标上右键点击设置,进入设置中心. 把 [开启快捷搜索功能,双击C ...
- API断点大全
1.限制程序功能函数 EnableMenuItem 允许.禁止或变灰指定的菜单条目EnableWindow 允许或禁止鼠标和键盘控制指定窗口和条目(禁止时菜单变灰) 2.对话框函数 CreateDia ...
- <转>struts2中Convention中的basePackage与locators配置种种
用了Convention插件来实现所谓的0配置, 1. struts.convention.package.locators.basePackage=com.ZTest.web.action 这个属性 ...
- uva 10780
曾经做过一个类似的 求n!中有多少个质因子m 这里有一个结论 k = n/m+n/(m^2)+n/(m^3)+.... int getnum(int n, int m) { int sum = 0; ...
- Linux下去掉^M的方法
cat -A filename 就可以看到windows下的断元字符 ^M 要去除他,最简单用下面的命令: dos2unix filename 第二种方法: sed -i 's/^M//g ...
- scikit-learn安装
1.依赖包: Cython.rose.numpy.scipy.lapack.atlas http://blog.chinaunix.net/uid-22488454-id-3978860.html
- What is SuppressWarnings (“unchecked”) in Java?
ometime when looking through code, I see many methods specify an annotation: @SuppressWarnings(" ...
- 常用的富文本框插件FreeTextBox、CuteEditor、CKEditor、FCKEditor、TinyMCE、KindEditor ;和CKEditor实例
http://www.cnblogs.com/cxd4321/archive/2013/01/30/2883078.html 目前市面上用的比较多的富文本编辑器有: FreeTextBox 一个有很多 ...
- HeadFirst设计模式之工厂模式
一. 1."工厂模式"不是种真正的设计模式,而是一种编程术语 2.The Factory Method Pattern defi nes an interface for crea ...