在Linux中,用作于匹配文件名,用shell进行解析,比如find命令,ls命令,cd命令等
常用的通配符
- *: 匹配任意多个字符

- /?:可以匹配任意单个字符

- [list]:匹配的是列表中任意单个字符

- [c1-c2]:匹配的是c1-c2中任意单个字符

- [c1-c2]或者[!c1-c2]:不匹配范围中任意单个字符

- {string1, string2, string3…….}:匹配{}中任意单个字符串
-
shell的元字符
重定向:>或者<
- 管道符:|
- 赋值语句:=
- 获取变量值:$变量名
- 转义符:\
- 注释符:#
- 后台执行命令:&
- 在子shell中执行命令或运算:()或者一对反引号
- 函数中执行变量替换的定界范围:{}
- 命令结束后,忽略其返回结果,继续执行下一个命令:分号
- 同时执行多条命令:&&,前一条命令执行结果为True
- 同时执行多条命令:||,前一条命令执行结果为false
-
转义符
硬转义:一对单引号,关闭比所有元字符
- 软转义:一对双引号
find命令()
Linux中实施查找工具,通过遍历指定路径下的文件系统,完成文件查找
find [选项] [路径] [查找条件] [处理动作]
- 路径:直接写路径,尽可能精确范围小,提高查找效率
- 查找条件:
- 根据文件名查找,-name “filename”, -iname忽略大小写
- -regex,”路径/文件名”, 匹配整个文件路径字符串
- 根据属主查找,-user “username”,-uid user_id”查找属主文件,
- 根据属组查找,-group “groupname”,-gid “groupid”查找属组文件
- 查找没有属主的文件,-nouser
- 查找没有属组的文件,-nogroup
- 通过文件类型查找,-type TYPE
- 组合条件:建议使用小阔号()将组合条件进行包含,括号后面记得加空格,括号前需要转义
- 与:-a
- 或:-o
- 非:-not
- 根据文件大小查找:-size,[+|-]N[bcwKMG], 加减号表示大于小于,后面的表示文件大小的单位
- 根据时间戳,天:-atime,最后被访问时间,-mtime,最后修文件内容时间,-ctime,最后修改文件属性时间
- 很具时间戳,分:-amin,-mmin,-cmin
- 根据权限查找:-perm [+|-] MODE,精确匹配,/MODE,任何一类(u,g,o)对象匹配即可,-MODE,如-644或-u=rw,g=r_,o=r, 每一类对象都要拥有指定的权限。+已经被/替代。
- 处理动作:
- -print:默认的处理动作,显示至屏幕
- -ls:类似对文件执行ll命令
- -delete:删除查找到的文件
- -fls path/to/somefile:将查找到的文件的长格式信息保存至指定文件
- -ok command {}\; :对查找到的文件执行command命令,每次执行都会提示,大括号代表查找到的文件本身
- -exec command {}\; :对查找到的文件执行command命令
- find /path/to/somefile -ctime +7 | xargs rm -rf {}; :每查找到一个文件就将文件传输到后面的命令执行
