আপনি পারবেন না, ডিরেক্টরি তৈরি করা ব্যবহারকারীকে পিতামাতার ডিরেক্টরিতে লেখার পর্যাপ্ত অনুমতি আছে।
পরিবর্তে inotify
লিনাক্স কার্নেলের দ্বারা সরবরাহিত সিস্টেম কলগুলির পরিবারকে ডিরেক্টরিটি তৈরি করা (অথবা optionচ্ছিকভাবে) ডিরেক্টরিটি তৈরি করা হলে mv
ডিরেক্টরিটি তৈরি করতে (এবং optionচ্ছিকভাবে-বিড) ডিরেক্টরিটি দেখতে পারেন toshop
mv
rm
এই ক্ষেত্রে আপনার যে ইউজারস্পেস প্রোগ্রামটি প্রয়োজন তা হ'ল inotifywait
(উপস্থিত থাকলে inotify-tools
প্রথমে প্রয়োজনে ইনস্টল করুন)।
অনুমান করি ডিরেক্টরিটি ডিরেক্টরিতে বাস shop
করবে /foo/bar
, আসুন /foo/bar/shop
তৈরির জন্য একটি মনিটরিং সেট করুন এবং rm
তত্ক্ষণাত্ যদি তৈরি করা হয়:
inotifywait -qme create /foo/bar | \
awk '/,ISDIR shop$/ { system("rm -r -- /foo/bar/shop") }'
inotifywait -qme create /foo/bar
ঘড়ির /foo/bar
যেকোনো ফাইল / ডিরেক্টরি যে কোনো জন্য অর্থাত ঘড়ি নির্মিত হতে পারে জন্য ডিরেক্টরি create
ঘটনা
যদি তৈরি করা হয়, awk '/,ISDIR shop$/ { system("rm -r -- /foo/bar/shop") }'
ফাইলটি ডিরেক্টরি হিসাবে ঘটে কিনা তা পরীক্ষা করে এবং নামটি shop
( /,ISDIR shop$/
), যদি থাকে rm
তবে ডিরেক্টরি ( system("rm -r -- /foo/bar/shop")
)
ডিরেক্টরি /foo/bar
থেকে অপসারণের জন্য আপনাকে যে কমান্ডটি ডিরেক্টরিতে লেখার অনুমতি রয়েছে সে হিসাবে চালনা করতে হবে shop
।
যদি mv
আপনিও নজরদারি- পরিচালনা অপারেশন করতে চান , moved_to
ইভেন্টের জন্য ঘড়িও যুক্ত করুন :
inotifywait -qme create,moved_to /foo/bar | \
awk '/,ISDIR shop$/ { system("rm -r -- /foo/bar/shop") }'
কেবল খেয়াল করার জন্য, আপনি যদি নামের জন্য কোনও ডিরেক্টরি অনুসন্ধান না করে ফাইল খুঁজছেন shop
:
inotifywait -qme create /foo/bar | \
awk '$NF == "shop" { system("rm -- /foo/bar/shop") }'
inotifywait -qme create,moved_to /foo/bar | \
awk '$NF == "shop" { system("rm -- /foo/bar/shop") }'