উত্তর:
আপনাকে ম্যানুয়ালি ফাইলগুলি সন্ধান করতে হবে যা সম্ভবত এটি ছিল deluser
।
দয়া করে মনে রাখবেন --remove-all-files
হয় না হিসাবে একই rm -r /home/user
। পরেরটি কেবল হোমডিরকে সরিয়ে দেয় (এর মধ্যে এটি ব্যবহারকারীর মালিকানাধীন ফাইলগুলি অন্তর্ভুক্ত থাকতে পারে, যদিও তা সাধারণত নয়), প্রাক্তন সিস্টেম থেকে ব্যবহারকারীটির মালিকানাধীন সমস্ত ফাইল সরিয়ে দেয় । অন্তত ম্যানপেজটি যদি বিশ্বাস করতে হয় ।
জিএনইউর find
একটি -user
পরীক্ষা রয়েছে, যাতে আপনি find / -user xxx
ব্যবহারকারীর মালিকানাধীন সমস্ত ফাইল সন্ধান করতে পারেন xxx
। xxx
ব্যবহারকারীর নাম হবে এবং (এবং এই ক্ষেত্রে করতে হবে ব্যবহারকারী হিসাবে আর বিদ্যমান নেই, আছে) হতে ব্যবহারকারীর সাংখ্যিক আইডি। find
এছাড়াও একটি -delete
বিকল্প আছে, তাই
find / -user xxx -delete
এটি করা উচিত, যদিও আমি একই সাথে সমস্ত বিকল্পের সাথে কমান্ডটি পরীক্ষা করেছি না।
সম্পাদনা: সংখ্যাসূচক আইডি: আমি কেন বললাম যে আপনি একটি সংখ্যার আইডি ব্যবহার করতে হবে কারণ আপনি ইতিমধ্যে ব্যবহারকারীকে মুছে ফেলা হিসাবে, তার প্রবেশকরণটি /etc/passwd
মুছে ফেলা হয়েছে (এটির সাথে অন্যান্য ব্যবহারকারীর আইডি, তার ব্যবহারকারীর নামও ছিল) ।
সুতরাং, আপনি যদি তার বাড়ির গাজীটি সরিয়ে না ফেলে থাকেন তবে একটি সহজ উপায় হ'ল সেই বাড়ির মালিকের আইডি অনুসন্ধান করা:
stat -c %u /home/user/
( stat
ফাইল সিস্টেমের ডেটা পড়ার একটি সরঞ্জাম its এটির আউটপুট কীভাবে লিখতে হয় তা -c %u
জানায় stat
, এখানে আমি কেবল ব্যবহারকারী আইডি আউটপুট করতে বলছি)
যদি আপনি ওয়ান-লাইনার পছন্দ করেন তবে আপনি উভয় কমান্ড চেইন করতে পারেন:
find / -user $(stat -c %u /home/user/) -delete
(অবশ্যই আপনি রাখতে চান -delete
যে কিছুই নেই তা নিশ্চিত করেই আপনি প্রথমে এটি চালানো পছন্দ করতে পারেন, এবং বাকী কমান্ডটি লিখেছেন এমন কোনও ভুল ধরা দিতে। পুনরাবৃত্তি মোছার অপারেশনগুলি করার সময় ভুলগুলি ম্লান হওয়ার /
জন্য নয়) হৃদয়ের.)
rm
ব্যবহার করে আউটপুটটি পাস করা xargs
(তবে এটি যদি খুব বেশি ফলাফল পাওয়া যায় তবে সম্ভবত এটি যুক্তির সীমাতে আঘাত করবে), তবে -depth
তথ্য ম্যানুয়ালটির উদ্ধৃতি দিয়ে দেখুন : "যদি আপনার` find "কমান্ড ডিরেক্টরিগুলি সরিয়ে দেয় তবে আপনি এটি পেতে পারেন "সন্ধান করুন" যখন এখন সরিয়ে ফেলা একটি ডিরেক্টরিতে পুনরাবৃত্তি করার চেষ্টা করে আপনি একটি উদ্দীপনাজনিত ত্রুটি বার্তা পান `-পথ 'বিকল্পটি ব্যবহার করা সাধারণত এই সমস্যার সমাধান করবে" " (এবং পরে একই বিভাগে, "(lete -ডিলেট 'যাইহোক way -পথ' বোঝায়)")
find: 'user' is not the name of a known use
/etc/passwd
ব্যবহারকারী এবং তার আইডি তালিকাভুক্ত কোনও ম্যাপিং নেই । আপনাকে সংখ্যার আইডিটি খুঁজতে হবে। করুন stat -c %u /home/user/
, এটি আপনাকে সংখ্যার ব্যবহারকারী আইডি দেবে, xxx
উপরের মতো এটি ব্যবহার করুন ।
আরেকটি বিকল্প adduser
হ'ল ব্যবহারকারীকে পুরাতন ইউআইডি নির্দিষ্ট করে পুনরায় যুক্ত করা এবং তারপরে deluser
আবার চালানো , --remove-all-files
পতাকা সহ এবার ।
ধরুন, উদাহরণস্বরূপ, ব্যবহারকারীর ব্যবহারকারীর নাম alice
এবং ইউআইডি ছিল 1001
:
sudo adduser --uid 1001 alice
sudo deluser --remove-all-files alice
gnu ফাইন্ডে বিকল্পগুলি -নিউসার এবং -নোগ্রুপ রয়েছে, এটি সন্ধান করুন man find
। এই বিকল্পগুলির সাহায্যে আপনি আপনার ফাইল সিস্টেমে সমস্ত ফাইল সন্ধান করতে পারেন যা / ইত্যাদি / পাসডাব্লুডিতে কোনও সম্পর্কিত ব্যবহারকারী নেই। আপনি যদি নিজের মুছে ফেলা ব্যবহারকারীদের পুরানো উয়েড সহ কোনও নতুন ব্যবহারকারী তৈরি না করেন তবে এই অনাথ ফাইলগুলি খুঁজে পাওয়ার সম্ভাবনা।
তবে, আপনি আরও ফাইলগুলি খুঁজে পেতে পারেন - যারা কেবল আপনার মুছে ফেলা ফাইলগুলির সাথে সম্পর্কিত।
-exec
যদি নিজের মোছার উপর আরও কিছুটা নিয়ন্ত্রণ চান তবে আপনি কাস্টম আরএম কমান্ড চালানোর জন্য সন্ধানের বিকল্পটিও ব্যবহার করতে পারেন, তবে আমি এর আগে কখনও ওয়াইএমএমভি চেষ্টা করি নি।