练习一:文件通配符模式

一:文件通配符可以用来匹配符合条件的多个文件,方便批量管理文件
通配符采有特定的符号,表示特定的含义,此特符号称为元 meta 字符
二:常见的通配符如下

  • 匹配零个或多个字符,但不匹配 “.” 开头的文件,即隐藏文件
    ? 匹配任何单个字符,一个汉字也算一个字符
    ~ 当前用户家目录
    ~lx 用户lx家目录
    [0-9] 匹配数字范围
    [a-z] 一个字母
    [A-Z] 一个字母
    [li] 匹配列表中的任何的一个字符
    [^li] 匹配列表中的所有字符以外的字符
    [^a-z] 匹配列表中的所有字符以外的字符
    . 和 ~+ 当前工作目录
    ~- 前一个工作目录
    三:另外还有在Linux系统中预定义的字符类表示法如下:
    [:digit:]:任意数字,相当于0-9
    [:lower:]:任意小写字母,表示 a-z
    [:upper:]: 任意大写字母,表示 A-Z
    [:alpha:]: 任意大小写字母
    [:alnum:]:任意数字或字母
    [:blank:]:水平空白字符
    [:space:]:水平或垂直空白字符
    [:punct:]:标点符号
    [:print:]:可打印字符
    [:cntrl:]:控制(非打印)字符
    [:graph:]:图形字符
    [:xdigit:]:十六进制字符
    四:练习题目。
    1、显示/etc目录下所有以l开头,以一个小写字母结尾,且中间出现至少一位数字的文件或目录列表
ls  /etc/i*[0-9]*[a-z] #会出现大写字母
[root@rocky-8 ~]# ls  /etc/i*[0-9]*[[:lower:]]

在这里插入图片描述

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

[root@rocky-8 ~]# ls -d /etc/[0-9]*[^0-9]

在这里插入图片描述

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

ll -d /etc/[^a-z]*

在这里插入图片描述

4、显示/etc/目录下所有以rc开头,并后面是0-6之间的数字,其它为任意字符的文件或目录列表

[root@rocky-8 ~]# ls -l /etc/rc[0-6]*

在这里插入图片描述

5、显示/etc目录下,所有.conf结尾,且以m,n,r,p开头的文件或目录列表

root@rocky-8 ~]# ls -al /etc/[nmrp]*.conf

在这里插入图片描述

6、只显示/root下的隐藏文件和目录列表

[root@rocky-8 ~]# ll -d /root/.*

在这里插入图片描述

7、只显示/etc下的非隐藏目录列表

[root@rocky-8 ~]# ls -d /etc/*/

在这里插入图片描述
8,将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中

[root@rocky-8 etc]# cat /etc/issue | tr [:lower:] [:upper:] > /tmp/issue.out

tr替换文本:例子:


```bash
[root@localhost zhangy]# echo "TANK" |tr A-Z a-z   #大写字母转小写
tank

[root@localhost zhangy]# echo 'tank zhang' | tr a-z A-Z    #小写字线转大写
TANK ZHANG

[root@localhost zhangy]# cat aaa.txt       #原文件
aaa

bbb

[root@localhost zhangy]# cat aaa.txt|tr 'a' 'c'     #字母c替换字母a
ccc

bbb

[root@localhost zhangy]# cat aaa.txt|tr -d 'a'    #删除所有字母a


bbb

[root@localhost zhangy]# cat aaa.txt|tr -d '\n\t'   删除文件file中出现的换行'\n'、制表'\t'字符
aaabbb

[root@localhost zhangy]# cat aaa.txt|tr -s [a-zA-Z]   #删除重复的字母
a

b

[root@localhost zhangy]# cat aaa.txt|tr -s '\n'    #删除空行
aaa
bbb

[root@localhost zhangy]# cat aaa.txt |tr -s '\011' '\040'   #用空格符\040替换制表符\011
aaa

bbb
[root@localhost ]tr a c < test 	#将test文件中的a变成c

(1) 如何创建/testdir/dir1/x, /testdir/dir1/y, /testdir/dir1/x/a, /testdir/dir1/x/b, /testdir/dir1/y/a,
/testdir/dir1/y/b

[root@rocky-8 testdir1]# mkdir -p /testdir3/dir1/{y/a,x/{a,b}}

在这里插入图片描述

(2) 如何创建/testdir/dir2/x, /testdir/dir2/y, /testdir/dir2/x/a, /testdir/dir2/x/b

[root@centos7 /]# mkdir -p  /testdir/dir2/{x/{a,b},y}

在这里插入图片描述

(3) 如何创建/testdir/dir3, /testdir/dir4, /testdir/dir5, /testdir/dir5/dir6, /testdir/dir5/dir7

[root@centos7 ]# mkdir -p /testdir9/dir{{3..4},5/dir{6..7}}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值