想要在Linux上把一堆文件打包成一个文件,还要压缩一下体积减小存储空间?tar.gz格式不仅能打包,还能压缩,两者一气呵成。那么怎么使用tar命令来创建.tar.gz文件呢?咱们现在就来详细了解一下。
步骤1:打开终端
首先,打开Linux系统的终端。这是操作的起点,可以在桌面环境里找到终端应用,或者使用快捷键Ctrl + Alt + T。
步骤2:定位到目录
用cd命令切换到包含待打包文件的目录。例如:
cd /path/to/directory
替换/path/to/directory为实际的文件夹路径。
步骤3:使用tar命令打包压缩
现在,来执行tar命令进行打包和压缩。执行格式如下:
tar -czvf name-of-archive.tar.gz/path/to/directory-or-file
-c 代表创建一个新的压缩文件。
-z 代表压缩文件使用gzip。
-v 代表在压缩的时候显示过程信息(verbose模式)。
-f 代表指定压缩后的文件名。
假设现在想打包当前目录所有文件和子目录,可以这么做:
tar -czvf archive.tar.gz *
archive.tar.gz 是新创建的压缩文件的名称,* 代表当前目录下的所有文件和目录。
步骤4:检验文件
打包压缩完成后,可以使用ls命令确认文件已经生成:
ls -l archive.tar.gz
如果看到了archive.tar.gz文件,说明操作成功。
特别提示
在命令行中,可以使用通配符来选择特定类型的文件。比如,只压缩所有.txt文件:
tar -czvf text-files.tar.gz *.txt
而且,还可以排除特定的文件或目录,例子如下:
tar -czvf archive.tar.gz--exclude=some_directory *
这个命令会打包当前目录下的所有内容,但排除了名为some_directory的目录。
如果要查看tar.gz文件里有哪些内容:
tar -tzvf archive.tar.gz
解包
现在假设需要把tar.gz包解压到当前目录或指定目录,命令如下:
tar -xvzf archive.tar.gz -C/path/to/destination
-x 是提取的意思。
-C 后面是要解压到的位置,不写-C参数就解压到当前目录。
只解压单个文件
如果压缩包里东西多,但只想解压一个,可以这么操作:
tar -xvzf archive.tar.gz -C/path/to/destination specific_file
这里的specific_file是压缩包内部的文件路径。
创建不压缩的tar包
有时候,可能只想打包不压缩,那就省掉-z:
tar -cvf archive.tar /path/to/directory
常见问题
操作过程中,如果遇到权限不足的问题,可能需要为tar命令加上sudo,尤其是当处理系统级别的目录时。
sudo tar -czvf archive.tar.gz/path/to/directory