📜  tar -cxvf 其他目录 (1)

📅  最后修改于: 2023-12-03 15:20:28.440000             🧑  作者: Mango

使用 tar 命令压缩文件或目录

tar 命令是 Linux 系统下最常用的压缩格式之一,它可用于将多个文件或整个目录打包成一个归档文件,以便在备份、复制或移动它们时方便管理。

基本语法

tar 命令的基本语法如下所示:

tar [-acdefhiklnoprstuvxz] [--file ARCHIVE] [--exclude FILE|DIRECTORY] [--exclude-from FILE] [--directory DIR] [--no-recursion] [--remove-files] [--same-owner] [--atime-preserve] [FILE(S)]

其中,常用的参数选项如下:

  • -c:创建归档文件
  • -f:指定归档文件名
  • -v:显示归档文件的详细列表
  • -x:从归档文件中提取文件
  • -z:对归档文件使用 gzip 压缩
  • -j:对归档文件使用 bzip2 压缩
  • -t:列出归档文件的内容
压缩文件或目录

使用 tar 命令压缩文件或目录的语法如下:

tar -czvf ARCHIVE_NAME.tar.gz FILE(S)_OR_DIRECTORY

其中,-c 参数表示创建归档文件,-z 参数表示对归档文件使用 gzip 压缩,-v 参数表示显示归档文件的详细列表,-f 参数表示指定归档文件名,ARCHIVE_NAME.tar.gz 就是归档文件的名称,.tar.gz 是文件压缩格式。

示例:

tar -czvf archive.tar.gz /home/user1/docs

以上命令将压缩 /home/user1/docs 目录,归档文件名为 archive.tar.gz

压缩多个文件或目录

如果要压缩多个文件或目录,可以在命令行中使用空格将它们分隔开:

tar -czvf ARCHIVE_NAME.tar.gz FILE_OR_DIRECTORY1 FILE_OR_DIRECTORY2 ... FILE_OR_DIRECTORYN

示例:

tar -czvf archive.tar.gz /home/user1/docs /home/user2/pictures /home/user3/music

以上命令将压缩 /home/user1/docs 目录、/home/user2/pictures 目录和 /home/user3/music 目录,归档文件名为 archive.tar.gz

压缩文件或目录并排除特定文件或目录

如果要压缩一个目录,并排除其中的某些文件或子目录,可以使用 --exclude 参数选择性排除它们:

tar -czvf ARCHIVE_NAME.tar.gz --exclude FILE_OR_DIRECTORY_TO_EXCLUDE FILE_OR_DIRECTORY_TO_ARCHIVE

示例:

tar -czvf archive.tar.gz --exclude logs /home/user1/project

以上命令将压缩 /home/user1/project 目录,并排除其中的 logs 目录,归档文件名为 archive.tar.gz

注意事项
  • tar 命令可以将多个文件或目录归档为一个文件,但是在解压时,需要一次性解压所有文件。
  • 压缩大型或深度嵌套的目录可能会花费很长时间,因此推荐在压缩前先进行备份。
  • 在解压缩后,可能会出现文件权限或所有权的问题,请使用 chownchmod 命令来解决。

以上是 tar 命令的主要用法介绍,具体用法可参考 man tar 命令帮助文档。