#!/bin/bash
# 压缩文件
function compress_file(){
local file=$1
tar -czvf "${file}.tar.gz" "$file"
echo "文件压缩完成!"
}
# 解压缩文件
function decompress_file(){
local compressed_file=$1
tar -xzvf "$compressed_file"
echo "文件解压缩完成!"
}
# 压缩目录
function compress_directory(){
local directory=$1
tar -czvf "${directory}.tar.gz" "$directory"
echo "目录压缩完成!"
}
# 解压缩目录
function decompress_directory(){
local compressed_directory=$1
tar -xzvf "$compressed_directory"
echo "目录解压缩完成!"
}
# 主程序入口
function main(){
echo "请选择操作:"
echo "1. 压缩文件"
echo "2. 解压缩文件"
echo "3. 压缩目录"
echo "4. 解压缩目录"
read -p "请输入选项数字:" option
case $option in
1)
read -p "请输入待压缩的文件名:" file
compress_file $file;;
2)
read -p "请输入待解压缩的文件名:" compressed_file
decompress_file $compressed_file;;
3)
read -p "请输入待压缩的目录名:" directory
compress_directory $directory;;
4)
read -p "请输入待解压缩的目录名:" compressed_directory
decompress_directory $compressed_directory;;
*)
echo "输入错误!"
esac
}
# 调用主程序入口
main以上是Linux下使用Shell脚本实现文件和目录的压缩与解压缩的方法。通过调用tar命令,我们可以方便地对文件和目录进行压缩和解压缩操作。在脚本中,我们定义了四个函数,分别用于压缩文件、解压缩文件、压缩目录和解压缩目录。
在主程序入口中,我们通过用户输入选择不同的操作,然后调用对应的函数进行操作。用户可以选择压缩文件、解压缩文件、压缩目录或解压缩目录。输入错误的选项会提示输入错误,并退出程序。
在使用这些函数时,只需输入待处理文件或目录的名称,脚本会自动在当前目录下生成相应的压缩文件或解压缩文件。