সিডি ব্যবহার করার সময় / ব্যবহার করুন


12

আমি আমার ম্যাকের হোম ডিরেক্টরিতে আছি:

$ pwd
/Users/lukas

আমি যখন cdআশেপাশে থাকি তখন আমি পথটি শুরু করি না (এবং করতে পারি না) /:

$ cd Documents/
/Users/lukas/Documents

$ cd /Documents
-bash: cd: /Documents: No such file or directory

আমি যখন থাকি তবে /:

$ pwd
/
$ cd Users
/Users

$ cd /Users
/Users

কেন আপনি পরবর্তী কোনও স্তরে না /গিয়ে পথের সামনে ব্যবহার করতে পারি ? এটি ম্যাকোসের সাথে নির্দিষ্ট বা এই মানক ইউনিক্স আচরণ?//Users


11
আমি মনে করি আপেক্ষিক ও পরম পাথ সম্পর্কে প্রশ্নগুলি befofre জিজ্ঞাসা করা হয়েছে
অ্যাডামকজি

6
@ অ্যাডামসিজি এটি স্পষ্টতই স্পষ্ট যে আপেক্ষিক পথটি কী তা জানেন না, বা এর সিনট্যাক্সটি কীভাবে রয়েছে, সুতরাং তিনি এটি সন্ধান করতে পারবেন না।
মনিকা

12
@ কে.গকিনিস যা নকল হিসাবে বন্ধ না করার কারণ নয়। এটি অনুরোধকারীদের ভাল উত্তর পেতে সহায়তা করে (উত্তরগুলি ভাল বলে ধরে নিন) এবং উত্তরদাতাদের একই সামগ্রীর কম সংস্করণ বজায় রাখতে সহায়তা করে।
ব্যবহারকারী 202729

9
@ কে.গকিনিস এবং এক অর্থে এটি নকল হিসাবে বন্ধ হওয়ার পয়েন্টের একটি বৃহত অংশ: লোকেরা বিভিন্ন উপায়ে প্রশ্ন জিজ্ঞাসা করবে, তাই একক উত্তরের দিকে নির্দেশ করে প্রচুর প্রশ্ন (এই উপায়গুলির সাথে মিলছে) হ'ল একটি ভাল জিনিস. এই জাতীয় ক্ষেত্রে (যেখানে কোনও ওপি অনুসন্ধানের জন্য শব্দটি জানে না), ক্লোসিং-এ-ডুপ তাদের পক্ষে সমালোচনা নয়, লোকেরা যেভাবে প্রশ্ন জিজ্ঞাসা করে সেগুলি পরিচালনা করার কেবল সেরা উপায়।
ট্রিপহাউন্ড

1
@adamczi তারা সামনে (লিঙ্কের জন্য আপনাকে ধন্যবাদ!) জিজ্ঞাসা করা হয়েছে কিন্তু আমার প্রশ্ন এবং বিশেষ করে মহান এখানে দেওয়া উত্তর উপায় আরো বিস্তারিত ও উত্তর আপনি লিঙ্ক বেশী ভালো ধারণা ব্যাখ্যা। এটি নকল হিসাবে বন্ধ করার জন্য গুরুত্বপূর্ণ কিনা তা জানেন না তবে এটি বিবেচনা হতে পারে।
LukasKawerau

উত্তর:


45

এটি স্ট্যান্ডার্ড ইউনিক্স আচরণ।

/পাথ শুরুতে ডিস্ক (অথবা শুরু / ফাইলসিস্টেম গাছের সর্বোচ্চে স্তর) রুট প্রতিনিধিত্ব করে। যেহেতু Documentsমূল থেকে নেই, /Documentsখুঁজে পাওয়া যায় না।

/Users মূল ডিরেক্টরিটি বন্ধ রয়েছে, সুতরাং এই সমস্যাটি ঘটে না।

আপনি cd /Users/lukas/Documentsসেই পথে পরিবর্তন করতে ব্যবহার করতে পারেন ।

বিকল্পভাবে, আপনি আপেক্ষিক ঠিকানা ব্যবহার করতে পারেন। ইউনিক্স ভিত্তিক ফাইল সিস্টেমে দুটি বিশেষ ডিরেক্টরি রয়েছে:

  • . যার অর্থ "এই ডিরেক্টরি",
  • .. যার অর্থ পিতামাতার ডিরেক্টরি।

যেখানে আপনি থাকেন তাহলে /Users/lukas, cd ./Documentsসঠিক জায়গায় নিয়ে যাবে।

