一直都在用一个小脚本备份一些重要的东西到优盘上, 但是生成的目录结构我很不满意.

例如我要打包~/a, ~/b/c, ~/d/e三个目录, 以前我是:

cd ~
tar czf foobar.tgz a b/c d/e

这样解压后仍然会出来a, b/c, d/e这样的目录结构, 而我理想情况是解压后出来a, c, e三个目录, 也就是说我只想保留一层目录结构. 想解决这个还是得从研究tar的参数入手, -C这个更改目录的选项虽然以前也知道, 但当时小看它了, 今天试了一下, 竟然可以这样:

tar czf foobar.tgz -C ~ a -C ~/b c -C ~/d e

连续变更三次当前目录, 这样tar包里的结构就是a, c, e了. 注意路径写全, 因为后一次-C默认的路径依赖于前一次-C.

—————————胡乱感慨的分割线—————————

  1. C和*nix果然是最符合Geek变态思维的玩具.

  2. 这个世界最伟大的秩序就是: 除了不让的, 剩下的都可以.