一、实战练习1
使用linux命令完成如下效果:
1.创建目录/opt/file/年月日,如/opt/file/20230613.
2.在步骤1所创建的目录下,批量创建文件,要求如下:
名称规则:前缀为大写A至Z_随机字符(字母数字符号,长度20)
名称规则:前缀为小写a至z_随机字符(字母数字符号,长度20)
3.将生成的文件名称信息保存至/opt/fileinfo.log中 (显示路径)
for i in {A..Z}
do
mkdir -p /opt/file/date +%Y%m%d
touch /opt/file/date +%Y%m%d/$i_$(openssl rand -base64 40 | tr -d '/' | cut -c 1-20)
touch /opt/file/date +%Y%m%d/{a..z}_$(openssl rand -base64 40 | tr -d '/' | cut -c 1-20)
find /opt/file/date +%Y%m%d -type f >/opt/fileinfo.log
done
4.查找/opt/file/目录下,将上述步骤生成的文件删除
find /opt/file/date +%Y%m%d -name "_" -exec rm -rf {} ;
或find /opt/file/date +%Y%m%d -type f -exec rm -f {} ;
或find /opt/file/date +%Y%m%d -name ‘[a_zA_Z]_*’-type f -exec rm -rf {} ;
5.查找/var/log/目录下,大小在4k以上的文件复制到以下目录内/opt/file/年月日
find /var/log -size +4k -exec cp -rf {} /opt/file/date +%Y%m%d ;
6.并将/opt/file/年月日目录打包为tar.gz格式,名称为:年月日时分秒_log.tar.gz
tar czvf date +%Y%m%d%H%M%S _log.tar.gz date +%Y%m%d
二、实战练习2
使用for循环和linux命令完成如下效果:
1.创建目录/opt/for/年月日,如/opt/for/20230613.
mkdir -p /opt/for/date +%Y%m%d
2.在步骤1所创建的目录下,批量创建100文件,要求如下:
名称规则:前缀为大写A_随机字符(字母数字符号,长度20)编号.log将上述文件中写入内容,内容为当前时间戳.时间戳格式为年月日时分秒纳秒,例如:2023061442141686742951063662662 备注:${i} 强制声明执行
备注:openssl rand -base64 40 | tr -d '/' | cut -c 1-20)_${i}.log 随机加密字符64编码40节长度,去掉字符“/”,其中截取20位字节
for i in {001..100}
do
echo $(date +%Y%m%d%H%M%S%N) > /opt/for/date +%Y%m%d/A$(openssl rand -base64 40 | tr -d '/' | cut -c 1-20)_${i}.log;
done
3.并将/opt/for/年月日目录打包为tar.gz格式,名称为:年月日时分秒_log.tar.gz
cd /opt/for/
tar cvzf date +%Y%m%d%H%M%S_log.tar.gz date +%Y%m%d`
4.查找/opt/for/目录下,将上述步骤2生成的文件删除
find /opt/for -name "A_*" -exec rm -rf {} ;
或
[ -d /opt/for/$(date +%Y%m%d) ] || mkdir /opt/for/$(date +%Y%m%d) -p
for i in {001..100}
do s
echo $(date +%Y%m%d%H%M%S%N) > /opt/for/date +%Y%m%d/A_$(openssl rand -base64 40 | tr -d '/' | cut -c 1-20)_${i}.log;
done