![将目录中的所有文件夹压缩为各自的 .rar 文件](https://linux22.com/image/999583/%E5%B0%86%E7%9B%AE%E5%BD%95%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E6%96%87%E4%BB%B6%E5%A4%B9%E5%8E%8B%E7%BC%A9%E4%B8%BA%E5%90%84%E8%87%AA%E7%9A%84%20.rar%20%E6%96%87%E4%BB%B6.png)
我有一个目录,里面有很多子目录,我想找到一种方法,使用终端将所有这些子目录转换为它们自己的 .rar 文件,因为这些子目录太多了,无法单独处理。我需要每个子目录都是自己的 .rar 文件,而不是将主目录压缩成一个大的 .rar 文件,因为子目录在压缩后必须放到不同的地方。谢谢。
答案1
如果您确实需要 .rar 扩展名,那么您需要安装 rar。
sudo apt install rar
以下命令将压缩当前工作目录中的所有目录(使用命令pwd
了解当前目录):
for dir in */
do
base=$(basename "$dir")
rar a "${base}" "$dir"
done
对于普通的 tar 球,您可以使用:
cd directory
for dir in */
do
base=$(basename "$dir")
tar -czf "${base}.tar.gz" "$dir"
done