在Linux中,常用的文件夹打包命令是 tar
,它可以将文件夹压缩打包成 .tar
、.tar.gz
、.tar.bz2
等格式的文件。以下是具体用法:
1. 基础打包(不压缩,生成 .tar
文件)
将文件夹 folder
打包为 folder.tar
:
tar -cvf folder.tar folder/
- 参数说明:
-c
:创建新的归档文件(打包)。-v
:显示打包过程( verbose,可选,方便查看进度)。-f
:指定打包后的文件名(必须放在参数最后,紧跟文件名)。
2. 打包并压缩(常用格式)
(1)tar.gz
格式(高压缩率,推荐)
打包并通过 gzip
压缩,生成 .tar.gz
文件:
tar -zcvf folder.tar.gz folder/
- 新增参数
-z
:使用gzip
压缩,文件后缀通常为.tar.gz
或.tgz
。
(2)tar.bz2
格式(压缩率更高,速度稍慢)
通过 bzip2
压缩,生成 .tar.bz2
文件:
tar -jcvf folder.tar.bz2 folder/
- 新增参数
-j
:使用bzip2
压缩,文件后缀为.tar.bz2
。
(3)tar.xz
格式(高压缩率,较新格式)
通过 xz
压缩,生成 .tar.xz
文件:
tar -Jcvf folder.tar.xz folder/
- 新增参数
-J
:使用xz
压缩,文件后缀为.tar.xz
。
3. 打包多个文件夹
同时打包 folder1
、folder2
到 multiple.tar.gz
:
tar -zcvf multiple.tar.gz folder1/ folder2/
4. 排除特定文件/子文件夹
打包时排除 folder
中的 temp
子文件夹和 *.log
文件:
tar -zcvf folder.tar.gz --exclude=folder/temp --exclude=folder/*.log folder/
5. 查看打包文件内容(不解压)
查看 folder.tar.gz
中包含的文件/文件夹:
tar -ztvf folder.tar.gz
- 参数
-t
:列出归档文件中的内容;-z
对应.tar.gz
格式(若为其他格式,用-j
或-J
)。
总结
格式 | 命令 | 特点 |
---|---|---|
.tar | tar -cvf 文件名.tar 文件夹/ | 仅打包,不压缩,体积大 |
.tar.gz | tar -zcvf 文件名.tar.gz 文件夹/ | 压缩率较高,速度较快 |
.tar.bz2 | tar -jcvf 文件名.tar.bz2 文件夹/ | 压缩率更高,速度较慢 |
.tar.xz | tar -Jcvf 文件名.tar.xz 文件夹/ | 压缩率最高,适合大文件 |
根据需求选择格式即可,日常使用中 .tar.gz
是最常用的选择。
在Linux系统中,将文件或文件夹压缩为ZIP包可以使用zip
命令。以下是具体用法和示例:
基本语法
zip [选项] 压缩包名称.zip 要压缩的文件/文件夹
常用选项
-r
:递归压缩(用于压缩文件夹,必须添加此选项,否则只会压缩文件夹本身,不会包含内部文件)。-q
:安静模式,不显示压缩过程的输出信息。-m
:压缩后删除原文件(谨慎使用)。-9
:最高压缩率(默认是中等压缩率,-0
表示无压缩)。
示例
-
压缩单个文件
将file.txt
压缩为archive.zip
:zip archive.zip file.txt
-
压缩多个文件
将file1.txt
、file2.jpg
压缩为docs.zip
:zip docs.zip file1.txt file2.jpg
-
压缩文件夹(关键)
将myfolder
文件夹(包含内部所有文件和子文件夹)压缩为myfolder.zip
,必须加-r
:zip -r myfolder.zip myfolder
-
高压缩率压缩文件夹
用最高压缩率(-9
)压缩data
文件夹:zip -r -9 data_high.zip data
-
安静模式压缩
压缩时不显示进度信息:zip -r -q backup.zip /home/user/docs
注意事项
- 如果系统中没有
zip
命令,需要先安装:- Ubuntu/Debian:
sudo apt install zip
- CentOS/RHEL:
sudo yum install zip
- Fedora:
sudo dnf install zip
- Ubuntu/Debian:
- 压缩后可以用
unzip
命令解压(需安装unzip
包):unzip 压缩包名称.zip
。
在Linux中,将某个ZIP文件移动到当前目录,使用 mv
命令即可,语法如下:
mv /路径/文件名.zip .
说明:
/路径/文件名.zip
:需要移动的ZIP文件的完整路径(绝对路径或相对路径均可)。.
:表示当前目录(即目标位置)。
示例:
-
若ZIP文件在
/home/user/downloads
目录下,名为data.zip
,当前在/home/user/docs
目录,执行:mv /home/user/downloads/data.zip .
执行后,
data.zip
会被移动到/home/user/docs
目录(当前目录)。 -
若ZIP文件在当前目录的上一级目录(
../
),名为backup.zip
,执行:mv ../backup.zip .
注意:
- 如果当前目录已存在同名ZIP文件,
mv
会直接覆盖,无需确认。若需避免误覆盖,可添加-i
选项(交互式提示):
此时若存在同名文件,会提示mv -i /路径/文件名.zip .
是否覆盖?
,输入y
确认覆盖,n
取消。