Tôi có một thư mục, ví dụ: /var/tmp/my-dir/
mà tôi thường xuyên nén bằng lệnh sau:Đổi tên tên thư mục Trước khi tar xảy ra
$ cd /var/tmp/
$ tar -zcf my-dir.tar.gz my-dir/*
Sau đó, khi tôi tar my-dir.tar.gz, nó sẽ tạo my-dir/
trong thư mục hiện hành. Có vẻ như thư mục my-dir
được "gói" bên trong tarball. Có tùy chọn tar để đổi tên my-dir
thành ví dụ: your-dir
trước sự cố thực sự xảy ra. Vì vậy ...
$ tar -zxf my-dir.tar.gz
# So that ... this creates your-dir/, instead of my-dir/
Cảm ơn.
Wow, cảm ơn bạn rất nhiều! Điều này hoạt động như một sự quyến rũ (được chấp nhận, +1). – moey
@ephemient, tôi phải sử dụng --transform = 'pattern', như: sudo tar -xjvf thunderbird-14.0.tar.bz2 --transform = 's/thunderbird \ (\/\)/thunderbird.14 \ 1/' với ln -sf thunderbird.14 thunderbird, cập nhật thunderbird sẽ không thành vấn đề! \ m/ –
'--transform' được giới thiệu trong phiên bản 1.2, tiếc là RHEL và CentOS 5.10 chỉ đi kèm với tar v1.15 :( –