我想写一个bash脚本,在一个特定的目录下的所有文件。
我在脚本中写了这个命令:
tar -cvf /opt/file/myFiles.tar.gz /opt/data/name/logs/
所以基本上我想在/opt/file中创建一个名为myFiles.tar.gz的tar文件,当我解压缩该文件时,它应该会给我文件夹logs和logs中的所有内容。
相反,我得到了opt文件夹,在到达logs文件夹之前,我必须遍历data和name。
是否有一种方法,当我解压缩文件时,我只得到日志文件夹中的内容,而不必通过opt/data/name?我也试过做/opt/data/name/logs/*
,但它给出了相同的结果。
GNU和BSDtar
有一个-C
选项:
tar -cv -f /opt/file/myFiles.tar.gz -C /opt/data/name/ logs/
你能试试这个吗?
tar -cvf /opt/file/myFiles.tar.gz -C /opt/data/name/logs/ .