Các tiện ích tar khác nhau hoạt động khác nhau về vấn đề này, vì vậy thật tốt khi cẩn thận. Đối với tệp tar mà bạn không tạo, hãy luôn liệt kê mục lục trước khi giải nén nó.
Solaris tar :
Các tệp được đặt tên được trích xuất từ tarfile và được ghi vào thư mục được chỉ định trong tarfile, liên quan đến thư mục hiện tại. Sử dụng tên đường dẫn tương đối của các tệp và thư mục sẽ được trích xuất.
Tên đường dẫn tuyệt đối có trong kho lưu trữ tar được giải nén bằng cách sử dụng tên đường dẫn tuyệt đối, nghĩa là dấu gạch chéo phía trước (/) không bị loại bỏ.
Trong trường hợp tệp tar có tên đường dẫn đầy đủ (tuyệt đối), chẳng hạn như:
/tmp/real-file
/etc/sneaky-file-here
... Nếu bạn trích xuất một tệp như vậy, bạn sẽ kết thúc bằng cả hai tệp.
GNU tar :
Theo mặc định, GNU tar giảm vị trí dẫn đầu /
về đầu vào hoặc đầu ra và phàn nàn về tên tệp có chứa một ..
thành phần. Có một tùy chọn tắt hành vi này:
--absolute-names
-P
Không loại bỏ dấu gạch chéo hàng đầu khỏi tên tệp và cho phép tên tệp chứa ..
thành phần tên tệp.
... Nếu bạn trích xuất một tệp tar có đường dẫn đầy đủ bằng cách sử dụng GNU tar mà không sử dụng -P
tùy chọn, nó sẽ cho bạn biết:
tar: Loại bỏ hàng đầu /
khỏi tên thành viên
và sẽ trích xuất tệp vào thư mục con của thư mục hiện tại của bạn.
AIX tar :
không nói gì về nó và hoạt động như tar Solaris - nó sẽ tạo và trích xuất các tệp tar với tên đường dẫn đầy đủ / tuyệt đối.
HP-UX tar :
(hoan nghênh tham khảo trực tuyến tốt hơn)
CẢNH BÁO
Không có cách nào để khôi phục tên đường dẫn tuyệt đối đến vị trí tương đối.
OpenBSD tar :
-P
Không tước dấu gạch chéo hàng đầu ( /
) khỏi tên đường dẫn. Mặc định là tước các dấu gạch chéo hàng đầu.
Cũng có -P
các tùy chọn được triển khai cho tar
macOS, FreeBSD và NetBSD, với cùng một ngữ nghĩa, với việc bổ sung tar
trên FreeBSD và macOS sẽ "từ chối trích xuất các mục lưu trữ có tên đường dẫn chứa ..
hoặc thư mục đích sẽ bị thay đổi bởi một liên kết tượng trưng" mà không có -P
.
ngôi sao schilytools :
-/
Không loại bỏ dấu gạch chéo hàng đầu khỏi tên tệp khi giải nén tệp lưu trữ. Lưu trữ Tar chứa tên đường dẫn tuyệt đối thường là một ý tưởng tồi. Với các triển khai tar khác, chúng có thể không bao giờ được trích xuất mà không ghi đè các tệp hiện có. Sao vì lý do đó, theo mặc định, dải dẫn chém từ tên tệp khi ở chế độ giải nén.
-P
tùy chọn ảnh hưởng đến hành vi của nó trong vấn đề này.