我是 Ubuntu 的新手(尤其是终端),我正在试验该tar
命令。
我已经创建了一个/test
包含一个/test.txt
文件的文件夹/var/www/html/test/test.txt
。
我想仅限/test
文件夹(及其内容)至/home/jo/backup
。
到目前为止我的流程如下:
cd ~
tar cvf testBackup.tar /var/www/html/test/
这成功创建了testBackup.tar
位于 的/home/jo/backup
。但是当我使用以下命令提取 tar 时:
tar cvf testBackup.tar /var/www/html/test/
该文件夹var
可见,我必须 cd 到/test
目录 (/var/www/html/test) 才能看到内容。
基本上我只想 tartest
文件夹,而不是之前的三个(/var/www/html
)
是我做错了什么还是命令就是这样工作的?
答案1
前往该位置并运行命令
cd /var/www/html
tar cvf /home/jo/backup/testBackup.tar test
答案2
因为 tar 也是为备份而设计的
您可以指定最短距离路径。 在您的例子中,它是test
。
因此你可以使用这个链:
cd /var/www/html;tar cvf testBackup.tar ./test;mv testBackup.tar ~/backup/
cd /var/www/html;tar cvf testBackup.tar ./test;rsync testBackup.tar ~/backup/;rm testBackup.tar # for cross net compability
它只会将tar
您的 test
文件夹移动到您的备份目录。
也可以看看:
man tar
答案3
通常我会先进入目录,然后执行 tar 命令。这样,我们先完成所有操作,最后才能轻松提取所需的内容:
cd /var/www/html
tar cvf ~/testBackup.tar test
tar 命令可能具有允许执行相同操作而无需跳舞的选项,只需阅读手册页(man tar
)。