অন্য কোথাও হার্ড লিঙ্কিং ডিরেক্টরি কাঠামো


2

আমার কাছে একটি ডিরেক্টরি রয়েছে যেখানে ফাইল উপস্থিত রয়েছে। আমি একটি স্ক্রিপ্ট রেগুলেটরি চালাতে চাই যা সেই ডিরেক্টরীতে সমস্ত ফাইল খুঁজে পায় যা তাদের কাছে শুধুমাত্র একটি লিঙ্ক থাকে এবং অন্য ডিরেক্টরিতে তাদের হার্ড লিঙ্ক দেয়। যাইহোক, আমি চাই দ্বিতীয় ডিরেক্টরিতে ডিরেক্টরির গঠনটি প্রথম মিলতে হবে।

খুঁজুন / srcdir / -links 1 -exec ln {} / dstdir / \;

সব ফাইল hardlink না, কিন্তু আমি প্রয়োজন ডিরেক্টরি তৈরি করে না।

যদি কোন ডিরেক্টরীতে ইতিমধ্যে এমন একাধিক ফাইল রয়েছে যা ইতিমধ্যে একাধিক লিঙ্ক থাকে, তবে সেই ডিরেক্টরিটি গন্তব্যটিতে তৈরি করতে হবে না।


আপনার প্রশ্নটি আছে যে আপনার "একটি ডিরেক্টরি যেখানে ফাইল উপস্থিত রয়েছে"। আমি কি বুঝাতে চাচ্ছি আপনি ফাইলগুলিতে উপস্থিত বিভিন্ন উপ-ডিরেক্টরিগুলির সাথে একটি ডিরেক্টরি আছে?
terdon

হ্যাঁ, অবশ্যই। ফাইল সরাসরি সেই ডিরেক্টরীতেও উপস্থিত হতে পারে, তবে সেখানে নতুন সাবডিরেক্টরিগুলি উপস্থিত থাকতে পারে যেখানে ফাইলগুলি উপস্থিত হয়।
Tom Ribbens

উত্তর:


3

যেহেতু হার্ড লিঙ্কগুলি বরং সস্তা, তাই আপনি তাদের পছন্দ করতে পারেন: (এটি সমস্ত ফাইলগুলির হার্ড লিঙ্ক তৈরি করবে এবং সূত্র হিসাবে ডিরেক্টরি তৈরি করবে)

cp -al source dest

তারপরে আপনি আপনার ফাইল সিস্টেমে কিছু অন্যান্য অবস্থানে থাকা হার্ডলিঙ্কগুলি সরাতে পারেন। (যদি ডবল হার্ড লিঙ্ক একটি সমস্যা হয়) আপনি পোস্ট সামান্য অভিযোজিত অনুসন্ধান কমান্ড ব্যবহার করে।


0

আমি আপনার প্রশ্ন সঠিকভাবে বুঝতে পেরেছি এবং আপনার একটি ডিরেক্টরি আছে ( sourcedir ) বিভিন্ন সাব ডিরেক্টরি এবং সংযুক্ত ফাইলের মধ্যে হতে পারে /sourcedir/ অথবা মধ্যে /sourcedir/foo অথবা /sourcedir/bar ইত্যাদি, তারপর এই আপনার প্রয়োজন কি করা উচিত:

find /sourcedir/ -links 1  | sed 's/.sourcedir.//' | while read n; do \
  mkdir -p /destdir/`dirname "$n"`; ln /sourcedir/"$n" /destdir/"$n"; \
done

এটি ব্যবহার করে dirname প্রতিটি ফাইলের সাব ডিরেক্টরি পেতে এবং mkdir -p গন্তব্য ডিরেক্টরি ডিরেক্টরিতে ডিরেক্টরি গঠন করতে।

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