একটি জিপ ফাইল কীভাবে তৈরি করা হয় তার উপর নির্ভর করে, কখনও কখনও এটি সমস্ত ফাইল সরাসরি বের করে আনবে, এবং কখনও কখনও এটি ফাইলগুলিকে একটি উপ ডিরেক্টরিতে সরিয়ে ফেলবে।
যদি পরবর্তীটি সত্য হয় তবে আমি কীভাবে unzip
আদেশটিকে প্রথম স্তরের ডিরেক্টরিটিকে "উপেক্ষা" করতে বাধ্য করব ?
উদাহরণ:
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
আমি যা পাচ্ছি তা হ'ল /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/
আমি যা চাই তা সরানো ফাইলগুলির মধ্যে /tmp/omeka/
একটি, (এক স্তর উপরে এবং ডিরেক্টরি কাঠামোর মধ্যে কোনও সংস্করণ নম্বর অন্তর্ভুক্ত নয়)
/tmp/omeka/(files)
আমি জানি আমি -j
"জাঙ্ক পাথ" এর বিকল্পটি ব্যবহার করতে পারি তবে আমি কেবল শীর্ষ স্তরের ডিরেক্টরি কাঠামো নয়, সাব-ডিরেক্টরি ডিরেক্টরি রাখতে চাই। কিভাবে আমি এটি করতে পারব?
/wordpress/
জিপ ফাইলের ভিতরে প্রতিটি সংস্করণ ডিরেক্টরিতে (কোনও সংস্করণ নম্বর নেই) রাখে । এটি আসলে unzip
এবং তখনই ঠিক আছে তবে এটির mv
কোনও নিয়ন্ত্রণ না থাকা এবং এটি দুটি ধাপে করার জন্য আমার স্নায়ুগুলিতে সর্বদা কিছুটা সামান্য পাওয়া গেছে। ভাগ্যক্রমে ওয়ার্ডপ্রেসটিও একটি .tar.gz
স্বাদে আসে :)
cd /tmp/omeka && ln -s -T . omeka-1.5.1
mv
ফাইলগুলি বের করতে এবং তারপরে ফাইলগুলি বের করতে পারি , তবে আমি দেখতে চেয়েছিলাম যে আনজিপ কমান্ড থেকে সরাসরি এটি করার কোনও উপায় আছে কিনা