আসুন অনুমান আপনি ছিল /Users/Lukas/Documentsএবং যেতে চেয়েছিলেন /Users/Janes/Documents, আপনি একটি কমান্ড পারে cd ../../Janes/Documents- ব্যবহার ..নতুন আপেক্ষিক পাথ মধ্যে যাওয়া আগে তাই আপনি এটি দুইবার করবেন, - আপনি একটি স্তর ফেরত নিতে হবে।


1
নোট: যেমন @davidgo বললেন, যখন Users/lukas, cd Documentsকলগুলির আপেক্ষিক পাথ ; পরম পাথেরcd /Users/Lukas/Documents জন্য কল করে (যা এই আদেশটি কল করার সময় আপনি যা কিছু রেপেটারি করছেন তাতে কাজ করবে)।
শান-এক্স

1
প্রশ্নটি ম্যাক সম্পর্কে, যদিও এটি ইউনিক্স সিস্টেম, এটি মানক এমএস-ডস / উইন্ডোজ আচরণ ( /`\` দ্বারা প্রতিস্থাপন করা ) যেহেতু ডক্স এটি ইউনিক্স থেকে (ণ নিয়েছিল (দীর্ঘায়িত ইতিহাসের মাধ্যমে)।
ফ্রিম্যান

2
এছাড়াও আপনি যে শেলটি ব্যবহার করেন তার উপর নির্ভর করে সিডি $ হোম / ডকুমেন্টস বা সিডি ~ / ডকুমেন্টসও কাজ করবে। শেল ভেরিয়েবল হোম ($ Home দিয়ে অ্যাক্সেস করা) হ'ল আপনার বাড়ির ডিরেক্টরিতে ($ HOM- র জন্য একটি বিশেষ নাম) ~
pboss3010

13

/Users/lukasএকটি "পরম" পথ। শীর্ষস্থানীয় /আপনার ফাইল সিস্টেমের মূল ডিরেক্টরিটি উপস্থাপন করে।

lukasএকটি "আপেক্ষিক" পথ। যেহেতু এটি মূলের সাথে নোঙ্গর করা হয়নি, এর অর্থ " বর্তমান ডিরেক্টরিতে এটি অনুসন্ধান করুন"। বর্তমান ডিরেক্টরিটি /Users(বা এর সাথে অন্য কোনও ডিরেক্টরি lukas) না থাকলে এটি ব্যর্থ হবে।

সুতরাং, আসুন আমরা ধরে নিই যে আপনার উদাহরণগুলি অন্বেষণ করুন /Users/lukas:

$ cd Documents/
/Users/lukas/Documents

আপেক্ষিক পথ দেওয়া => ভিতরে থাকা ডিরেক্টরিতে "ডকুমেন্টস" তে পরিবর্তন করুন /Users/lukas

$ cd /Documents
-bash: cd: /Documents: No such file or directory

প্রদত্ত পরমপথ => ডিরেক্টরিতে পরিবর্তন /Documents

$ pwd
/

এটি দেখায় যে আপনি এখন ওয়ার্কিং ডিরেক্টরিটি মূল ডিরেক্টরিতে পরিবর্তন করেছেন, /(যদিও এটি করার cdআদেশটি প্রদর্শিত হয়নি)।

$ cd Users
/Users

আপেক্ষিক পথ দেওয়া => ভিতরে থাকা ডিরেক্টরিতে "ব্যবহারকারীদের" পরিবর্তন করুন /

$ cd /Users
/Users

প্রদত্ত পরমপথ => ডিরেক্টরিতে পরিবর্তন /Users

প্রতিবার কীটি হচ্ছে অগ্রণী /। এটি দিয়ে, পথ পরম। তা ছাড়া পথটি আপেক্ষিক। এই নিয়মটি দ্ব্যর্থহীন কারণ সমস্ত নিখুঁত পাথ শুরু হয় /(কারণ মূল ডিরেক্টরিটি সর্বদা ডাকা হয় /)।

এখানে কিছু সিউডোকোড আলগাভাবে সেই অ্যালগরিদম বর্ণনা করছে:

MakePathAbsolute(path):
   if <path> starts with '/'
      return <path>
   else
      return <current directory>/<path>

আপনি যে যুক্তিটি পাস করেন cdতা এই অ্যালগরিদমের মধ্য দিয়ে যায়; আপনি যে ডিরেক্টরিটিতে পরিবর্তন করতে চান তা হ'ল আলগোরিদিম ফেরার পথ।


আরও পড়া:


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