GPG với tar.gz cùng một lúc mà không có đường dẫn đầy đủ được đóng gói


1

Tôi muốn nén và mã hóa một thư mục:

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

Khi tôi giải mã và giải nén, nó không chỉ chứa "thư mục" mà tôi nén mà còn có đường dẫn tệp đầy đủ: /path/to/the/folder/[whatever]

Tôi thích tránh sử dụng cd, những con đường tuyệt đối dường như rõ ràng hơn với tôi.

Làm cách nào để xóa đường dẫn tệp đầy đủ khỏi kho lưu trữ?


xem tar -C dir tùy chọn để cd hiệu quả trước khi tarring.
meuh

Câu trả lời:


1

tar có hành vi khác nhau, tùy thuộc vào việc bạn có thực thi nó từ một thư mục không trong đường dẫn hiện tại hay không (ví dụ: bạn tar một cái gì đó trong /usr/local/src/foo, trong khi đang ở trong thư mục nhà của bạn /home/alice ), nơi nó sẽ lưu trữ đường dẫn tuyệt đối trong tệp tar. Nếu bạn đang ở trong thư mục nào đó trong đường dẫn (ví dụ: bạn muốn tar /usr/local/src/foo trong khi đang ở /use/local/src ), nó sẽ sử dụng các đường dẫn tương đối bắt đầu từ src danh mục.

Nếu bạn không thực sự muốn thay đổi thư mục thành thư mục gốc tương đối mong muốn, hãy sử dụng -C cờ mà hầu như làm như vậy bên trong tar. Hai cái này tương đương nhau:

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

Trong trường hợp bạn tự hỏi: $OLDPWD chứa thư mục cuối cùng trước cd ing vào nó

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.