বিন্দু বিন্দু (..) আসলে কী? সিমলিংকের সাথে এর আচরণ কেন আলাদা?


15

আমি ..(ডাবল ডট) এর প্রকৃতিটি বোঝার চেষ্টা করছি । আপনি কীভাবে এটি অ্যাক্সেস করবেন তার উপর নির্ভর করে এটি বিভিন্ন লক্ষ্যবস্তুগুলিকে নির্দেশ করে বলে মনে হচ্ছে।

উদাহরণ: -

    /outer/
        middle/
            inner/
        inner --> ./middle/inner/

এখন, /outer/middle/inner/..বাড়ে /outer/middle/, তবে আমি প্রতীকী লিঙ্কের মাধ্যমে যদি এটি অ্যাক্সেস করি তবে /outer/inner/..বাড়ে /outer/। মনে হয় ..এখানে দুটি আলাদা আছে।

..ঠিক কি ? প্রতীকী লিঙ্ক? হার্ড লিঙ্ক? অথবা ডিরেক্টরিটি অ্যাক্সেস করা হয়ে যাওয়ার পরে এটি গতিশীলভাবে উত্পন্ন হয়? অথবা সম্ভবত প্রতীকী লিঙ্কগুলি সম্পর্কে আমার বোঝা ভুল।

সম্পাদনা:

অন্যান্য সম্পর্কিত পর্যবেক্ষণ

    /outer/
        middle/
            file
            inner/
               f --> ./../file
        inner --> ./middle/inner/

এখন যদি আমি এর মাধ্যমে ফাইল অ্যাক্সেস করার চেষ্টা করি তবে /outer/inner/fএটি কাজ করে। তবে এটি /outer/inner/../fileকোনও ফাইলের দিকে নির্দেশ করে না। ফাইলের মধ্যে হয় /outer/middle/inner/..। এটি উপরের আচরণের সাথে বিরোধিতা করে বলে মনে হচ্ছে !?


লক্ষ করুন যে প্রতীকী লিঙ্কগুলি শর্টকাট নয়; তারা আরও পয়েন্টার মত।
wizzwizz4

উত্তর:


35

..প্যারেন্ট ডিরেক্টরিতে একটি হার্ড লিঙ্ক যা ডিরেক্টরি প্রবেশের অংশ হিসাবে তৈরি করা হয়।

আপনি যদি ls -ailএই ডিরেক্টরিগুলির প্রত্যেকটিতে ইস্যু করেন তবে আপনাকে দেখতে হবে যে নীচের এন্ট্রিগুলিতে সমস্ত একই inode(প্রথম ক্ষেত্র) এবং হার্ড লিঙ্ক গণনা (তৃতীয় ক্ষেত্র) রয়েছে:

  • ..যখন নির্বাহ ls -ailকরাinner
  • .যখন নির্বাহ ls -ailকরাmiddle
  • middleযখন নির্বাহ ls -ailকরাouter

এখন, / বহিরাগত / মাঝারি / অভ্যন্তরীণ / .. / বহিরাগত / মধ্য / দিকে বাড়ে, তবে আমি যদি এটি সিম্বলিক লিঙ্কের মাধ্যমে অ্যাক্সেস করি তবে / বাহ্যিক / অভ্যন্তরীণ / .. / বাহ্যিক / দিকে পরিচালিত করে। মনে হয় এখানে দুটি আলাদা আছে .. এখানে।

একটি ..প্রবেশ আছে inner। যদি আপনার বর্তমান কার্যনির্বাহী ডিরেক্টরিটি থাকে তবে আপনার outerএকই ফলাফলগুলি (ডিরেক্টরিতে একটি ডিরেক্টরি তালিকা middle) দেখতে হবে

  • ls -al inner/..
  • ls -al middle/inner/..

শুধুমাত্র অবস্থা যা "-এ অ্যাক্সেস" ..প্রতীকী লিঙ্কের মাধ্যমে বিভিন্ন আচরণ প্রদান করা উচিত যদি তুমি cdমধ্যে inner, সিম্বলিক লিঙ্কটি ব্যবহার করে যাতে আপনার লজিক্যাল পরিশ্রমী ডিরেক্টরি ( pwd -L) আপনার থেকে পৃথক শারীরিক পরিশ্রমী ডিরেক্টরি ( pwd -P)। এই ক্ষেত্রে, cd ..আপনাকে আলাদা করে এনে দেবে outer না কারণ সেখানে আলাদা ..এন্ট্রি রয়েছে, তবে আপনার শেলটি আপনার লজিক্যাল ওয়ার্কিং ডিরেক্টরিটি ট্র্যাক করে চলেছে এবং আসল ..প্রবেশকে উল্লেখ না করে আপনাকে এক স্তর ছাড়িয়ে যাবে inner

এটি bashবিল্ট-ইন cdকমান্ডের অংশ হিসাবে উদাহরণস্বরূপ সরবরাহ করা একটি সুবিধা । এটির ..সাথে প্রকৃত এন্ট্রিতে পরিবর্তন করতে বলার মাধ্যমে আপনি এটিকে ওভাররাইড করতে পারেন

cd -P ..

যেখানে শারীরিক পথ ব্যবহার করার -Pনির্দেশ দেয় cd( pwdউপরের মতো)।


আহা, বিভ্রান্তি cdচেক করতে ব্যবহার করে আসে । সুতরাং, আমি ভুল হলে আমাকে সংশোধন করুন, ..সর্বদা শারীরিক পিতামাতার দিকে নির্দেশ করেন, যদি কোনও সিমলিংক ব্যবহার করে তবে ..এটি প্রকৃত (শারীরিক) পিতামাতার দিকে পরিচালিত হবে। বিভ্রান্তি কেবল cdডিরেক্টরিগুলিতে প্রবেশের সাথে সাথে সুখি হয়।
user98456

এটি সেকেন্ডের আচরণেরও ব্যাখ্যা করে। আপনাকে অনেক ধন্যবাদ.
user98456

3
@ থিফ্রাস্টাস ls -laiআপনাকে দেখায় যে /..এটি আবার মূল ডিরেক্টরি (আবার ওরফে /. বা /)। ফাইল সিস্টেমটি ভাঙা না থাকলে, অন্য কোনও ঘটনা যেখানে হওয়া উচিত নয় . == ..; এমনকি কোনও এফএস কোথাও মাউন্ট করা ..হলেও এটি (অস্থায়ী) পিতামাতার সঠিকভাবে আসে (তাই সেখানে কিছু জাদু চলছে, ..কেবল ফাইল সিস্টেমের টেবিলে একটি সাধারণ, স্থির প্রবেশ নয়)।
AnoE
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.