我正在编写一个备份脚本,并想要建立一个文件目录:
tar czf ~/backup.tgz /home/username/drupal/sites/default/files
这样可以解决这个问题,但是当我解压缩生成的文件时,它包含完整的文件结构:文件位于home/username/drupal/sites/default/files
。
有没有办法排除父目录,以便生成的tar只知道最后一个目录(files
)?
答案 0 :(得分:158)
使用--directory选项:
tar czf ~/backup.tgz --directory=/home/username/drupal/sites/default files
答案 1 :(得分:43)
嗨,当我进入指定目录时,我有一个更好的解决方案,这是不可能的(Makefile等)
tar -cjvf files.tar.bz2 -C directory/contents/to/be/compressed .
不要忘记最后的点(。)!!
答案 2 :(得分:32)
cd /home/username/drupal/sites/default/files
tar czf ~/backup.tgz *
答案 3 :(得分:2)
从/home/myuser/workspace/zip_from/
压缩所有txt(* .txt)文件
没有源文件目录结构的/home/myuser/workspace/zip_to/
使用以下命令:
tar -P -cvzf /home/myuser/workspace/zip_to/mydoc.tar.gz --directory="/home/myuser/workspace/zip_from/" *.txt
答案 4 :(得分:1)
tar czf $sourcedir/$backup_dir.tar --directory=$sourcedir WEB-INF en
tar -xvf $deploydir/med365/$backup_dir.tar -C $deploydir/med365/
scp -r -i $privatekey $sourcedir/$backup_dir.tar $server:$deploydir/med365/
echo "File uploaded.. deployment folders"
ssh -i $privatekey $server tar -xvf $deploydir/med365/$backup_dir.tar -C $deploydir/med365/
答案 5 :(得分:0)
这对我有用:
gzip -dc "<your_file>.tgz" | tar x -C <location>
答案 6 :(得分:0)
对我来说-C或--directory无效,我用这个
cd source/directory/or/file
tar -cvzf destination/packaged-app.tgz *.jar
# this will put your current directory to what it previously was
cd -
答案 7 :(得分:0)
请使用以下命令生成没有目录结构的tar文件
tar -C <directoryPath> -cvzf <Path of the tar.gz file> filename1 filename2... filename N
例如:
tar -C /home/project/files -cvzf /home/project/files/test.tar.gz text1.txt text2.txt
答案 8 :(得分:-1)
tar -Cczf ~/backup.tgz /home/username/drupal/sites/default/files
-C为你做CD