আমি একটি tarball রূপে থেকে একটি নির্দিষ্ট ডিরেক্টরির কিভাবে বের করবেন? এবং একটি নেতৃস্থানীয় ডিরেক্টরির স্ট্রিপ?


12

আমি ওয়ার্ডপ্রেস tarball রূপে থেকে একটি নির্দিষ্ট ডিরেক্টরির বের করে আনতে চাই। বিশেষভাবে wp-includesকরতে .। মনে হচ্ছে tarball রূপে ভিতরে ডিরেক্টরির কাঠামো wordpress/wp-includesকিন্তু আমি শুধু প্রয়োজন ./wp-includesএকবার এটা নিষ্কাশিত হয়েছে কোন ওয়ার্ডপ্রেস ডিরেক্টরি করে। আমি কিভাবে এই কাজ করবে?

উত্তর:


13

একটি নির্দিষ্ট ডিরেক্টরির (এবং তার বিষয়বস্তু, যাও recursively) বের করে আনতে, শুধু কমান্ড লাইন একটি অতিরিক্ত যুক্তি যেমন পাস। সঙ্গে গনুহ আলকাতরা আপনার সাথে একটি নেতৃস্থানীয় ডিরেক্টরির স্ট্রিপ করতে --strip-componentsবিকল্প (এবং আরো সাধারণভাবে সঙ্গে ফাইলের নাম রুপান্তর --transform)। অ Linux সিস্টেমের আপনি ব্যবহার করতে পারেন প্যাক্স (এটা POSIX এর, কিন্তু কিছু লিনাক্স ডিস্ট্রিবিউশন তাদের ডিফল্ট ইনস্টলেশন থেকে এটা বাদ) এবং তার -sবিকল্প।

tar xf foo.tar --strip-components=1 wordpress/wp-includes  #GNU tar
pax -r <foo.tar -pp -s '!^wordpress/!!' wordpress/wp-includes

আপনি খালি নাম সবকিছু পুনর্লিখন একটি নিয়ম সংযোজন করে rewriting নিয়ম অন্তর্ভুক্তি তালিকা মার্জ করতে পারবেন (যা মানে হলো "নিষ্কর্ষ না" যদি আগের নিয়ম মেলেনি নিয়ম প্রযোজ্য)।

pax -r <foo.tar -pp -s '!^wordpress/\(wp-includes/\)!\1!' -s !.*!!

5

ধরে নিই আপনার কাছে জিএনইউ টার রয়েছে, আপনি এটি ব্যবহার করতে পারেন --strip-components:

$ tar xaf tarball.tar.gz --strip=1 wordpress/wp-includes

আমি বাসদ আলকাতরা বর্তমান সংস্করণ সমর্থন বিশ্বাস --strip-components। সবচেয়ে খারাপ ক্ষেত্রে, আপনি এটি করতে পারেন:

$ tar xzf tarball.tar.gz wordpress/wp-includes
$ mv wordpress/wp-includes .
$ rmdir wordpress

আমি শুধু কারণ তাড়ার মধ্যে আধুনিক করছেন শেষ পর্যন্ত, কিন্তু ভালো জানেন যে সাবেক বিদ্যমান।
xenoterracide

স্পষ্টভাবে স্ট্রিপ উপাদান (যেমন wordpress) নামকরণ প্রয়োজন হয় না যে একটি কমান্ড ব্যবহার করা সম্ভব ? আমি যখন গিটহাব তৈরি করা টারবালগুলি বের করছি তখন আমার এটি দরকার যখন স্ট্রিপ উপাদানগুলিতে গিট রিভিশন থাকে যা আমি আগে জানিনা।
tjanez
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.