রুটে সিলেলিংক কীভাবে তৈরি করবেন


13

আমি /আমার হোম ডিরেক্টরিতে রুট ( ) ফোল্ডারে একটি সিমিলিংক তৈরি করতে চাই । তবে আমি যদি এটি চেষ্টা করি, আমি পেয়েছি

~$ ln -s /
ln: failed to create symbolic link './': File exists

আমি অবশ্যই নটিলাস Ctrl+ ব্যবহার করে এটি করতে পারি D, তাই আমি জানি এটি সম্ভব।

টার্মিনালটি ব্যবহার করে এটি কীভাবে করবেন?


যদিও এটি একটি ভাল প্রশ্ন, আমি কেন আপনি এটি করতে চান তা জানতে চাই? এটি টাইপ করা খুব কঠিন cd /? বা আপনি কি এমন লিঙ্ক তৈরি করতে চান যা বার বার লুপের মধ্য দিয়ে চলতে থাকবে? উদাহরণ: cd root/home/terrance/root/home/terrance/root/home/terrance/root। । । ইত্যাদি
টেরেন্স

সত্যিই নয়। আপনি মূলের সাথে লিঙ্ক করার প্রয়োজন ছাড়াই এটি করতে পারেন। আসলে, আমি কেন আগ্রহী ছিলাম কেন আপনি এটি করতে পারবেন না
অঙ্কুর এস

যথেষ্ট ফর্সা। আমার প্রশ্নের উত্তর করার জন্য আপনাকে ধন্যবাদ। =)
স্থপতি

উত্তর:


17

আপনি লিঙ্কটির নাম মিস করছেন, এটি হওয়া উচিত:

cd ~
ln -s / root

যা আপনার হোম ডিরেক্টরিতে মূল নামে একটি সিমিলিংক তৈরি করবে। সুতরাং সঠিক ব্যবহারটি হ'ল:

ln -s <target> <link-name>

আপনি যে ত্রুটি বার্তাটি দেখছেন তা হ'ল, ./সর্বদা উপস্থিত থাকে এবং এই নামের সাথে একটি লিঙ্ক তৈরি করা যায় না, ভুল লিঙ্কেজ রোধ করতে উভয় পরামিতি সহ 2 lnকমান্ডটি ব্যবহার করা ভাল ।

থেকে man ln:

সংক্ষিপ্তসার

(1st form) ln [OPTION]... [-T] TARGET LINK_NAME  
(2nd form) ln [OPTION]... TARGET  
(3rd form) ln [OPTION]... TARGET... DIRECTORY  
(4th form) ln [OPTION]... -t DIRECTORY TARGET...  

বর্ণনা

1 ম ফর্মে, TARGETনামের সাথে একটি লিঙ্ক তৈরি করুন LINK_NAME। ২ য় ফর্মটিতে TARGETবর্তমান ডিরেক্টরিতে একটি লিঙ্ক তৈরি করুন । তৃতীয় এবং চতুর্থ ফর্মগুলিতে প্রতিটি TARGETভিতরে লিঙ্ক তৈরি করুন DIRECTORY। ডিফল্ট হিসাবে হার্ড লিঙ্কগুলি তৈরি করুন, এর সাথে প্রতীকী লিঙ্কগুলি --symbolic। ডিফল্টরূপে, প্রতিটি গন্তব্য (নতুন লিঙ্কের নাম) ইতিমধ্যে 4 থাকা উচিত নয় । হার্ড লিঙ্কগুলি তৈরি করার সময়, প্রতিটি TARGETঅবশ্যই বিদ্যমান। প্রতীকী লিঙ্কগুলি নির্বিচারে পাঠ্য ধারণ করতে পারে; যদি পরে সমাধান করা হয় তবে তার সম্পর্কিত ডিরেক্টরি সম্পর্কিত একটি আপেক্ষিক লিঙ্কটি ব্যাখ্যা করা হয়।

সংক্ষিপ্ত বিকল্পগুলির জন্য দীর্ঘ বিকল্পগুলিতে বাধ্যতামূলক যুক্তিগুলি বাধ্যতামূলক।

পছন্দসমূহ

চূড়ান্ত পরামিতি, <link-name>লক্ষ্যটির শেষ অংশে ডিফল্ট হয়। সুতরাং লক্ষ্যটি যখন /path/dirলিঙ্কটির নাম dirউল্লেখ করা না থাকলে ডিফল্ট হবে । 1 এবং যদি আপনি উদাহরণস্বরূপ তৈরি ~/etcসঙ্গে mkdir ~/etcএবং তারপর চালানোর ln -s /etcমধ্যে ~এটি লিংক কারণ নাম / নির্দেশিকা ইতিমধ্যেই বিদ্যমান আছে তৈরি করতে পারবেন না। 3

এবং আপনি আপনার হোম ডিরেক্টরিতে তৈরি লিঙ্কটি দেখতে পাচ্ছেন (এখানে উদাহরণস্বরূপ, অবশ্যই আপনি যা খুশি নামকরণ করতে পারেন):

$ ls -l ~/root
lrwxrwxrwx 1 videonauth videonauth 1 Dez 14 00:28 root -> /

1 এটি প্রকাশ করার জন্য @ থোমাসরুত্রকে ধন্যবাদ ।
2 আরও দেখুন man linkএবং man symlink
3 মন্তব্যগুলিতে উদাহরণ দেওয়ার জন্য @ স্টিলড্রাইভারকে ধন্যবাদ ।
4 পাঠ্যের বিষয়টি প্রশ্নের সাথে প্রাসঙ্গিক হওয়ার কারণে জোর দেওয়া অংশ।


আমার একমাত্র সন্দেহের অবকাশ হ'ল কেন কোনও আদেশের মতো ln -s /etcকাজের মতো হওয়া উচিত ? উত্তরের জন্য ধন্যবাদ,
অঙ্কুর এস

এটি তৈরি করা হয়েছে কারণ এটির একটি ডিরেক্টরি নাম রয়েছে, /এটি মূল হতে পারে বা এটি একটি পথ উপাদান হতে পারে যাতে প্রোগ্রামটি এখন কী বোঝাতে পারে তা জানতে পারে না। /etcকেবল একটি স্পষ্ট স্বতন্ত্র পাথ।
ভিডিওনাথ

7
@AnkurSonawane কারণ ./হবে সবসময় অস্তিত্ব - ./etcতাই সম্ভবত না। mkdir etcপ্রথমে চেষ্টা করুন , এবং তারপরেln -s /etcFile exists
আপনিও

8
চূড়ান্ত প্যারামিটার, লিঙ্ক-নাম, বাদ পড়লে লক্ষ্যের শেষ অংশে ডিফল্ট হয়। সুতরাং লক্ষ্যটি যখন /some/dirলিঙ্কটির নাম dirউল্লেখ করা না থাকলে ডিফল্ট হবে । লক্ষ্যটি যখন ঠিক /, তবে এটি কার্যকর হবে না।
থোমাস্রুটার

আমি অনুভব করি না যে এটি অত্যন্ত তাৎপর্যযুক্ত তবে @ স্টাইলড্রাইভারের ব্যাখ্যা File Existsআউটপুটটি দেওয়ার কারণে আরও যুক্তিসঙ্গত বলে মনে হচ্ছে । এটি হ'ল এটি যেভাবে হ্রাস পায় তা হ'ল এই অধঃপতিত কেস
অঙ্কুর এস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.