关于linux:如何在不保留目录结构的情况下tar目录?

How do I tar a directory without retaining the directory structure?

我正在编写备份脚本,希望整理一个文件目录:

1
tar czf ~/backup.tgz /home/username/drupal/sites/default/files

这会使其变大,但当我解开结果文件时,它包含完整的文件结构:文件在home/username/drupal/sites/default/files中。

是否有排除父目录的方法,以便生成的tar只知道最后一个目录(files)?


使用--directory选项:

1
 tar czf ~/backup.tgz --directory=/home/username/drupal/sites/default files


嗨,我有一个更好的解决方案,当进入指定的目录是不可能的(makefiles等)

1
tar -cjvf files.tar.bz2 -C directory/contents/to/be/compressed .

不要忘记末尾的圆点(.)!!


1
2
cd /home/username/drupal/sites/default/files
tar czf ~/backup.tgz *


/home/myuser/workspace/zip_from/下载所有txt文件。对于没有源文件目录结构的/home/myuser/workspace/zip_to/,使用以下命令:

1
tar -P -cvzf /home/myuser/workspace/zip_to/mydoc.tar.gz  --directory="/home/myuser/workspace/zip_from/" *.txt


这对我很有用:

1
gzip -dc"<your_file>.tgz" | tar x -C <location>

1
tar -Cczf ~/backup.tgz /home/username/drupal/sites/default/files

-C为您制作CD