Tar -xvf ডিরেক্টরি থেকে বিদ্যমান ফাইলগুলি সরিয়ে দেয়?


10

আমার একটি টার আর্কাইভ রয়েছে এবং আমি এটি ব্যবহার করতে চাই tar -xvf
এই টার আর্কাইভে আমার কাছে একটি ডিরেক্টরি গাছ রয়েছে যা বেশ কয়েকটি ফাইল যুক্ত করে। আমার সোলারিস 10 সিস্টেমে এই ডিরেক্টরি গাছটি ইতিমধ্যে বিদ্যমান এবং এতে বেশ কয়েকটি ফাইল রয়েছে।
যদি আমি সংরক্ষণাগারটি আনপ্যাক করি তবে সম্পূর্ণ ডিরেক্টরি গাছটি ওভাররাইট করা হয় বা কেবল সংরক্ষণাগারটিতে থাকা ফাইলগুলি ওভাররাইট করা হয়?
তার সংরক্ষণাগারে কোনও সংবাদদাতা নেই এমন ফাইলগুলি কী মুছে ফেলা হবে?


আপনি সর্বদা একটি পরীক্ষা .আরটি এবং একটি পরীক্ষা ডিরেক্টরি তৈরি করতে পারেন এবং এটি চেষ্টা করে দেখতে পারেন ... আপনি যে উত্তরটি নিজের সাথে নিয়ে এসেছেন তা এখানকার যে কেউ আপনাকে দেওয়া উত্তরের চেয়ে অনেক বেশি দীর্ঘস্থায়ী হবে।
জারভিন

উত্তর না হয়। আপনি যদি কঠোরভাবে চিন্তা করেন তবে আপনি বুঝতে পারবেন যে কোনও সংরক্ষণাগার থেকে ফাইলগুলি বের করার কোনও প্রোগ্রাম পুরোপুরি সম্পর্কিত নয় এমন ফাইলগুলি মুছে ফেলবে any
ফস্কো

উত্তর:


5

ইতিমধ্যে উপস্থিত নকল ফাইলগুলি আপনার সিস্টেমে নির্ভর করে প্যাক করা এবং ওভাররাইট করা হতে পারে rit তবে এটি সাধারণত ডিফল্টরূপে করে। সংরক্ষণাগারে থাকা ফাইলগুলি কিন্তু আপনার সিস্টেমে নেই এমন ফাইলগুলি কেবল আপনার সিস্টেমে নতুন বা বিদ্যমান ডিরেক্টরিতে যুক্ত করা হবে।

dir /test

/1/a
c

সংরক্ষাণাগার test.tar

/1/b
d

সম্ভবত এতে একীভূত হবে:

/1/a
/1/b
c
d

যোগ করার পদ্ধতি -kআলকাতরা কমান্ড পতাকা আপনার টার্গেট ডিরেক্টরির ফাইলের নিশ্চিত কেউ ওভাররাইট হবে করতে হবে:

tar -xvkf test.tar

@ বিপি: ওভাররাইটে শেল নির্ভর হতে পারে কারণ সিএসএস (এখনও সূর্যের উপর ডিফল্ট শেল?) এর একটি "নোক্লোবার" শেল ভেরিয়েবল ছিল যা সেট সেটলে দুর্ঘটনাজনিত ওভাররাইট আচরণকে বাধা দেয়।
হোটেই

ধন্যবাদ ব্লাডফিলিয়া এবং হোতেই। আমি আমার সিস্টেমে একটি পরীক্ষা করেছি এবং টার-এক্সভিএফ ইতিমধ্যে বিদ্যমান ফাইলগুলিকে ওভাররাইট করে এবং অস্তিত্ব নেই এমন ফাইলগুলি যুক্ত করে। আমি যা জানতে চাই তা যদি কোনও সম্ভাবনা থাকে যে একটি সম্পূর্ণ ডিরেক্টরি ওভাররাইট করা উচিত এবং এইভাবে সেই ডিরেক্টরিটিতে আমার সিস্টেমে থাকা ফাইলগুলি কিন্তু সংরক্ষণাগারে ছিল না তবে এটি হারাবেন? উদাহরণস্বরূপ: আমার dir.tar dir / file2 আছে। আমার সিস্টেমে আমার dir / file1, dir / file2 এবং dir / file3 রয়েছে। এটা কি সম্ভব যে আমি যদি টার-এক্সভিএফ ডির.আর সঞ্চালন করি তবে পুরো দিরটি ওভাররাইট হয়ে যাবে এবং এতে আর ফাইল 1 এবং ফাইল 3 থাকবে না?
ফেলিসিয়া

@ হোটেই: noclobber(এটি পসিক্স শেল বিটিডব্লুতেও রয়েছে) কেবল >fooশেলটিতে পুনর্নির্দেশ করা ফাইলগুলিকেই প্রভাবিত করে । টারের উপর এর কোনও প্রভাব নেই।
গিলস

@ hotei noclobber আপনাকে শেলের পুনর্নির্দেশের মাধ্যমে ফাইলগুলি ওভাররাইট করা থেকে বিরত রাখে। সুতরাং echo foo > bar.txtএটি উপস্থিত থাকলে বার.টিএসএটি ওভাররাইট করবে না। একটি প্রোগ্রাম যেমন ট্যারে ওভাররাইট হবে তার কোনও প্রভাব নেই।
কিথবি

1
@ ফেলিচিয়া: একক ইউনিক্স অনুসারে, সংরক্ষণাগারটিতে থাকা ফাইলগুলি মুছবে না will এটি সংরক্ষণাগার থেকে সামগ্রীগুলি (তবে মোডগুলি নয়) দিয়ে ওভাররাইট করবে। চারপাশে অ-কমপ্লায়েন্ট টার থাকতে পারে, তবে আমি সন্দেহ করি যে এগুলির কোনওটিই কোনও সম্পর্কিত নয় এমন ফাইলের ওভাররাইট করতে পারে dir/file1
গিলস

0

সবচেয়ে সহজ উপায় হল একটি নতুন, খালি ডিরেক্টরি তৈরি করা, এটির সিডি করা এবং সেখানে ফাইলগুলি বের করা। নিষ্ক্রিয় ফাইলগুলি আপেক্ষিক (। / দিয়ে শুরু হওয়া) এবং পরম নয় (শুরু দিয়ে /) হওয়া সত্ত্বেও আপনাকে সতর্ক হওয়া দরকার। আপনি যদি না জানেন তবে কেসের ক্ষেত্রে তা দেখতে কম সামগ্রীর সারণীর পাইপ করুন (tar -tvf tar_filename | কম)

আপনার টার ভার্সনটি ডিফল্টরূপে ওভাররাইট হয়েছে কিনা তা ম্যান পৃষ্ঠাটি দেখে অনুসন্ধান করতে পারবেন। টার এক্সট্রাকশনের সময় ফাইলগুলি মুছবে না, এটি অন্য কারণ যা লোকেরা সাধারণত একটি নতুন, খালি ডিরেক্টরি থেকে এক্সট্রাক্ট করার আগে শুরু করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.