1、显示/etc/passwd文件中以bash结尾的行;
解释:使用 grep 工具来搜索文件 /etc/passwd 中匹配模式 'bash$' 的行。bash$ 是一个正则表达式,其中 $ 表示行结尾。因此,'bash$' 匹配以 bash 结尾的行。
grep 'bash$' /etc/passwd
运行结果:

2、找出"netstat -tan”命令的结果中,以‘LISTEN’后跟0或多个空白字符结尾的行
方法一:
netstat -tan | grep "LISTEN[[:space:]]*$"
运行结果:

方法二:
netstat -tan | grep 'LISTEN\s*$'
运行结果:

解释:LISTEN\s*$' 使用正则表达式匹配以 "LISTEN" 结尾且后面跟着 0 或多个空白字符的行。其中 \s* 表示匹配 0 或多个空白字符,而 $ 表示行结尾
3、在/etc/fstab文件中不以#开头的行的行首增加#号
命令:
sed -i '/^[^#]/ s/^/#/' /etc/fstab

解释:
sed是一个流式文本编辑器,用于对文件进行处理和转换。-i选项表示直接在原始文件上进行修改。/^[^#]/是一个正则表达式模式,它匹配不以#开头的行。s/^/#/是sed的替换命令,它将行首的开头(^)替换为#。
执行该命令后,sed 将遍历 /etc/fstab 文件的每一行。对于不以 # 开头的行,sed 将在行首添加 # 号。这样就在这些行的行首增加了 # 号
4、删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行的行首的#和空白字符
sed -i '/^#[[:blank:]]\+/ s/^#//' /etc/fstab

解释:
/^#[[:blank:]]\+/是正则表达式模式,它匹配以#开头且后面至少跟一个空白字符的行。[[:blank:]]表示空白字符(包括空格和制表符),+表示匹配一个或多个空白字符。s/^#//是sed的替换命令,它将行首的#替换为空字符串,即删除行首的#号和空白字符。
5、统计出apache的access.log中访问量最多的5个IP
命令:
cat access.log | cut -d ' ' -f 1 | sort | uniq -c | sort -nr | head -5
解释:
cat access.log用于将access.log文件的内容输出到标准输出。cut -d ' ' -f 1用于提取每行中的第一个字段,即 IP 地址。这里使用空格作为分隔符,-d ' '表示使用空格作为分隔符,-f 1表示提取第一个字段。sort用于对 IP 地址进行排序。uniq -c用于计算每个 IP 地址出现的次数,并在每行前面显示计数。sort -nr用于按照计数值进行逆向排序,即按照访问量从高到低排序。head -5用于只显示前五行,即访问量最高的五个 IP 地址。





![在vite或者vue-cli中使用.env[mode]环境变量](https://img-blog.csdnimg.cn/0a01356b41a242baaffeafa7ba5c53a6.png)













