Warm tip: This article is reproduced from serverfault.com, please click

archive-如何在不包含目录本身的情况下对文件和文件夹的目录进行压缩?

(archive - How do I tar a directory of files and folders without including the directory itself?)

发布于 2009-06-02 14:48:04

我通常会这样做:

tar -czvf my_directory.tar.gz my_directory

如果我只想将所有内容(包括任何隐藏的系统文件)包括在my_directory中,而不包括目录本身,该怎么办?我不要

my_directory
   --- my_file
   --- my_file
   --- my_file

我想:

my_file
my_file
my_file
Questioner
user4903
Viewed
11
41.3k 2018-01-31 00:11:32
cd my_directory/ && tar -zcvf ../my_dir.tgz . && cd - 

应该一口气完成这项工作。它也适用于隐藏文件。至少在bash中,“ *”不会通过路径名扩展来扩展隐藏文件。以下是我的实验:

$ mkdir my_directory
$ touch my_directory/file1
$ touch my_directory/file2
$ touch my_directory/.hiddenfile1
$ touch my_directory/.hiddenfile2
$ cd my_directory/ && tar -zcvf ../my_dir.tgz . && cd ..
./
./file1
./file2
./.hiddenfile1
./.hiddenfile2
$ tar ztf my_dir.tgz
./
./file1
./file2
./.hiddenfile1
./.hiddenfile2