কোনও ডিরেক্টরিতে কোনও স্থানের সাথে এটি একটি প্রতীকী লিঙ্ক কীভাবে তৈরি করব?


24

আমি নিম্নলিখিত কমান্ডটি ব্যবহার করে একটি প্রতীকী লিঙ্ক তৈরি করার চেষ্টা করছিলাম:

ln -s "~/Foo Bar/" Foo

... তবে এটি কার্যকর হয়নি (উদাহরণস্বরূপ যখন আমি সন্ধানকারীর কাছে যাই এবং এটিতে ডাবল ক্লিক করার চেষ্টা করি, তখন এটি বলে যে এটি একটি অবৈধ পথের দিকে ইঙ্গিত করে এবং আমাকে উপনাম মুছতে বা এটি ঠিক করতে অনুরোধ করে)। আমাকে ফোল্ডারটির নাম পরিবর্তন করতে হবে FooBarএবং তারপরে নিম্নলিখিত কমান্ডটি চালাতে হবে:

ln -s ~/FooBar/ Foo

ফোল্ডারের নাম থেকে স্থানটি সরিয়ে না রেখে আমি কীভাবে লিঙ্কটি তৈরি করতে পারি?

আমি এটি টার্মিনালে করার জন্য এবং ফাইন্ডারের ইউআইতে নয় এমন উপায় খুঁজছি।


1
গর্ডন ডেভিসন ঠিক থাকলেও, আপনার সচেতন হওয়া উচিত যে এলিয়াস এবং প্রতীকী লিঙ্কগুলি (সিমলিংক) আলাদা different ln -sপ্রতিলিঙ্ক তৈরি করে। ফাইন্ডার এলিয়াস তৈরি করে। ব্যবহারিক, সাধারণ ব্যবহারে এগুলি প্রায় অভিন্ন, তবে এগুলি আলাদা যে তা স্বীকৃতি দেওয়া গুরুত্বপূর্ণ । সিমলিংকগুলি একটি ডিরেক্টরি পাথের দিকে ইঙ্গিত করে, যখন উপাধিগুলি কোনও ফাইলকে নির্দেশ করে। যদি আপনার উভয়ই একই ফাইলের দিকে ইশারা করে এবং আপনি ফাইলটি অন্য একটি ফোল্ডারে নিয়ে যান তবে পুরানো ফোল্ডারে একটি নতুন ফাইল তৈরি করুন, উপনামটি সরানো আসলটির দিকে নির্দেশ করবে এবং সিমলিংক নতুন ফাইলটিতে নির্দেশ করবে।
কাজুনলুক

1
@ কেজুন: স্পষ্টির জন্য ধন্যবাদ। এটি বিভ্রান্তিকর যে সন্ধানকারী একটি প্রতীকী লিঙ্কের "ਕਿਸਮ" সম্পত্তিটি "উপন্যাস" হিসাবে দেখায়।
সংবেদনশীল

4
ট্যাব ln -s ~/Foo<tab>সমাপ্তিও একটি দুর্দান্ত জিনিস, যদি আপনি এটি করতে চান: (যেখানে <tab> আপনার কীবোর্ডের আসল ⇥ (ট্যাব) কীটি বোঝায়), যদি সেখানে কেবলমাত্র একটি ফোল্ডার থাকে যা "ফু" দিয়ে শুরু হয় ~তবে এটি স্বয়ংক্রিয়ভাবে চলে যাবে যাও পথ প্রসারিত ~/Foo\ Bar/
জেসন সালাজ

উত্তর:


41

উদ্ধৃতি চিহ্নগুলি ~আপনার বাড়ির ফোল্ডারে প্রসারিত হতে বাধা দিচ্ছে , সুতরাং আপনাকে খালি জায়গার সাথে খালি অংশটি উদ্ধৃত করতে হবে:

ln -s ~/"Foo Bar/" Foo

দ্রষ্টব্য: ঠিক কতটা উদ্ধৃত হয়েছে তা বিবেচ্য নয়, যতক্ষণ স্থান উদ্ধৃত অংশে এবং and / না হয় isn't ~/Foo" "Bar/, ~/"Foo Bar"/, ~/Fo"o B"ar/ইত্যাদি সব সমতুল্য। এছাড়াও, একক এবং ডাবল-কোটগুলির স্পেসগুলিতে একই প্রভাব রয়েছে (যদিও তারা অন্যান্য চরিত্রের সাথে পৃথক হয়), তাই ~/'Foo Bar/', ~/Foo' 'Bar/ইত্যাদিও কাজ করবে।

স্থানটিকে বিভাজক হিসাবে বিবেচনা করা থেকে বিরত রাখতে আপনি পালাতেও ব্যবহার করতে পারেন:

ln -s ~/Foo\ Bar/ Foo

5
আপনি স্থানটি গুরুতরভাবে উদ্ধৃত করতে পারেন? সেটা খুবই ভালো!
জেসন সালাজ

বা "$HOME/Foo Bar/"
wchargin

@wchargin এটি কাজ করবে। মনে রাখবেন যে, অসদৃশ ~, $HOME উচিত বিভ্রান্তির প্রতিরোধ যদি আপনার হোম ডিরেক্টরীতে স্পেস বা অন্য অদ্ভুত অক্ষর রয়েছে ডাবল উদ্ধৃতি চিহ্ন থাকবে। "$HOME/Foo Bar/"(আপনি সুপারিশ হিসাবে), "$HOME"/Foo" "Bar/, "$HOME"/Foo\ Bar/, ইত্যাদি কাজ করবে।
গর্ডন ডেভিসন

0

আমি নিজেই এটি পরীক্ষা করেছি। এতে কোনও স্থান নিয়ে আমার সমস্যা নেই:

    $ ln -s "/Users/joe/test/foo bar"/ linkToFoo_Bar

ls দেখায়: $ linkToFoo_Bar -> /Users/joe/test/foo bar/ এবং এটি কোনও সমস্যা ছাড়াই টার্মিনাল এবং অনুসন্ধানকারীতে কাজ করে।


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