ইনোড নম্বর ব্যবহার করে লিনাক্সে একটি ফাইল সরান


15

আপনি যদি ইউনিক্স / লিনাক্সে বিশেষ অক্ষর সহ কোনও ফাইল তৈরি করেন touch \"la*, যেমন , আপনি এটি দিয়ে মুছে ফেলতে পারবেন না rm "la*। আপনাকে ইনোড নম্বরটি ব্যবহার করতে হবে (আপনি যদি \নামের পূর্বে যুক্ত করে থাকেন তবে আমি জানতে পারি, তবে আপনাকে ব্যবহারকারী হিসাবে অনুমান করতে হবে যে এটি ফাইল তৈরিতে ব্যবহৃত হয়েছিল)।

আমি আরএম এর জন্য ম্যানপেজটি পরীক্ষা করেছিলাম, তবে ইনোড নম্বরটির কোনও উল্লেখ নেই। করাও rm inodenumberকাজ করে না।

এর জন্য হুকুম কী?

উত্তর:


24

কিছু অন্যান্য পদ্ধতির মধ্যে রয়েছে:

বিশেষ চরিত্রগুলি এড়ানো:

[~] $ আরএম \ "লা \ *

ফাইন্ড কমান্ডটি ব্যবহার করুন এবং কেবলমাত্র বর্তমান ডিরেক্টরিটি অনুসন্ধান করুন। ফাইন্ড কমান্ডটি ইনোড সংখ্যাগুলি অনুসন্ধান করতে পারে এবং এতে একটি কার্যকর -deleteসুইচ রয়েছে:

[~] s ls -i
7404301 "লা *

[~]। সন্ধান করুন। -ম্যাক্সডেপথ 1-টাইপ চ-ইনুম 7404301
./"লা*

[~]। সন্ধান করুন। -ম্যাক্সডেপথ 1-টাইপ চ-ইনুম 7404301 -সিলিট
[~] s ls -i
[~] $

হেই, সন্ধানটি আমার পরামর্শের চেয়ে সহজতর হবে, আমি কখনই লক্ষ্য করিনি

অনুসন্ধানে অনেক দুর্দান্ত স্যুইচগুলি অনুসন্ধান করতে হবে, এটি বেশ সৎ হতে আমার সুইস সেনা ছুরির সরঞ্জাম :)
জন টি

t: ওহ তাই সত্য।
আকির

সোলারিসের "-ম্যাক্সডেপথ" বিকল্পগুলির "-ডিলিট" নেই।
গুথ্রি

আপনার -xdevবিকল্পটি অনুসন্ধান সীমাবদ্ধ করা উচিত যেহেতু অন্যান্য মাউন্ট করা ফাইল সিস্টেমগুলিতেও একই ইনোড নম্বরযুক্ত অপ্রাসঙ্গিক ফাইল থাকতে পারে।
জোনাস বার্লিন

5

হয়তো আমি কিছু মিস করছি, কিন্তু ...

rm '"la*'

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


ভাল, এটি কেবলমাত্র বর্তমান ডিরেক্টরিতে কাজ করবে তবে এটি উদ্বেগের জন্য কার্যকর কারণ। বোকা যে আমি মিস করেছি। তবুও ফাইলটি সরান না।
কেডিজিদেভ

3
অবশ্যই না. ফাইলটি কেবল তখনই সরিয়ে ফেলা হবে যখন এতে নির্দেশিত আরও কোনও ফাইলের নাম নেই এবং এটিতে কোনও প্রক্রিয়া খোলা নেই।
Ignacio Vazquez-Abrams

5

আপনি যদি সত্যিই এটি করতে চান - এবং আপনার ব্যবহারের ঘটনাটি আপনার একেবারেই প্রয়োজনের মতো দেখাচ্ছে না তবে আপনি ফাইল সিস্টেম ডিবাগিং সরঞ্জামগুলি চেষ্টা করতে পারেন। আপনি যদি সবকিছু হারাতে ইচ্ছুক হন তবে তা।

উদাহরণস্বরূপ, ext2 / debugfs3/4 এর জন্য কমান্ডটিতে একটি "কিল_ফিল" বিকল্প রয়েছে যা মনে হয় একটি ইনোড নেবে। অন্যান্য প্রতিক্রিয়াগুলিতে উল্লিখিত হিসাবে, এটি আপনার ফাইল সিস্টেমকে ক্ষতিগ্রস্থ করবে , কারণ সেখানে অস্তিত্বহীন ফাইলের দিকে নির্দেশিকা নির্দেশিকা থাকবে। fsckপরে চালানো এটি মেরামত করতে সক্ষম হতে পারে। আপনি মাউন্ট করা ফাইল সিস্টেমে এটি করতে পারবেন এটি অসম্ভব।

তবে আমি দৃ strongly়ভাবে আপনাকে পরামর্শ দিচ্ছি যে আপনি যথাযথ পলায়ন / উদ্ধৃতি rmব্যবহার করুন এবং পূর্ববর্তী প্রতিক্রিয়া অনুযায়ী উল্লিখিত নিয়মিত কমান্ডের সাথে এ জাতীয় ফাইলগুলি মুছুন - এবং rm -i* যেমন সুরক্ষিত অক্ষরযুক্ত ফাইলের নামগুলি ব্যবহার করার সময় অতিরিক্ত সুরক্ষার জন্য ব্যবহার করুন


1

আমি "বিশেষ অক্ষরগুলি clriএড়িয়ে চলুন " পদ্ধতির দৃ strongly়তার সাথে পরামর্শ দিচ্ছি, আপনি যখন ঠিকঠাক ফাইল সিস্টেমের দুর্নীতি চান তখন সর্বদা কমান্ড থাকে।


2
এটি লক্ষ করা উচিত যে clriসাধারণত কেবল ওরাকল সিস্টেমে উপস্থিত থাকে (যেমন সুনোস)।
can-ned_food 6


1

আমার যে চ্যালেঞ্জ ছিল তা হ'ল একটি ফাইল নাম মুছে ফেলা যা ড্যাশ দিয়ে শুরু হয় - আরএম সর্বদা এটি হোস্ট-নেম হিসাবে ব্যাখ্যা করতে চায়। আমি এটি ব্যবহার করে সমাধান করেছি:

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