Linux 压缩工具及shell脚本编程实战应用
解压缩工具使用
压缩比:压缩前和压缩后的比例,目的以时间(cpu)换空间(磁盘空间)
gzip
文件名以 .gz 结尾,默认会删除源文件
gzip 压缩
gunzip 解压
zcat 查看压缩后文件的内容
常用的参数
- -d:解压缩,相当于gunzip;
- -#:指定压缩比,默认是6;数字越大压缩比越大(1-9);
- -c:将压缩结果输出至标准输出;
- gzip -c FILE > /PATH/TO/SOMEFILE.gz
bzip2
bzip2 [OPTION]... FILE...
- -d:解压缩
- -#:指定压缩比;默认是6;数字越大压缩比越大(1-9);
- -k:keep,保留原文件;
xz
xz [OPTION]... FILE...
- -d:解压缩
- -#:指定压缩比;默认是6;数字越大压缩比越大(1-9);
- -k:保留原文件;
zip:
zip/unzip
归档工具使用
tar命令:
- tar [OPTION]... FILE...
(1) 创建归档
- -c -f /PATH/TO/SOMEFILE.tar FILE...
- -cf /PATH/TO/SOMEFILE.tar FILE...
(2) 展开归档
- -xf /PATH/FROM/SOMEFILE.tar
- -xf /PATH/FROM/SOMEFILE.tar -C /PATH/TO/SOMEDIR
(3) 查看归档文件的文件列表
- -tf /PATH/TO/SOMEFILE.tar
归档完成后通常需要压缩,结果此前的压缩工具,就能实现压缩多个文件了;
(4) 归档压缩
- -z:gzip2
- -zcf /PATH/TO/SOMEFILE.tar.gz FILE...
解压缩并展开归档:-zxf /PATH/TO/SOMEFILE.tar.gz
bash脚本编程之用户交互
与用户交互 read
简单小案例
read [option]... [name ...]
-p 'PROMPT' 提示信息
-t TIMEOUT 设置超时时间
-n 不换行
实例
#!/bin/bash # read -p "Enter a username: " name [ -z "$name" ] && echo "a username is needed." && exit 2 read -p "Enter password for $name, [password]: " password [ -z "$password" ] && password="password" if id $name &> /dev/null; then echo "$name exists." else useradd $name echo "$password" | passwd --stdin $name &> /dev/null echo "Add user $name finished." fi