Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash tar/tar.bz2来自不同目录的文件_Bash_Shell_Tar - Fatal编程技术网

Bash tar/tar.bz2来自不同目录的文件

Bash tar/tar.bz2来自不同目录的文件,bash,shell,tar,Bash,Shell,Tar,假设我当前在该文件夹中 /home/user1234 接下来是一个文件 /home/user1234/files/mylog.log 从/home/user1234文件夹中,我想要tar.bz2 mylog.log。我所做的就是运行命令 tar cjf /home/user1234/files/mylog.log.tar.bz2 /home/user1234/files/mylog.log 但是,在tar.bz2文件中,压缩文件位于其完全限定路径下。我希望压缩文件位于tar.bz2的

假设我当前在该文件夹中

 /home/user1234
接下来是一个文件

 /home/user1234/files/mylog.log
从/home/user1234文件夹中,我想要tar.bz2 mylog.log。我所做的就是运行命令

 tar cjf /home/user1234/files/mylog.log.tar.bz2 /home/user1234/files/mylog.log
但是,在tar.bz2文件中,压缩文件位于其完全限定路径下。我希望压缩文件位于tar.bz2的“根”中。谁能给我指出正确的方向吗?我一直在寻找可以传递给tar的-C选项,但我似乎无法让它工作。

试试:

tar cjf /home/user1234/files/mylog.log.tar.bz2 -C /home/user1234/files/ mylog.log

-C
实际上是在压缩/解压缩文件列表(由
mylog.log
表示)之前“更改”该目录。tar实际上是从脚本运行的。我使用的是-C,但实际上还有一个语法错误,我的脚本正在吞咽。谢谢你的帮助。由于某种原因,我不能接受你的回答。我稍后再试。