GPG з tar.gz одночасно, не заповнюючи повний шлях


1

Я хотів би стиснути та зашифрувати папку:

  • tar -cz "/path/to/the/folder/" | gpg --encrypt --passphrase "password" --recipient "mail@mail.mail" > "/destination/package.tar.gz.gpg"

Коли я розшифровую та розпакуйте, вона не лише містить "папку", яку я стиснув, але має повний шлях до файлу: /path/to/the/folder/[whatever]

Я вважаю за краще уникати використання cd, абсолютні шляхи здаються мені більш зрозумілими.

Як видалити повний шлях до файлу з архіву?


перегляньте -C dirопцію tar, щоб ефективно використовувати компакт-диск перед націленням.
meuh

Відповіді:


1

tarмає різну поведінку, залежно від того, чи будете ви виконати його з папки, що не знаходиться в поточному шляху (наприклад, ви tarщось входите /usr/local/src/foo, перебуваючи у вашому домашньому каталозі /home/alice), де він буде зберігати абсолютний шлях у файлі tar. Якщо ви знаходитесь в якійсь папці на шляху (наприклад, ви хочете націлити /usr/local/src/fooпід час перебування в ньому /use/local/src), він буде використовувати відносні шляхи, починаючи з srcкаталогу.

Якщо ви не хочете насправді змінити каталог у потрібний відносний кореневий каталог, використовуйте -Cпрапор, який практично робить це всередині tar. Ці два рівнозначні:

cd /path/to/the/folder; tar -cz *; cd $OLDPWD
tar -C /path/to/the/folder -cz /path/to/the/folder/

Якщо вам цікаво: $OLDPWDмістить останню папку перед тим, як cd потрапити в неї.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.