কীভাবে ফাইলগুলি সিমলিঙ্কগুলি পিছনে রেখে যায়?


9

মূল ডিরেক্টরিতে সিমলিঙ্কগুলি রেখে আমি কীভাবে ফাইলগুলি একটি ডিরেক্টরি থেকে অন্য ডিরেক্টরিতে স্থানান্তর / অনুলিপি করতে পারি । আমি ln -sগন্তব্যটিতে সিমলিংকগুলি তৈরি জানি , তবে আমি উত্স ডিরেক্টরিতে সিমলিংকগুলি ছেড়ে আসল ফাইলগুলিকে নতুন স্থানে নিয়ে যেতে চাই। কিভাবে আমি এটি করতে পারব?


এই প্রশ্নের সেরা উত্তরটি এখানে: unix.stackexchange.com/a/228166/7000
শ্রীধর সারনোবাত

উত্তর:


4

পৃথকভাবে ফাইলগুলি প্রক্রিয়া করুন, যেমন,

cd $original_directory  
for i in <files to process> ; do  
    mv ./$i $new_directory/  
    ln -s $new_directory/$i ./$i
done

বা, অনুলিপি করা থাকলে, mvকমান্ড লাইনটি এর সাথে প্রতিস্থাপন করুন

    cp ./$i $new_directory/  
    rm ./$i   

1
সিপি / আরএম সংস্করণ - এর সম্ভাব্য সুবিধাগুলি কী কী? দেখে মনে হচ্ছে এটি একই ধীরে ধীরে একই কাজ করে :)
সের্গেই

@ সার্জি ওয়ান এর প্রস্থান স্থিতি পরীক্ষা করতে পারে cpএবং এটি সফল হলেই অপসারণের জন্য এগিয়ে যেতে পারে।
lgarzo

@ লেগারজো: mvফাইলটি মোছার আগে অনুলিপিটি সফল হয়েছিল কিনা তা যদি পরীক্ষা না করে তবে এটি মূল্যবান হবে - তবে এটি একটি মারাত্মক বাগ হতে পারে mv:)
সের্গেই

"$ New_directory" এবং "<প্রসেস করার জন্য ফাইলগুলি>" "বিশেষ ভেরিয়েবল", যেখানে আমি স্ক্রিপ্টটি দিয়েছি সর্বশেষ যুক্তিটি সর্বদা "$ new_directory" হিসাবে বিবেচিত হবে এবং যে কোনও প্রাথমিক আর্গুমেন্ট "<ফাইলগুলি প্রক্রিয়াতে>>" বিবেচিত হবে? " এটি কি আমি লেখার অন্য কোনও স্ক্রিপ্টের জন্য প্রযোজ্য? বা আপনি কি বোঝাচ্ছেন যে "$ 1" এবং "$ 2" ব্যবহার করার মতো আমার শূন্যস্থান পূরণ করা উচিত? প্রশ্নের জন্য দুঃখিত তবে আমি সাধারণভাবে কোডিংয়ে খুব নতুন।
ডিওক্স

1
আপনি যে ডিরেক্টরিগুলি থেকে / এ স্থানান্তর করতে চান তা প্রতিস্থাপন করুন $original_directoryএবং $new_directoryতাদের এটিকে সেট করুন original_directory=/home/walt/from। স্ক্রিপ্টগুলিতে ব্যবহারের জন্য আপনাকে নিজেরাই যুক্তিগুলি পার্স করতে হবে। দেখুন builtin getopts মধ্যে man bash
ওয়ালটিনেটর
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.