Tùy thuộc vào cách tạo tệp zip, đôi khi, nó sẽ trích xuất tất cả các tệp trực tiếp và đôi khi, nó sẽ trích xuất các tệp vào thư mục con.
Nếu điều sau là đúng, làm thế nào tôi có thể buộc unzip
lệnh "bỏ qua" thư mục cấp đầu tiên đó?
Thí dụ:
cd /tmp
wget http://omeka.org/files/omeka-1.5.1.zip
mkdir omeka
unzip omeka-1.5.1.zip -d omeka/
cd omeka/
ll
Những gì tôi nhận được là /tmp/omeka/omeka-1.5.1/
:
total 12
drwxr-xr-x 3 root root 4096 2012-05-08 18:44 ./
drwxrwxrwt 6 root root 4096 2012-05-08 18:44 ../
drwxr-xr-x 5 root root 4096 2012-04-20 14:54 omeka-1.5.1/
Những gì tôi muốn là về các tệp được trích xuất /tmp/omeka/
, (tăng một cấp và không có số phiên bản trong cấu trúc thư mục)
/tmp/omeka/(files)
Tôi biết tôi có thể sử dụng -j
tùy chọn để "đường dẫn rác" nhưng tôi muốn giữ cấu trúc thư mục con, không phải là cấu trúc thư mục cấp cao nhất. Tôi có thể làm cái này như thế nào?
/wordpress/
thư mục (không có số phiên bản) trong tệp zip. Nó thực sự tốt unzip
và sau đó mv
nhưng không kiểm soát được điều này và phải thực hiện nó trong hai bước luôn khiến tôi lo lắng một chút. May mắn thay, Wordpress cũng có .tar.gz
hương vị :)
cd /tmp/omeka && ln -s -T . omeka-1.5.1
mv
là các tệp, nhưng tôi muốn xem liệu có cách nào để thực hiện việc này ngay từ lệnh giải nén không