变量值编辑
变量variable:value
匹配规则Matching rules:regular_expression → r_exp
旧字串:old_str
新字串:new_str
变量后缀替换
${value%r_exp} 从尾部开始匹配,匹配上最短字串就删除
${value%%r_exp} 从尾部开始匹配,匹配上最长字串就删除
变量前缀替换
${value#r_exp} 从头部开始匹配,匹配上最短字串就删除
${value##r_exp} 从头部开始匹配,匹配上最长字串就删除
变量字串替换
${value/old_str/new_str} 替换变量中旧字串为新字串,只替换左边匹配到的第一个
${value//old_str/new_str} 替换变量中旧字串为新字串,替换全部
命令实现结果
hehe_hehe_gaxaxd.txt.txt → hamor_good.csv
[hamor@hamor_test ~]$ value="hehe_hehe_gaxaxd.txt.txt"
[hamor@hamor_test ~]$ echo ${value%%.*t}.csv && value=$(echo ${value%%.*t}.csv)
hehe_hehe_gaxaxd.csv
[hamor@hamor_test ~]$ echo hamor_${value##h*_} && value=$(echo hamor_${value##h*_})
hamor_gaxaxd.csv
[hamor@hamor_test ~]$ echo ${value//ax/o}
hamor_good.csv
[hamor@hamor_test ~]$
批量文件后缀".txt"换成".csv"
for file in *.txt
do
mv ${file} "${file%.txt}.csv"
done
date命令
用法: date [选项] [+格式]
特点:
①格式和选项前后顺序可替换;
②选项可省略,表示当前时间;
③选项和格式最好放进双引号中;
④选项和格式都有一定的规范。
实例:
[hamor@hamor_test ~]$ date "+%F %T" --date="-1day+10hour+2minute+10second"
2023-11-01 08:33:31
[hamor@hamor_test ~]$ date -d "-1day+10hour+2minute+10second" "+%Y-%m-%d %H:%M:%S"
2023-11-01 08:33:33
[hamor@hamor_test ~]$ date_data=$(date "+%Y%m%d");date "+%Y%m%d" --date="$date_date -1day"
20231031
[hamor@hamor_test ~]$
find命令
用法:find [paths] [expressions] [actions]
#10天内1到2M的jar后缀文件
find /opt -type f -size -3M -size +1M -atime -10 -name "*.jar" -exec ls -lrth {} \;
#删除超过7天的message日志文件
find /var -type f -atime +7 -name "message*" |xargs rm;
#atime/mtime/ctime是天单位
#amin/mmin/cmin是分钟单位
sed命令
用法:sed [options] ‘command’ file
sed -n ‘1,3p’ /etc/passwd
sed -n ‘/^root:/p;//bin/bash$/p’ /etc/passwd|uniq
sed -i ‘1i xxxxxx’ /etc/passwd
sed -i ‘2a xxxxxx’ /etc/passwd
sed -i ‘1d;3d’ /etc/passwd
sed -i.bak ‘s#/bin/false#/sbin/nologin#g’ /etc/passwd
密码维护
修改密码
[root@hamor_test ~]# passwd test
Changing password for user test.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@hamor_test ~]# echo 123456 | passwd --stdin test
Changing password for user test.
passwd: all authentication tokens updated successfully.
[root@hamor_test ~]# echo "test:123456"|chpasswd
[root@hamor_test ~]#
查看用户有效期
chage -l test
修改用户有效期
chage -M 99999 test