এটা অনুমেয় যে কেউ যদি বলেন তবে এ জাতীয় অবনতি তৈরি হতে পারে
mkdir /tmp/strange_dir
এমন সময়ে যখন ফাইল সিস্টেমটি পূর্ণ ছিল (যেমন কোনও মুক্ত ব্লক ছিল না)। strange_dir
ডিরেক্টরি এন্ট্রি তৈরি করা এখনও (সম্ভবত) সম্ভব /tmp
হত, কারণ এর জন্য ইতিমধ্যে বরাদ্দকৃত ব্লকগুলির মধ্যে কেবলমাত্র কয়েকটি বাইট অব্যবহৃত স্থানের প্রয়োজন হবে /tmp
। তবে strange_dir
নিজের জন্য একটি ব্লক বরাদ্দ করা অসম্ভব হত এবং তাই এটি .
এবং ..
প্রবেশিকা তৈরি করা অসম্ভব হত । এই জাতীয় ক্ষেত্রে, আমি mkdir
প্রোগ্রামটি strange_dir
ডিরেক্টরি এন্ট্রি মুছে ফেলার (লিঙ্কমুক্ত) অপসারণ আশা করব /tmp
, তবে সফ্টওয়্যারটি সর্বদা আমার প্রত্যাশা মতো করে না।
অন্যান্য সম্ভাবনার:
mkdir
strange_dir
ডিরেক্টরি এন্ট্রি /tmp
তৈরি করতে .
এবং ..
প্রবেশ এবং এন্ট্রিগুলির মধ্যে বাধা পেয়েছে (সমাপ্ত) strange_dir
। আমি mkdir
বাধাপ্রাপ্ত সিগন্যালটি (যেমন, Ctrl+ C) ধরা এবং নিজের পরে পরিষ্কার করার আশা করব, তবে সফ্টওয়্যার এবং এটি সম্পর্কে আমার প্রত্যাশা সম্পর্কে উপরে দেখুন। এবং, অবশ্যই, এটি কিল সংকেত বা কোনও সিস্টেম ক্র্যাশ ধরতে পারে না।
rmdir
লিঙ্ক মুক্ত করার মধ্যে বিঘ্নিত পেয়েছিলাম (সমাপ্ত) .
এবং ..
এন্ট্রিগুলির strange_dir
এবং লিঙ্ক মুক্ত করার strange_dir
ডিরেক্টরিতে এন্ট্রি /tmp
।
কেউ আশা করতে পারে যে এটি fsck
ক্র্যাশের পরে চালিতগুলি সনাক্ত করে strange_dir
এবং এটি সম্পর্কে কিছু করবে, তবে ....
হ্যাঁ, অবশ্যই, যদি একটি ডিরেক্টরি 0 একটি আকার আছে, তার মানে এটা বরাদ্দ কোন ব্লক আছে, সেইজন্য এবং এটা কোনো বিষয়বস্তু (মত এমনকি সামান্য বেশী থাকতে পারে না .
এবং ..
)।
আমি cd ..
যখন নেই তখন কেন কাজ করবে তা আমি পুরোপুরি বুঝতে পারি না ..
, তবে কমান্ড লাইন ইন্টারফেসটি ব্যবহার করে ডিরেক্টরিটি ভিতরে থেকে সরানোর ক্ষেত্রে দেখুন । এটা দেখা যাচ্ছে যে
এমকেডির / টিএমপি / অদ্ভুত_ডির
সিডি / টিএমপি / অদ্ভুত_ডির
ls -lai normal স্বাভাবিক দেখায় । এবং .. , ইনোড নম্বর সহ।
rmdir / tmp / আজব_ডির
pwd ← এখনও রিপোর্ট / টিএমপি / অদ্ভুত_ডির
ls -lai empty খালি ডিরেক্টরি দেখায়: মোট 0
ls -ldi ows শো । আগের মতো একই ইনোড নম্বর সহ,
তবে 0 আকার এবং 0
সিডি একটি লিঙ্ক গণনা সহ .. t আপনাকে আবার / টিএমপি রাখে
এই পরিস্থিতি এই প্রশ্নের যে কোনওটির সাথে পুরোপুরি সাদৃশ্য নয়, কারণ, এই ক্ষেত্রে অন্যান্য ক্ষেত্রে strange_dir
সরিয়ে দেওয়া হয়েছে /tmp
। তবে এটি সুপারিশ করে যে cd ..
এটি বিশেষ, এবং কখনও কখনও কাজ করে যখন কোনও স্পষ্ট প্রক্রিয়া নেই যার দ্বারা এটি সম্ভব হয়েছিল।
পিডাব্লুডি এবং / বিন / পিডাব্লুডির মধ্যে অদ্ভুত পার্থক্য এটি কীভাবে কাজ করবে তা সম্ভাবনার পরামর্শ দেয়। শেলটি আপনার বর্তমান ডিরেক্টরিটি ট্র্যাক করে। এটি হ'ল এটি আপনার বর্তমান ডিরেক্টরিটি কী তা সম্পর্কে সেরা অনুমানের উপর নজর রাখে। এটি প্রতীকী লিঙ্ক এবং কৌশলগুলি দ্বারা বোকা হয়ে যায়
mkdir /tmp/foo
cd /tmp/foo
mv /tmp/foo /tmp/foobar
অর্থাত, এটি এখনও মনে হবে যা বর্তমান ডিরেক্টরির হয় /tmp/foo
, এবং তাই যে কি pwd
রিপোর্ট হবে, কিন্তু pwd -P
এবং /bin/pwd
রিপোর্ট হবে /tmp/foobar
। সুতরাং, এটি হতে পারে যে, যদি chdir("..")
ব্যর্থ হয়, শেলটি আপনার পরবর্তী স্তরের আপ ডিরেক্টরিটি কী হতে পারে তা গণনা করে এবং সেখানে একেবারে চলে যায়। (তবে আমি সন্দেহ করি যে এর চেয়ে আরও অনেক কিছু আছে))
stat
ডিরেক্টরি হয়; নেইcd strange_dir; stat -l .
কিছু দিতে?