我通常这样做:

tar -czvf my_directory.tar.gz my_directory

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

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

我想要:

my_file
my_file
my_file

当前回答

 tar -cvzf  tarlearn.tar.gz --remove-files mytemp/*

如果文件夹是mytemp,那么如果你应用上面的方法,它会压缩并删除文件夹中的所有文件,但不要管它

 tar -cvzf  tarlearn.tar.gz --remove-files --exclude='*12_2008*' --no-recursion mytemp/*

您可以给出排除模式,也可以指定不查看子文件夹

其他回答

tar -C my_dir -zcvf my_dir.tar.gz `ls my_dir`
cd my_directory && tar -czvf ../my_directory.tar.gz $(ls -A) && cd ..

这个方法对我很有用,它包含了所有隐藏文件,而不用把所有文件放在一个名为“。”的根目录中,就像tomoe的回答:

cd DIRECTORY
tar -czf NAME.tar.gz  *

星号将包括所有内容,甚至包括隐藏的内容

tar -czvf mydir.tgz -C my_dir/ `ls -A mydir`

运行它比mydir高一级。 这将不包括任何[。之类的。

art archive:

# tar -czvf mydir.tar.gz mydir

archive:涂

# tar -xf mydir.tar.gz