文件通配符
* 匹配零个或多个字符
? 匹配任何单个字符
~ 当前用户家目录
~mage 用户mage家目录
~+ 当前工作目录
~- 前一个工作目录
[0-9] 匹配数字范围
[a-z]:字母(或的关系)就是表示中括号中的某一个字符
[A-Z]:字母
[a-c]:a A b B c
[A-C]:A b B c C,也就是[]在里面匹配字母时是以aAbB...这样排序的
[wang] 匹配列表中的任何的一个字符
[^wang] 匹配列表中的所有字符以外的字符
{}花括号用来匹配一组用逗号分隔的字符串中的任一个。
左花括号之前的所有字符称为前文(preamble),右花括号之后的所有字符称为后文(preamble)。
前文和后文都是可选的。花括号中不能包含不加引号的空白符
预定义的字符类:man 7 glob(通配符)
[:digit:]:任意数字,相当于0-9
[:lower:]:任意小写字母[:lower:] 这个只相当于a-z,表示的时候必须要在加上中括号
[:upper:]: 任意大写字母
[:alpha:]: 任意大小写字母
[:alnum:]:任意数字或字母
[:blank:]:水平空白字符
[:space:]:水平或垂直空白字符
[:punct:]:标点符号
[:print:]:可打印字符
[:cntrl:]:控制(非打印)字符
[:graph:]:图形字符
[:xdigit:]:十六进制字符
ls命令的功能:
列出当前目录的内容或指定目录
ls命令的用法:
ls [options] [files_or_dirs]
示例:
ls -a 包含隐藏文件
ls -l 显示额外的信息
ls -r 倒转排序或者可以说是逆序排列
ls -R 目录递归通过(递归会进入到子目录)
ls -ld 目录和符号链接信息
ls -1 文件分行显示(列显示)
ls –S 按从大到小排序(按文件的大小排序)
ls –t 按mtime排序(按文件的修改时间排序)
ls –u 配合-t选项,显示并按atime从新到旧排序
ls –U 按目录存放顺序显示(以创建文件的次序进行显示)
ls –X 按文件后缀排序
ls -d 列出目录本身并不显示内容
ls -h 单位换算
ls -I --ignore(忽略)=PATTERN(模式)按着规定的模式去隐藏不进行显示
实例:
1、显示/var目录下所有以l开头,以一个小写字母结尾,且中间出现至少一位数
字的文件或目录
ls -d /var/l*[0-9]*[[:lower:]]
2、显示/etc目录下以任意一位数字开头,且以非数字结尾的文件或目录
ls -d /etc/[0-9]*[^0-9]
3、显示/etc/目录下以非字母开头,后面跟了一个字母及其它任意长度任意字符
的文件或目录
ls -d /etc/[^[:alpha:]][[:alpha:]]*
4、显示/etc/目录下所有以rc开头,并后面是0-6之间的数字,其它为任意字符
的文件或目录
ls -d /etc/rc[0-6]*
5、显示/etc目录下,所有以.d结尾的文件或目录
ls -d /etc/*.d
6、显示/etc目录下,所有.conf结尾,且以m,n,r,p开头的文件或目录
ls -d /etc/[mnrp]*.conf
7、只显示/root下的隐藏文件和目录
ls -d /root/.*
ls -aI "[^.]*" 当前目录为/root
l. ls -d .* --color=auto 当前目录为/root
8、只显示/etc下的非隐藏目录
ls -d /etc/*/