मैंने अभी एक भ्रामक त्रुटि पकड़ी है:
rm: cannot remove `xxx/app/cache/prod': Directory not empty
जो निम्न आदेश के कारण था:
rm -rf $cache_dir/*
जहां $cache_dirके रूप में परिभाषित किया गया हैxxx/app/cache
इसलिए मैं इसे देखता हूं: dir rmमें सब कुछ हटा दिया cache/prod, फिर cache/prodनिर्देशिका को हटाने का प्रयास करने से ठीक पहले - एक अन्य कार्यक्रम ने इसके अंदर एक फ़ाइल / एक निर्देशिका बनाई जिससे यह rmविफलता का कारण बना ।
क्या मेरी धारणा सही है?
rm -rfथ्रेड सुरक्षित होने से कोई लेना-देना नहीं है : यदि आप इसे एक ही निर्देशिका में कई बार समवर्ती रूप से चलाते हैं, तो निर्देशिका हटा दी जाती है। यह rm -rपरमाणु नहीं होने के बारे में है ।
rmआह्वान के रूप में मानते हैं , तो हम धागा-सुरक्षा के बारे में बोल सकते हैं। लेकिन वैसे भी, यह कुछ भी नहीं बदलता है
rm -rपरमाणु नहीं है। यदि आप यह सुनिश्चित करना चाहते हैं किrm -rfदौड़ने के दौरान निर्देशिका में कोई और फाइल न बने , तो आप इसे पहले नाम बदल सकते हैं, फिर नाम बदलने वाली निर्देशिका को हटा सकते हैं।