পটভূমিতে খুঁজে এবং xargs চলমান


4

আমি এই কমান্ডটি ব্যাকগ্রাউন্ডে চালাতে চাই কারণ প্রক্রিয়াটি দীর্ঘ সময় নিতে পারে। আমি কিভাবে এটি একটি ব্যাকগ্রাউন্ড প্রক্রিয়া পাঠাতে পারেন?

find /tmp/ -type f -mtime +3 | xargs rm -Rf

এটা কাজ করে না:

find /tmp/ -type f -mtime +3 | xargs rm -Rf &

আমি পরিবর্তে এটা কিভাবে করতে পারি?


অপেক্ষা করুন, আপনার দ্বিতীয় উদাহরণ উচিত কাজ (স্পেস সমস্যা সমস্যা slhck উল্লেখ ছাড়া)।
derobert

উত্তর:


8

আপনি যদি পটভূমিতে উভয়ই চালাতে চান তবে সেগুলি একটি উপশহরে রাখুন:

(find /tmp/ -type f -mtime +3 | xargs rm -Rf) &

কিন্তু দয়া করে, এটা করো না । বংশীধ্বনিতুল্য find আউটপুট xargs আপনি যদি নিম্নলিখিত বিকল্পগুলি ব্যবহার না করেন তবে এটি অনিরাপদ, যা GNU এবং BSD এ সমর্থিত find এবং xargs:

find … -print0 | xargs -0 …

যদি find আপনার নামের মধ্যে স্পেস দিয়ে ফাইলগুলি ফেরত পাঠানো হয়েছে - এমনকি বুদ্ধিমান ছাড়াও - ত্রুটিপূর্ণভাবে ভুল ফোল্ডার মুছে ফেলুন। সাবধানে পড়া find ম্যানুয়াল এবং ফাইল মুছে ফেলার বিষয়ে বিভাগ আরও তথ্যের জন্য.

আপনার ক্ষেত্রে সবচেয়ে নিরাপদ উপায় হ'ল:

find /tmp/ -type f -mtime +3 -delete &

2

ফাইল সিস্টেমে বসানো হার্ডওয়্যারের উপর নির্ভর করে সমান্তরালভাবে মুছে ফেলার জন্য দ্রুত হতে পারে:

( find . | parallel -X rm ) &

বিপরীতে xargs GNU সমান্তরাল স্থান, "এবং" ফাইলের নামের সাথে সঠিকভাবে ডিল করে। শুধুমাত্র যদি আপনার কাছে নতুন নাম ধারণ করে ফাইল নাম থাকে তবে আপনাকে print -0 / -0 প্রয়োজন হবে।

10 সেকেন্ড ইনস্টলেশন:

wget -O - pi.dk/3 | bash

একটি দ্রুত ভূমিকা জন্য ভূমিকা ভিডিও দেখুন: https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1

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