টাচ: touch foo 'টাচ করতে পারে না: এ জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই


21

এই ত্রুটি বার্তায় স্পর্শটি ব্যর্থ হওয়ার কারণ কী হতে পারে?

touch: cannot touch `foo': No such file or directory

নোট করুন যে ভুল অনুমতিগুলির কারণে একটি ত্রুটি আলাদা দেখাচ্ছে:

touch: cannot touch `foo': Permission denied

উত্তর:


21

নিম্নলিখিত ক্রম এই ত্রুটি বার্তার কারণ:

$ mkdir foo
$ cd foo

অন্য টার্মিনালে:

$ rm -r foo

পূর্ববর্তী টার্মিনালে:

$ touch x
touch: cannot touch `x': No such file or directory

অবশ্যই, অন্যান্য ইভেন্টগুলি যে কোনও প্রক্রিয়াটির বর্তমান ওয়ার্কিং ডিরেক্টরি (সিডাব্লুডি )কে অকার্যকর করার ফলে সেখানে এই ফাইলটি তৈরি করার চেষ্টা করে তাও এই ত্রুটি বার্তা দেয়।


2
আমার ক্ষেত্রে, এটি একটি ভুল কনফিগার্ড গ্লাস্টারএফএস মাউন্ট পয়েন্টের কারণে ঘটছিল, তবে আমি সাধারণ বিষয় সম্পর্কে আগ্রহী ছিলাম যে কারণে এটি ঘটবে। এই ধরণের প্রশ্নটি কি আসলেই কোনও ক্লাসে হোমওয়ার্কের সমস্যা হবে?
লরিন হচস্টিন

3
সাধারণ কেসটি বর্তমান ডিরেক্টরিটি বিদ্যমান নেই। ম্যাক্সচ্লেপজিগের উদাহরণ হিসাবে যেমন মুছে ফেলা হয়েছে তা বাদ দিয়ে, এটি কেবলমাত্র একটি খারাপ ব্যবহারের ফাইলসিস্টেম (আপনার ক্ষেত্রে) এর মতো অদ্ভুত পরিস্থিতিতে ঘটতে পারে, বা সেলইনক্সের মতো কোনও সুরক্ষা ব্যবস্থা ডিরেক্টরিটি অদৃশ্য করে তুলেছে (আমি জানি না যে সেলইনাক্স আসলে উত্পাদন করতে পারে কিনা) এই প্রভাব)।
গিলস 'অশুভ হওয়া বন্ধ করুন'

@ অ্যালারিন: আচ্ছা, ইউনিভার্সিটির একটি ইউনিক্স পরিচিতি কোর্সে আমরা হোমওয়ার্ক অ্যাসাইনমেন্টের অংশ হিসাবে এই জাতীয় প্রশ্ন জিজ্ঞাসা করেছি (কারণ উদাহরণস্বরূপ এনএফএসের সমস্যা একইরকম ত্রুটির বার্তায় প্রকাশিত হতে পারে)। কৌতুহল থেকে
সবেমাত্র

3
মূল উত্তরে, অন্য টার্মিনালের প্রয়োজন নেই: rmdir ../fooএকই টার্মিনালে কাজ করা উচিত। ফাইল সিস্টেম ভুল আচরণ ছাড়া আরেকটি সম্ভাবনা: ln -s directory-that-doesnt-exist/foo foo; touch foo
মুহুর্ত

আমার মনে হচ্ছে আপনার "এইচএম, হোমওয়ার্ক প্রশ্ন" সম্পাদনা করা উচিত? উত্তরের বাইরে .... এটা সত্যিই খুব আপত্তিকর। আমি এই খুব পৃষ্ঠায় আছি কারণ এটি আসলে আমার কম্পিউটারে ঘটেছিল। কিন্তু এই উত্তরটি একেবারেই সমাধান করে না। এটি একটি এনএফএস সমস্যা ছিল যা রিবুট করা ঠিক হয়ে গেছে তবে আমি অন্তর্নিহিত কারণটি চাই।
কোডেটাকু

4

আমার জন্য এটি এমন একটি সিমিলিংকে লেখার চেষ্টা করছিল যা কোনও ফাইলের দিকে ইঙ্গিত করে যা আর নেই:

$ ln -s ~/doomed/file ~/mysymlink
$ rm ~/doomed/file
$ touch ~/mysymlink
$ touch: cannot touch `mysymlink': No such file or directory

ঐটা এটা ছিল!! এখন বোবা লাগছে! ডিরেক্টরিটিতে কেবল "ls -la" করার পরে ফাইলটি তাৎক্ষণিকভাবে দেখানোর কথা ছিল। এটি "রেজোলভ.কনফ" ছিল, যে জায়গায় এমন একটি জায়গায় ইঙ্গিত করেছিল যে ক্র্যাশ হওয়া আপডেটের কারণে সেখানে ছিল না ..
স্টলভিক

1

বার্তাটি ট্রিগার করার আরেকটি (সহজ) উপায়:

$ mkdir foo
$ touch foo/bar/baz.txt
touch: cannot touch 'foo/bar/baz.txt': No such file or directory

মূলত অস্তিত্বহীন ফোল্ডারে একটি ফাইল তৈরি করার চেষ্টা করা হচ্ছে।


0

সম্ভবত এটি ভবিষ্যতে কাউকে সহায়তা করবে:

আমার ফোল্ডারে থাকা একমাত্র ফাইলটি সরিয়ে দিলে আমি এই একই সমস্যাটি পেয়েছি git rm। এইভাবে গিটটি আমি যে ফোল্ডারে ছিলাম সেটিকে সরিয়ে ফেলেছে এবং ফাইল তৈরির যে কোনও প্রচেষ্টা এই ত্রুটিটিকে ট্রিগার করে কারণ ফোল্ডারটি আর নেই। সুতরাং আমাকে ফোল্ডারটি ম্যানুয়ালি পুনরায় তৈরি করতে হয়েছিল, এটিতে গিয়ে touchকমান্ডটি সফলভাবে চালাতে হয়েছিল ।

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